Iż-żieda ta’ tieni subnet ma’ tunnel bejn is-siti li jaħdem tieħu ħames minuti f’disinn wieħed u kważi nofs ta’ nhar sħiħ fl-ieħor. Meta t-tunnel jinstalla rotot għall-prefissi li ssemmi, iżżid rotta u t-traffiku jsegwiha. Meta tinnegozja par wieħed fiss ta’ seletturi, il-prefiss il-ġdid jibqa’ bla protezzjoni sakemm iż-żewġ naħat jaqblu fuq par li jaqbel. Tliet affarijiet jiddeċiedu: x’inhu verament jiddeskrivi l-konfigurazzjoni ta’ kull naħa, jekk it-traffiku nnegozjat huwiex imqassar għall-iżgħar par li jaqbel, u ta’ min hi r-rotta tar-ritorn għall-firxa l-ġdida.

Aqra l-kernel, mhux it-tikketta tal-istat

Tunnel li jirrapporta konnessjoni installa mill-inqas assoċjazzjoni tifel waħda, imma mhux bilfors dik li taħseb. Fuq Linux il-kernel juri x’inhu applikat: ip xfrm policy jelenka l-pari ta’ seletturi u swanctl --list-sas (jew il-qadim ipsec statusall) juri x’innegozjaw in-naħat, inklużi s-seletturi tat-traffiku f’kull direzzjoni. Jekk il-prefiss il-ġdid ma jidhirx f’ebda wieħed, hu bla protezzjoni, x’jinqala’ il-fajl tal-konfigurazzjoni.

Qabbel dan mat-tabella tar-rotot. F’arranġament ibbażat fuq ir-rotta l-apparat tat-tunnel hu l-pass li jmiss għall-prefissi protetti. Arranġament ibbażat fuq il-politika spiss m’għandux rotta speċifika għas-subnet imbiegħed, biss ir-rotta awtomatika, għax il-politika tagħżel it-traffiku u mhux it-tabella.

Ibbażat fuq il-politika: iż-żewġ naħat iridu jelenkaw il-prefiss il-ġdid

Fit-termini ta’ strongSwan is-selettur jgħix f’ local_ts u remote_ts taħt il-konfigurazzjoni tat-tifel, is-suċċessuri ta’ leftsubnet u rightsubnet. Il-prefiss il-ġdid irid jidher fuq iż-żewġ naħat bħal mera: dak li s-sit A jsejjaħ lokali, is-sit B isejjaħlu mbiegħed. Nuqqas ta’ qbil rari jagħti żball nadif. In-naħat jiċċekknu għall-intersezzjoni, il-prefiss il-qadim jibqa’ jaħdem u biss dak il-ġdid ifalli bil-kwiet.

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

Fuq pfSense jew OPNsense dan ifisser it-tieni entrata Phase 2 li tqabbel is-subnet lokali l-ġdid mas-subnet imbiegħed il-ġdid, u mbagħad applikazzjoni. Żomm l-entrata l-qadima; tispiċċa tressaq is-subnet oriġinali minflok iżżidu. Jekk Phase 2 eżistenti diġà tkopri supernet bħal 0.0.0.0/0 jew firxa mqassra, tġibx entrata iżgħar ħdejha: is-seletturi li jikkoinċidu jinstallaw politiki konkorrenti u l-ordni tal-valutazzjoni tiddeċiedi min jirbaħ.

IKEv1 jagħmel kull par ta’ subnet Phase 2 tiegħu stess, u naħa li tieħu par wieħed għal kull skambju tarmi l-bqija. IKEv2 jista’ jġorr diversi pari ta’ seletturi fi tifel wieħed, imma biss jekk iż-żewġ implimentazzjonijiet jaċċettawhom. Il-lista minn swanctl --list-sas hija l-verità; dak li ktibt hu talba.

Ibbażat fuq ir-rotta: ir-rotta hija l-politika

Interface XFRM jew apparat VTI jġorr it-traffiku skont it-tabella tar-rotot. Tindirizza l-prefiss il-ġdid lejn l-apparat fiż-żewġ siti, u l-istat marbut mat-trasformazzjoni tal-interface japplika. M’hemmx par ta’ seletturi x’jissinkronizza, għalhekk dan id-disinn jiskala aħjar meta jikbru s-subnets. Il-gwida ta’ strongSwan għall-ibbordjar tħares lejn in-naħa tal-kernel fid-dettall.

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

WireGuard imur aktar il-bogħod. AllowedIPs huwa kemm il-lista tal-permessi kriptografiċi kif ukoll, permezz ta’ wg-quick, l-entrata fit-tabella tar-rotot. Żid il-prefiss fuq naħa waħda biss u jkollok handshake, pakketti li joħorġu u silenzju, għax in-naħa l-bogħida tarmi pakketti li l-oriġini tagħhom mhijiex fuq il-lista tagħha. Il-forma wg set tissostitwixxi l-lista kollha, għalhekk erġa’ semmi l-prefissi li diġà ħadmu, inkella tqaċċathom:

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

It-tieni kmand mhux fakultattiv meta użajt wg set minflok wg-quick. Il-kernel jaċċetta l-lista l-ġdida mill-ewwel, imma xejn ma jżid rotta għaliha, għalhekk it-traffiku ġġenerat lokalment għadu joħroġ mill-gateway awtomatika. Dan huwa l-aktar raġuni komuni għaliex subnet WireGuard ġdid jaħdem mill-host tat-tunnel u mhux minn laptop.

Ir-rotta tar-ritorn tfalli aktar spiss mit-tunnel

Il-hosts fuq is-subnet imbiegħed il-ġdid iridu jibagħtu t-tweġibiet lura mill-gateway VPN. Meta dak il-gateway mhux ir-router awtomatiku tagħhom, it-tweġiba tmur għand ir-router LAN, li jew jarmiha jew jgħaddiha lill-internet b’indirizz sors privat. Ittestja minn host fuq in-naħa l-bogħida, mhux mill-gateway: ip route get 10.30.20.15 fuq Linux jew Find-NetRoute -RemoteIPAddress 10.30.20.15 f’PowerShell juri l-pass li jmiss li l-host verament juża. Jekk it-tweġiba mhijiex il-punt tat-tmiem tat-tunnel, żid rotta statika għall-prefiss il-ġdid hemmhekk.

NAT tas-sors fis-sit li m’għandux ir-rotta tar-ritorn hija alternattiva leġittima u l-mod kif ħafna skjeramenti hub-and-spoke jevitaw li jmissu kull server. Applikaha wkoll għall-prefiss il-ġdid fuq il-gateway tan-naħa tad-destinazzjoni:

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

L-ispiża hija reali. Il-logs imbiegħda jieqfu juru indirizzi sors individwali, u r-regoli tal-firewall ibbażati fuq is-subnet oriġinali jinġabru f’regola waħda għall-gateway. Agħżel dan b’intenzjoni, mhux għax kienet nieqsa rotta.

Il-firewalls huma n-nofs l-ieħor tar-rotta tar-ritorn. L-apparati bbażati fuq iż-żoni ma jestendux awtomatikament iż-żona ta’ interface tat-tunnel eżistenti għal subnet ġdid, u regola miktuba għall-prefiss il-qadim ma taqbilx. Żid is-subnet il-ġdid maż-żona jew mal-par ta’ regoli fiż-żewġ direzzjonijiet qabel ma takkuża IPsec.

Iddeċiedi bi tliet mistoqsijiet, imbagħad ivverifika bit-traffiku

Il-verżjoni qasira: il-konfigurazzjoni tan-naħa ssemmi prefissi (ibbażata fuq il-politika), jew it-traffiku jiġi rrutat f’interface (ibbażata fuq ir-rotta)? Iż-żewġt iħna jelenkaw il-prefiss il-ġdid? Hemm triq lura mis-subnet il-ġdid għall-firxa sors oriġinali?

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

Il-verifika hija l-post fejn ħafna bidliet jingħalqu kmieni wisq. Ping mill-gateway jipprova ftit, għax il-gateway jibgħat minnu nnifsu u spiss jaqbel ma’ politika differenti minn dik ta’ host. Agħmel ping minn host fuq is-subnet il-ġdid, imbagħad ħaddem l-applikazzjoni li wasslet għall-bidla, u ħares lejn il-kontrolluri mhux lejn ikona tal-istat.

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

Fuq tunnel ibbażat fuq il-politika l-kontrolluri ta’ ip xfrm state għandhom jogħlew fiż-żewġ direzzjonijiet; kontrolluri ċatti jfissru li l-pakkett hu rrutat imma mhux magħżul. Fuq WireGuard wg show jirrapporta t-trasferiment għal kull naħa, u handshake b’żero bytes riċevuti jindika l-lista tan-naħa l-bogħida jew ir-rotta tar-ritorn tagħha.

Iffinalizza billi tirreġistra l-prefiss, is-selettur jew ir-rotta tan-naħa, id-deċiżjoni dwar ir-rotta tar-ritorn u l-entrata tal-firewall flimkien mal-bqija tal-inventarju tat-tunnel. Imbagħad erġa’ ibda gateway wieħed u ittestja mill-ġdid: rotta miżjuda bl-idejn tisparixxi, u l-persuna li jmiss m’għandhiex terġa’ tiskopriha.

Artikli relatati