Utenti remot ma jaslux għat-tieni sit permezz tal-hub VPN
It-transitu mill-hub jeħtieġ tliet tfittxijiet: ir-rotta tal-klijent, ir-rotta tal-ħruġ tal-hub u t-triq tar-ritorn tan-naħa l-bogħoda, flimkien ma’ regola waħda ta’ rimi ristretta.
Utent remot jgħaqqad mal-hub, jasal għas-server tal-fajls fuq il-LAN tal-hub stess, u kollox jidher f’saħħtu. Imbagħad jiftaħ kondiviżjoni fuq 10.20.0.50 fil-kwartieri ġenerali, li l-hub jasal għaliha permezz ta’ tunnel separat bejn is-siti, u jintemm iż-żmien. Iż-żewġ tunnels huma attivi u ż-żewġ counters jogħlew, allura l-ebda tunnel mhuwa miksur. Li taqsam il-hub huma tliet deċiżjonijiet ta’ routing fuq tliet apparati, u tunnel iġorr biss il-prefissi li ntlesta għalihom. Dan huwa l-ordni li niċċekkja, u l-kmand li juri jekk kull pass huwiex veru.
It-transitu jeħtieġ tliet tfittxijiet, mhux tunnel wieħed
Kull apparat jagħmel il-qbil tiegħu tal-itwal prefiss u jinsieh. Il-laptop irid jibgħat 10.20.0.50 fit-tunnel u mhux lir-router lokali tiegħu. Il-hub irid jieħu pakkett li wasal fuq l-interface tal-aċċess remot u jgħaddih lill-interface bejn is-siti. Il-kwartieri ġenerali iridu jibgħatu tweġiba għall-indirizz tal-utent lura mit-tunnel. Jekk tonqos waħda mit-tlieta, fil-browser jidher l-istess: silenzju.
Għalhekk l-ittestjar ta’ kull tunnel waħdu jipprova daqshekk ftit. Ping lejn l-indirizz tal-LAN tal-hub jeżerċita l-ewwel deċiżjoni, u ping lejn il-hub mill-kwartieri ġenerali jeżerċita t-tielet. Il-pakkett li jonqos għandu l-pool tal-utenti bħala sors u t-tieni sit bħala destinazzjoni, allura ikteb dawk il-prefissi l-ewwel. Hawnhekk il-pool huwa 10.80.0.0/24, il-LAN tal-hub huwa 10.10.0.0/24 u l-kwartieri ġenerali huma 10.20.0.0/24.
Imbotta l-prefiss imbiegħed lejn il-klijent imbiegħed
Fuq OpenVPN server tal-aċċess remot il-klijent jitgħallem ir-rotot meta jgħaqqad. Mingħajr push, klijent b’tunnel maqsum jibgħat 10.20.0.50 lill-gateway tiegħu stess u l-pakkett qatt ma jidħol fit-tunnel.
push "route 10.20.0.0 255.255.255.0"
Rotta mibgħuta tidħol fis-seħħ meta l-klijent jgħaqqad, għalhekk utent li jibqa’ online ma jara xejn sakemm jerġa’ jgħaqqad. Ivverifika fuq il-klijent: ip route get 10.20.0.50 fuq Linux, route print fuq Windows. L-output għandu jsemmi l-interface tat-tunnel.
Il-push ma jgħinx il-hub. Huwa messaġġ lill-klijent, mhux rotta fuq is-server u mhux permess biex tħaddem il-forwarding, għalhekk hub b’linja push perfetta għadu jittaq il-fluss hop wara. Din hija r-raġuni tas-soltu li biha n-nies jikkonkludu li l-push falla.
Agħti lill-hub rotta tal-ħruġ vera
Il-hub għandu bżonn il-hop tiegħu li jmiss għall-prefiss tal-kwartieri ġenerali. Fuq tunnel routed dik hija rotta ordinarja mill-interface bejn is-siti, u kmand wieħed juri kemm ir-rotta magħżula kif ukoll is-sors magħżul:
ip route get 10.20.0.50 from 10.80.0.25
sudo ip route add 10.20.0.0/24 via 172.30.0.2 dev s2s0
Meta s-sieq bejn is-siti tkun hija stess OpenVPN, ir-rotta tista’ tgħix f’dik il-konfigurazzjoni bl-indirizz tat-tunnel tal-peer bħala gateway: route 10.20.0.0 255.255.255.0 172.30.0.2. Il-gateway mhuwiex fakultattiv. Ħallih barra u l-hop li jmiss jaqa’ fuq default tal-implimentazzjoni, li jvarja bejn klijent b’peer wieħed u hub b’ħafna peers.
IPsec ibbażat fuq il-policy huwa differenti: il-kernel tal-hub jibgħat il-pakkett lill-gateway LAN normali tiegħu u l-policy taqbadu fil-ħruġ, għalhekk rotta tat-tunnel jew ma tagħmel xejn jew iddawwar it-traffiku wara l-policy. Ħares lejn is-sors fil-kmand ta’ hawn fuq, għax 10.10.0.1 minflok l-indirizz tal-pool ifisser li l-kernel għażel indirizz li n-naħa l-bogħoda tirrifjuta. iroute mhuwiex it-tweġiba lanqas; jgħid lis-server liema klijent jippossjedi subnetwork wara t-tunnel tiegħu stess, mhux fejn jibgħat it-traffiku għal sit terz.
Estendi n-naħa l-bogħoda għall-pool tal-utenti
Il-kwartieri ġenerali diġà jkopru l-LAN tal-hub, 10.10.0.0/24. Il-pool tal-utenti huwa t-tieni prefiss u jrid ikun ukoll fis-seletturi, inkella l-ebda policy ma tkopri tweġiba indirizzata lil 10.80.0.25. Kull peer isemmi l-istess par ta’ settijiet ta’ prefissi minn naħa tiegħu:
# strongSwan swanctl.conf, on the hub
local_ts = 10.10.0.0/24, 10.80.0.0/24
remote_ts = 10.20.0.0/24
# on the headquarters peer
local_ts = 10.20.0.0/24
remote_ts = 10.10.0.0/24, 10.80.0.0/24
Il-local_ts ta’ apparat huwa r-remote_ts tal-ieħor. Ikkopja l-blokka tal-hub fil-kwartieri ġenerali u l-par jinqlib, għalhekk il-child SA qatt ma titla’.
Is-sintassi ipsec.conf l-antika tuża leftsubnet separata b’virgoli. L-assoċjazzjoni tas-sigurtà li qed taħdem iżżomm is-seletturi li nnegozjat, għalhekk erġa’ stabbilixxi t-tunnel wara l-editjar. Selettur mibdul fl-10:00 u ttestjat kontra SA li telgħet fid-09:40 għadu jonqos, filwaqt li l-fajl tal-konfigurazzjoni jidher korrett il-ħin kollu.
Imbagħad iċċekkja l-aħħar hop. ip route get 10.80.0.25 fuq il-punt tat-tarf imbiegħed għandu jindika fit-tunnel. Jekk is-servizz juża router LAN bħala gateway default, dak ir-router ukoll għandu bżonn ir-rotta tar-ritorn, inkella t-tweġiba tmut hemm. tcpdump -ni eth1 host 10.80.0.25 fuq dak is-segment juri jekk it-tweġiba ħarġitx mill-punt tat-tarf.
Ippermetti l-fluss fuq il-hub
Il-forwarding irid ikun attivat u t-triq permessa. Illimita r-regoli għaż-żewġ prefissi minflok taqbel ma’ kollox bejn l-interfaces.
sysctl -w net.ipv4.ip_forward=1
iptables -I FORWARD -i tun0 -o s2s0 -s 10.80.0.0/24 -d 10.20.0.0/24 -j ACCEPT
iptables -I FORWARD -i s2s0 -o tun0 -s 10.20.0.0/24 -d 10.80.0.0/24 -j ACCEPT
Il-filtrazzjoni tar-rotta inversa hija l-falliment sieket ħdejh: b’żewġ saqajn fuq interfaces differenti, rp_filter=1 tista’ ttaq ir-risposta waqt li l-counter tar-regola tal-aċċettazzjoni qatt ma jiċċaqlaq. Qabbel iptables -vnL FORWARD qabel u wara tentattiv. Regola li qatt ma tiżdied ma tintlaħaqx, għalhekk ħares saff aktar ’l isfel minflok tiktebha mill-ġdid.
Jekk grupp wieħed biss jeħtieġ it-transitu, poġġi r-rotta fi fajl għal kull klijent taħt client-config-dir minflok twessa’ l-push globali. In-NAT tas-sors fuq il-hub ineħħi wkoll il-bżonn ta’ rotta tar-ritorn imbiegħda, imma jaħbi l-indirizz tal-utent, għalhekk il-logs tas-sit imbiegħed u r-regoli bbażati fuq l-indirizz jieqfu jiddistingwu l-utenti.
Ivverifika mill-klijent, imbagħad irrulla lura fl-ordni inversa
Ittestja port TCP, mhux biss ICMP, għax ping jista’ jgħaddi waqt li s-servizz jibqa’ mblukkat. nc -vz 10.20.0.50 445 u traceroute -n 10.20.0.50 mill-klijent juru jekk it-tieni hop huwiex l-indirizz tat-tunnel tal-hub. Fuq il-hub, tcpdump -ni tun0 host 10.20.0.50 u l-istess filtru fuq l-interface bejn is-siti: talba fuq it-tnejn mingħajr tweġiba fuq l-ebda waħda ċċaqlaq il-problema għan-naħa l-bogħoda.
Imbagħad ittestja xi ħaġa li trid tibqa’ mblukkata. Jekk wieġeb ukoll host li l-pool qatt m’għandu jilħaq, ftaħt aktar mit-transitu u għandek iżżomm ir-regoli aktar stretti. Hub li jibgħat kollox lil kull fergħa jgħaddi l-ewwel test u jonqos fit-tieni.
Żomm lista tar-rollback, għax inbidlu erba’ oġġetti u tlieta huma faċli tinsewhom: ir-rotta mibgħuta, ir-rotta tal-hub, is-seletturi u r-regoli tal-firewall. Irrevertihom fl-ordni inversa, erġa’ stabbilixxi l-SA, u ħalli utent wieħed jerġa’ jgħaqqad. Rollback parzjali jħalli rotta li tindika lejn tunnel li m’għadux jaqbel, li hija aktar diffiċli tinqara mis-silenzju oriġinali. Il-manwal OpenVPN 2.6 jiddokumenta push, route u iroute għall-verżjoni tiegħek.