Üks OpenVPN-jaotur, kolm LAN-i: aadressiplaan ja iroute-failid
Neli eraldiseisvat prefiksit, üks tuumamarsruut haru kohta, üks iroute omaniku kohta. Töökord kolme kohaga jaoturile, mis ebaõnnestub vaikselt, kui nimi on vale.
Kolm privaatset LAN-i saavad kohtuda ühes jaoturis, ilma et ükski koht õpiks teiste sisemust tundma, ja kogu lahendus toetub neljale lühikesele konfiguratsiooniotsusele. Seda ei pane tööle eksootiline protokolliomadus, vaid aadressiplaan, mida keegi ei pea oletama, pluss kliendipõhised marsruudid, mis ütlevad jaoturile, milline haru millist prefiksit omab. Eksige kummaski neist ja tunnel tuleb ikkagi üles, ning just see teebki rikke segadusttekitavaks.
Käige sammud järjekorras läbi. Igaüks sõltub eelmise sammu plaanist ja ükski ei nõua uut sertifitseerimisasutust.
Alustage plaanist, mida keegi ei pea oletama
Kirjutage üles neli mittelõikuvat prefiksit enne, kui puudutate konfiguratsioonifaili: jaoturi enda LAN, iga haru LAN ja rändklientidele antav pool. Mittelõikuvus hoiab kõik muu lihtsana, sest kattuvad vahemikud muudavad marsruutimise pikima vastavuse mõistatuseks, mida ükski kliendipõhine konfiguratsioon ei paranda. Seejärel kinnitage, milline masin on iga LAN-i vaikimisi lüüs, sest haru ruuter, mis ei ole oma LAN-i lüüs, vajab kaugmarsruute hoopis mujale paigaldatuna. Lõpuks määrake autenditud nimed, mis iga haru identifitseerivad, sest nende nimede järgi otsitakse kliendipõhiseid faile.
Näidiskava hoiab pooli kolmest LAN-ist kaugele. Teie oma erineb ja ainus range reegel on, et kaks vahemikku ei tohi kattuda.
Hub LAN 172.20.0.0/24
Branch A LAN 172.21.0.0/24
Branch B LAN 172.22.0.0/24
VPN pool 10.77.0.0/24
identity branch-a owns 172.21.0.0/24
identity branch-b owns 172.22.0.0/24Öelge jaoturi tuumale, kus harud asuvad
Jaotur vajab iga haru kohta kahte infot: tuumamarsruuti, mis saadab prefiksi tunneliseadmesse, ja iroute kirjet, mis ütleb OpenVPN protsessile, milline klient seda omab. Ainult tuumamarsruut toimetab paketid tunnelisse ja peatub seal, sest deemon peab veel otsustama, milline partner need saab. Ainult iroute kirje jätab need paketid tuuma ilma marsruudita, mida järgida. Mõlemad read kuuluvad konfiguratsiooni, mille deemon tegelikult laadib, ja seda tasub kontrollida enne muu silumist.
dev tun
topology subnet
server 10.77.0.0 255.255.255.0
disable-dco
route 172.21.0.0 255.255.255.0
push "route 172.20.0.0 255.255.255.0"
client-config-dir /etc/openvpn/ccd
route 172.22.0.0 255.255.255.0Lülitage klient-kliendiga välja, kui tuum peab olema jõustamispunkt. See valik edastab partnerite liiklust deemoni sees, mis on mugav ja tähendab ka, et teie edastusreeglid ei näe seda voogu kunagi. Kõik allpool eeldab, et tuum näeb iga paketti harude vahel.
Andke igale harule vajalikud marsruudid
Iga haru vajab marsruute teiste harude ja jaoturi LAN-i jaoks ning ei vaja ühtegi oma ühendatud LAN-i jaoks. Lükake kaugprefiksid jaoturist välja, selle asemel et neid igasse ruuterisse kleepida, nii et neljas koht hiljem tähendab ühte uut kliendipõhist faili nelja muudatuse asemel. Kliendipõhine fail kannab ka rida iroute, mis hoiab omandi ja teavituse samas kohas. Tehke kataloog ja selle failid serveri õigustemudeli järgi loetavaks, muidu otsing ebaõnnestub ilma teateta.
# /etc/openvpn/ccd/branch-a
iroute 172.21.0.0 255.255.255.0
push "route 172.22.0.0 255.255.255.0"Neljas koht järgib sama mustrit: eraldi autenditud nimi, omatav prefiks, tuumamarsruut jaoturis, iroute kirje ja teavitused ainult neile kohtadele, kellel on lubatud selleni jõuda.
Testige mõlemas suunas enne, kui nimetate selle valmis
Lubage IPv4 edastamine kõigil kolmel ruuteril ja kinnitage seejärel, et tulemüür lubab kavandatud voogusid mõlemas suunas, sest ühesuunaline test läbib katkise tagasiteega sagedamini, kui keegi ootab. Kohtade vahel pole lähtetõlget vaja ja just algse lähte säilitamine võimaldab igal harul rakendada päringule oma poliitikat.
Testige ühe haru LAN-i hostist teise haru teenuseni, seejärel pöörake suund ümber ja testige harust jaoturi LAN-i. Need kolm tulemust on erinevad tõendid ja ükski neist ei eelda teisi. Kui haru ruuter ei ole oma LAN-i vaikimisi lüüs, paigaldage kaugprefiksid tõelisele lüüsile ja lisage ka pool, kui tunnelikliendid peavad alustama ühendusi sellesse LAN-i.
Kirjutage plaan, kliendipõhised failid ja tulemüürireeglid ühe dokumendina üles, sest järgmist koha lisamist hinnatakse nende vastu.
Lahendus püsib koos, sest igal kihil on üks ülesanne: plaan hoiab prefiksid unikaalsetena, tuumamarsruut liigutab pakette, iroute nimetab omaniku ja tulemüür otsustab, mis on lubatud. Kui midagi katki läheb, on see loend ka selle kontrollimise järjekord.