Dodavanje druge podmreže u radni tunel od lokacije do lokacije traje pet minuta kod jednog dizajna i gotovo cijelo poslijepodne kod drugog. Kad tunel instalira rute za prefikse koje navedete, dodate rutu i promet je slijedi. Kad pregovara jedan fiksni par selektora, novi prefiks ostaje nezaštićen dok se obje strane ne dogovore o odgovarajućem paru. Tri stvari odlučuju o vašem slučaju: što konfiguracija svake strane doista opisuje, sužava li se pregovarani promet na najmanji odgovarajući par i kome pripada povratni put za novi raspon.

Čitajte kernel, a ne oznaku stanja

Tunel koji prijavljuje vezu instalirao je barem jednu podređenu asocijaciju, ali ne nužno onu koju mislite. Na Linuxu kernel pokazuje što se primjenjuje: ip xfrm policy navodi parove selektora, a swanctl --list-sas (ili stariji ipsec statusall) pokazuje što su strane pregovarale, uključujući selektore prometa u svakom smjeru. Ako se novi prefiks ne pojavljuje ni u jednom, nezaštićen je bez obzira na konfiguracijsku datoteku.

Usporedite to s tablicom ruta. U postavci zasnovanoj na rutama tunelski je uređaj sljedeći skok za zaštićene prefikse. Postavka zasnovana na pravilima često nema posebnu rutu za udaljenu podmrežu, samo zadanu rutu, jer promet bira pravilo, a ne tablica.

Tuneli zasnovani na pravilima: obje strane moraju navesti novi prefiks

U terminima strongSwan selektor živi u local_ts i remote_ts unutar podređene konfiguracije, nasljednicima leftsubnet i rightsubnet. Novi se prefiks mora pojaviti na obje strane zrcalno: što lokacija A zove lokalnim, lokacija B zove udaljenim. Nesklad rijetko daje čistu grešku. Strane se sužavaju na presjek, stari prefiks nastavlja raditi, a novi tiho pada.

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

Na pfSenseu ili OPNsenseu to znači drugi unos Phase 2 koji spaja novu lokalnu podmrežu s novom udaljenom, a zatim primjenu. Zadržite stari unos; zamjena premješta izvornu podmrežu umjesto da je doda. Ako postojeći Phase 2 već pokriva supermrežu poput 0.0.0.0/0 ili sažeti raspon, ne dodajte uži unos pokraj njega: selektori koji se preklapaju instaliraju suprotstavljena pravila, a redoslijed procjene odlučuje pobjednika.

IKEv1 čini svaki par podmreža vlastitim Phase 2, a strana koja uzima jedan par po razmjeni odbacuje ostale. IKEv2 može nositi nekoliko parova selektora u jednoj podređenoj asocijaciji, ali samo ako ih prihvate obje implementacije. Popis iz swanctl --list-sas je istina; ono što ste upisali je zahtjev.

Tuneli zasnovani na rutama: ruta je pravilo

XFRM sučelje ili VTI uređaj nosi promet prema tablici ruta. Usmjerite novi prefiks na uređaj na obje lokacije i primjenjuje se stanje vezano uz transformaciju sučelja. Nema para selektora za sinkronizaciju, zato se ovaj dizajn bolje skalira kako se podmreže množe. strongSwanov vodič za prosljeđivanje detaljnije obrađuje stranu kernela.

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

WireGuard ide dalje. AllowedIPs je istodobno kripto popis dopuštenih i, preko wg-quick, unos u tablici ruta. Dodajte prefiks samo na jednoj strani i dobit ćete rukovanje, odlazne pakete i tišinu, jer udaljena strana odbacuje pakete čiji izvor nije na njezinu popisu. Oblik wg set zamjenjuje cijeli popis, zato ponovite prefikse koji su već radili ili ćete ih odsjeći:

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

Ta druga naredba nije neobavezna kada ste upotrijebili wg set umjesto wg-quick. Kernel odmah prihvaća novi popis dopuštenih, ali ništa mu ne dodaje rutu, pa lokalno stvoren promet i dalje izlazi kroz zadanu mrežnu skretnicu. To je najčešći razlog zašto nova WireGuard podmreža radi s tunelskog hosta, a ne s prijenosnika.

Povratni put pada češće od tunela

Hostovi na novoj udaljenoj podmreži moraju slati odgovore natrag kroz VPN skretnicu. Kad ta skretnica nije njihov zadani usmjerivač, odgovor ide na LAN usmjerivač, koji ga odbacuje ili prosljeđuje na internet s privatnom izvornom adresom. Testirajte s hosta na udaljenoj strani, a ne sa skretnice: ip route get 10.30.20.15 na Linuxu ili Find-NetRoute -RemoteIPAddress 10.30.20.15 u PowerShellu pokazuje sljedeći skok koji će host doista upotrijebiti. Ako odgovor nije krajnja točka tunela, dodajte tamo statičnu rutu za novi prefiks.

Izvorni NAT na lokaciji kojoj nedostaje povratna ruta legitiman je izbor i način na koji mnoga hub-and-spoke postavljanja izbjegavaju dirati svaki poslužitelj. Primijenite ga i na novi prefiks na skretnici na strani odredišta:

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

Cijena je stvarna. Udaljeni zapisi prestaju prikazivati pojedinačne izvorne adrese, a pravila vatrozida vezana uz izvornu podmrežu stapaju se u jedno pravilo za skretnicu. Odaberite to namjerno, a ne zato što je ruta nedostajala.

Vatrozidi su druga polovica povratnog puta. Uređaji zasnovani na zonama ne proširuju zonu postojećeg tunelskog sučelja na novu podmrežu automatski, a pravilo napisano za stari prefiks neće se poklopiti. Dodajte novu podmrežu u zonu ili u par pravila u oba smjera prije nego optužite IPsec.

Odlučite s tri pitanja, pa provjerite prometom

Kratka verzija: navodi li konfiguracija strane prefikse (zasnovano na pravilima) ili se promet rutira u sučelje (zasnovano na rutama)? Navode li oba kraja novi prefiks? Postoji li put natrag od nove podmreže do izvornog raspona?

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

Provjera je mjesto gdje se većina promjena zatvara prerano. Ping sa skretnice dokazuje malo, jer skretnica šalje sa sebe i često se poklapa s drugim pravilom nego host. Pingajte s hosta na novoj podmreži, zatim pokrenite aplikaciju koja je potaknula promjenu i gledajte brojače, a ne ikonu stanja.

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

Na tunelu zasnovanom na pravilima brojači ip xfrm state trebaju rasti u oba smjera; ravni brojači znače da je paket rutiran, ali nije odabran. Na WireGuardu wg show pokazuje prijenos po strani, a rukovanje s nula primljenih bajtova upućuje na popis udaljene strane ili njezin povratni put.

Završite tako da zabilježite prefiks, selektor ili rutu strane, odluku o povratnom putu i unos u vatrozidu uz ostatak inventara tunela. Zatim ponovno pokrenite jednu skretnicu i testirajte: ruta dodana ručno nestaje i sljedeća je osoba ne bi trebala ponovno otkrivati.

Povezani članci