Teise alavõrgu lisamine töötavale saidi-vahelisele tunnelile võtab ühes lahenduses viis minutit ja teises peaaegu kogu pärastlõuna. Kui tunnel paigaldab marsruudid nimetatud prefiksitele, lisate marsruudi ja liiklus järgib seda. Kui see läbiräägib ühe fikseeritud selektoripaari, jääb uus prefiks kaitsmata, kuni mõlemad pooled lepivad kokku sobivas paaris. Kolm asja otsustavad juhtumi: mida kummagi poole konfiguratsioon tegelikult kirjeldab, kas läbiräägitud liiklus kitseneb väikseima sobiva paarini ja kellele kuulub uue vahemiku tagasitee.

Lugege tuuma, mitte oleku silti

Tunnel, mis teatab ühendusest, on paigaldanud vähemalt ühe alamassotsiatsiooni, kuid mitte tingimata selle, mida arvate. Linuxis näitab tuum, mida rakendatakse: ip xfrm policy loetleb selektoripaarid ja swanctl --list-sas (või vanem ipsec statusall) näitab, milles pooled kokku leppisid, sealhulgas liiklusselektorid kummaski suunas. Kui uut prefiksit kummaski pole, on see kaitsmata, ükskõik mida konfiguratsioonifail ütleb.

Võrrelge seda marsruuditabeliga. Marsruudipõhises lahenduses on tunnelseade kaitstud prefiksite järgmine hüpe. Poliitikapõhises lahenduses pole sageli kaugvõrgu jaoks eraldi marsruuti, ainult vaikemarsruut, sest liiklust valib poliitika, mitte tabel.

Poliitikapõhised tunnelid: mõlemad pooled peavad uue prefiksi loetlema

strongSwan terminites elab selektor alamkonfiguratsioonis local_ts ja remote_ts all, leftsubnet ja rightsubnet järeltulijates. Uus prefiks peab mõlemal pool peegelduma: mida sait A nimetab kohalikuks, seda sait B nimetab kauged. Erinevus annab harva puhta vea. Pooled kitsenevad lõikumiseni, vana prefiks töötab edasi ja ainult uus ebaõnnestub vaikselt.

swanctl --load-conns
swanctl --initiate --child <child-name>
swanctl --list-sas
ip xfrm policy

pfSense või OPNsense puhul tähendab see teist Phase 2 kirjet, mis seob uue kohaliku alavõrgu uue kaugvõrguga, ja seejärel rakendamist. Jätke vana kirje alles; asendamine liigutab algse alavõrgu selle asemel, et seda lisada. Kui olemasolev Phase 2 katab juba supervõrku nagu 0.0.0.0/0 või kokkuvõetud vahemikku, ärge lisage kõrvale kitsamat kirjet: kattuvad selektorid paigaldavad võistlevad poliitikad ja hindamisjärjekord otsustab võitja.

IKEv1 teeb igast alavõrgupaarist oma Phase 2 ja pool, mis võtab ühe paari vahetuse kohta, jätab ülejäänud kõrvale. IKEv2 suudab ühes alamosas kanda mitut selektoripaari, kuid ainult siis, kui mõlemad rakendused need vastu võtavad. Loend swanctl --list-sas juurest on tõde; see, mille te trükkisite, on palve.

Marsruudipõhised tunnelid: marsruut on poliitika

XFRM-liides või VTI-seade kannab liiklust marsruuditabeli järgi. Suunate uue prefiksi mõlemas saidis seadmele ja rakendub liidese teisendusega seotud olek. Sünkroonida pole ühtki selektoripaari, seepärast skaleerub see lahendus alavõrkude kasvades paremini. strongSwani edastusjuhend käsitleb tuuma poolt üksikasjalikumalt.

ip route add 192.168.60.0/24 dev xfrm0
ip route get 192.168.60.10

WireGuard läheb kaugemale. AllowedIPs on korraga krüpto lubatud loend ja wg-quick kaudu marsruuditabeli kirje. Lisage prefiks ainult ühele poolele ja saate käepigistuse, väljuvad paketid ja vaikuse, sest kaugpool viskab paketid, mille allikas pole selle loendis. Vorm wg set asendab kogu loendi, seega korrake prefiksid, mis juba töötasid, muidu lõikate need maha:

wg set wg0 peer <PUBKEY> allowed-ips 192.168.10.0/24,192.168.60.0/24
ip route add 192.168.60.0/24 dev wg0

See teine käsk pole valikuline, kui kasutasite wg set asemel wg-quick. Tuum võtab uue loendi kohe vastu, kuid miski ei lisa sellele marsruuti, seega kohalikult loodud liiklus väljub endiselt vaikelüüsist. See on kõige levinum põhjus, miks uus WireGuard-alavõrk töötab tunneli hostist, mitte sülearvutist.

Tagasitee ebaõnnestub sagedamini kui tunnel

Uue kaugvõrgu hostid peavad vastused tagasi saatma VPN-lüüsi kaudu. Kui see lüüs pole nende vaikemarsruuter, läheb vastus LAN-marsruuterile, mis selle kas viskab ära või edastab internetti privaatse lähteaadressiga. Testige kaugpoolse hosti pealt, mitte lüüsist: ip route get 10.30.20.15 Linuxis või Find-NetRoute -RemoteIPAddress 10.30.20.15 PowerShellis näitab järgmist hüpet, mida host tegelikult kasutab. Kui vastus pole tunneli lõpp-punkt, lisage sinna uue prefiksi jaoks staatiline marsruut.

Lähteaadressi NAT saidil, millel tagasitee puudub, on seaduslik alternatiiv ja viis, kuidas paljud hub-and-spoke lahendused iga serveri puutumist väldivad. Rakendage seda ka uuele prefiksile sihtkohapoolses lüüsis:

iptables -t nat -A POSTROUTING -s 10.30.20.0/24 -d 192.168.60.0/24 -j MASQUERADE

Hind on tegelik. Kauglogid lakkavad näitamast üksikuid lähteaadresse ja algse alavõrgu külge seotud tulemüürireeglid taanduvad lüüsi jaoks üheks reegliks. Valige see teadlikult, mitte sellepärast, et marsruut puudus.

Tulemüürid on tagasitee teine pool. Tsoonipõhised seadmed ei laienda olemasoleva tunneliliidese tsooni automaatselt uuele alavõrgule ja vana prefiksi jaoks kirjutatud reegel ei sobi. Lisage uus alavõrk tsooni või reeglipaari mõlemas suunas, enne kui IPsec-i süüdistate.

Otsustage kolme küsimusega, seejärel kontrollige liiklusega

Lühiversioon: kas poole konfiguratsioon nimetab prefikseid (poliitikapõhine) või marsruuditakse liiklus liidesesse (marsruudipõhine)? Kas mõlemad otsad loetlevad uue prefiksi? Kas uuest alavõrgust on tee tagasi algse lähtevahemikuni?

Tunnel styleWhere the prefix goesWhat breaks if you skip it
Policy-based IPsecSelector pair on both peersOld subnets work, the new one fails with no clear error
Route-based XFRM or VTIRoute into the device on both sitesPackets routed but not transformed, or the state never matches
WireGuardAllowedIPs on both peers plus a routeHandshake succeeds, replies are dropped
Overlapping supernetAdjust the existing entry insteadA shadowed policy wins or loses by evaluation order

Kontrollimine on koht, kus enamik muudatusi suletakse liiga vara. Ping lüüsist tõestab vähe, sest lüüs saadab iseendast ja sobib sageli teise poliitikaga kui host. Pingige uue alavõrgu hostist, käivitage siis rakendus, mis muudatuse põhjustas, ja jälgige loendureid, mitte olekuikooni.

tcpdump -ni any host 192.168.60.10 and (esp or udp port 4500)
ip xfrm state
wg show

Poliitikapõhises tunnelis peaksid ip xfrm state loendurid kasvama mõlemas suunas; lamedad loendurid tähendavad, et pakett marsruuditakse, kuid ei valita. WireGuardis näitab wg show ülekannet poole kohta ja null vastuvõetud baidiga käepigistus osutab kaugpoolse loendile või selle tagasiteele.

Lõpetage, registreerides prefiksi, poole selektori või marsruudi, tagasitee otsuse ja tulemüüri kirje koos ülejäänud tunneloendiga. Seejärel taaskäivitage üks lüüs ja testige uuesti: käsitsi lisatud marsruut kaob ja järgmine inimene ei peaks seda uuesti avastama.

Seotud artiklid