Klijent wieħed fuq is-server OpenVPN tiegħek għandu jitlef l-aċċess għal-LAN filwaqt li t-tunnels l-oħra kollha jibqgħu jaħdmu. Jekk tfittex dan, l-aħjar tweġiba normalment tgħid li d-daemon ma jistax, li hija biss nofs il-verità: OpenVPN m'għandux firewall għal kull klijent, imma l-host li jtemm it-tunnel diġà jiffiltra l-pakketti. Iż-żewġ deċiżjonijiet li jgħoddu huma l-identità li tibblokka u il-pożizzjoni tar-regola. Agħmilhom sew u l-bidla ssir linja waħda li tista' tittestja u tneħħi.

Waħħal il-klijent qabel ma tikteb ir-regola

OpenVPN jikri indirizzi tat-tunnel minn ġabra, allura 10.8.0.6 huwa siġġu, mhux persuna. Meta s-sessjoni tintemm il-kirja terġa' lura u tista' tingħata lill-konnessjoni li jmiss, li jfisser li regola miktuba kontra dak l-indirizz issegwi s-siġġu, mhux l-utent. Għalhekk iddeċiedi l-ewwel x'qed tibblokka tassew: indirizz għal esperiment qasir, jew ċertifikat għal xi ħadd li trid iżżomm barra.

Biex torbot l-indirizz maċ-ċertifikat, oħloq fajl fid-direttorju msemmi minn client-config-dir u agħti lill-fajl eżatt il-common name taċ-ċertifikat. Poġġi direttiva waħda fih, ifconfig-push 10.8.0.6 255.255.255.0, u dak il-klijent iżomm l-istess indirizz tat-tunnel bejn konnessjonijiet mill-ġdid. Żewġ settings iridu jkunu hemm biex dan jaħdem: client-config-dir irid jiġi ddikjarat fil-konfigurazzjoni tas-server, u l-indirizz mibgħut irid ikun f'subnet li s-server jista' jirrotta. Jekk wieħed jonqos, il-fajl jiġi injorat mingħajr żball, u dan jagħmel it-test tal-firewall li jmiss qarrieqi.

Blokk temporanju jista' juża indirizz mill-ġabra, sakemm il-biljett jirrekordja liema sessjoni kienet qabda dak iż-żmien.

L-ordni tiddeċiedi jekk il-waqgħa tiġrix

Fuq gateway Linux li jgħaddi bejn it-tunnel u l-LAN, il-pakketti jaqsmu l-katina FORWARD. Aqra l-kmand hawn taħt bħala sentenza: daħħal fil-bidu ta' FORWARD, qabbel traffiku li jidħol minn tun0, minn dak il-host wieħed, indirizzat lejn is-subnet tal-LAN, u warrabh.

iptables -I FORWARD -i tun0 -s 10.8.0.6/32 -d 192.168.1.0/24 -j DROP

-I huwa dak li jġiegħel ir-regola taħdem. Miżjud b'-A, jinżel taħt kwalunkwe aċċettazzjoni wiesgħa għas-subnet tat-tunnel u qatt ma jara pakkett. Ivverifika l-pożizzjoni b'iptables -vnL FORWARD --line-numbers, u aqra l-kontaturi wkoll: waqgħa fil-quċċata li ma tgħodd xejn tfisser li t-traffiku ġej minn triq oħra.

L-indirizz LAN tal-gateway innifsu hija triq oħra. Pakketti mibgħuta lill-kaxxa stess imorru għal INPUT, mhux FORWARD, allura klijent jista' jitlef host LAN u xorta jiftaħ il-paġna tal-amministrazzjoni tar-router. Żid ir-regola INPUT li taqbel meta dan jgħodd.

X'ma jistax jara l-filtru

Il-filtrazzjoni sseħħ meta pakkett jiġi evalwat, allura sessjoni TCP stabbilita tista' tkompli sakemm tagħlaq jew tiġi reset. Jekk il-blokk irid jaħdem mill-ewwel, naddaf il-flussi traċċjati għal dik is-sors b'conntrack -D -s 10.8.0.6 wara li r-regola tidħol. Jekk ftit sekondi ta' sovrappożizzjoni huma aċċettabbli, irreġistra dik l-għażla minflok tħalliha impliċita. Kif inhi, il-persuna li jmiss trid tkun taf jekk ir-regola twaqqafx traffiku ħaj jew biss konnessjonijiet ġodda.

It-traffiku bejn il-pari qatt ma jmiss il-firewall tal-host. B'client-to-client attivat, OpenVPN jgħaddi dawk il-pakketti ġewwa d-daemon, allura la FORWARD u lanqas INPUT ma jarawhom. L-unika soluzzjonijiet huma li titfi client-to-client jew taċċetta li l-pari jistgħu jaslu għal xulxin; regola iptables mhux se tara dak it-traffiku.

IPv6, firmware u sopravivenza wara reboot

Regola IPv4 ma tgħid xejn dwar IPv6. Jekk it-tunnel u l-LAN iġorru ż-żewġ familji, ir-regola ekwivalenti trid teżisti f'ip6tables, jew fis-sett ta' regoli nftables li għandu l-politika fuq dak il-host. Il-firmware tar-router spiss jaħbi netfilter wara l-abstrazzjoni tiegħu, allura sintassi u ismijiet ta' tabelli kopjati minn forum jistgħu ma japplikawx.

Fuq OpenWrt, it-triq dokumentata hija entrata ta' konfigurazzjoni tal-firewall u mhux linja iptables miktuba bl-idejn, u linja miktuba bl-idejn tista' tisparixxi meta l-firewall jerġa' jitgħabba. Distribuzzjonijiet oħra jirrestawraw ir-regoli permezz ta' netfilter-persistent, unità tal-boot jew maħżen tal-fornitur, u dawk il-mekkaniżmi mhumiex interkambjabbli. Ipprova dak li għażilt b'reboot, għax it-tgħabbi mill-ġdid jeżerċita triq differenti.

Ivverifika skont it-triq, imbagħad irrulla lura b'mod nadif

Ittestja kull triq b'mod separat, għax verifika waħda li tirnexxi taħbi l-oħrajn. Klijent imblukkat xorta għandu jasal għall-internet permezz tat-tunnel imma jfalli kontra host LAN, it-tieni klijent għandu jasal għall-istess host, u l-indirizz tal-gateway u t-triq tal-pari jeħtieġu kull wieħed l-osservazzjoni tiegħu. Ikteb ir-riżultati ħdejn ir-regola biex il-bidla li jmiss ikollha bażi. It-tabella hawn taħt hija s-sett li jiswa li jibqa' fil-biljett.

TriqMistenni bir-regolaMeta tfalli
Klijent imblukkat lejn host LANL-ebda tweġibaIr-regola qiegħda taħt aċċettazzjoni, jew is-sors ma jaqbilx
Klijent imblukkat lejn l-internetJaħdem permezz ta' tun0Ir-regola hija wiesgħa wisq, mingħajr qbil tad-destinazzjoni
It-tieni klijent lejn l-istess host LANJaħdemIr-regola qabblet aktar mill-host maħsub
Klijent imblukkat lejn l-indirizz LAN tal-gatewayImblukkat biss bir-regola INPUT li taqbelIr-regola INPUT nieqsa
Klijent imblukkat lejn indirizz tat-tunnel ta' pariGħadu jaħdemclient-to-client attivat u barra mill-ambitu tal-firewall

Ir-rull lura huwa tħassir skont l-ispeċifikazzjoni, mhux flush: iptables -D FORWARD -i tun0 -s 10.8.0.6/32 -d 192.168.1.0/24 -j DROP ineħħi eżatt dik l-entrata u jħalli l-bqija tal-katina intatta. Neħħi l-istess linja minn kwalunkwe fajl li jirrestawra r-regoli fil-boot, erġa' tgħabbih, u kkonferma li l-klijent jerġa' jasal għall-host LAN. Flush ta' FORWARD kien ineħħi wkoll regoli li ma ktibtx, u dan ibiddel ir-rull lura fi tieni inċident.

Qabel ma tagħlaq il-biljett, ikkonferma tliet affarijiet: l-indirizz imwaħħal jaqbel maċ-ċertifikat, ir-regola tinsab fuq l-aċċettazzjonijiet b'kontatur li mhux żero, u l-fajl tal-persistenza fih l-istess regola li ttestjajt. Jekk xi ħaġa minn dawn hija nieqsa, il-blokk hija illużjoni f'sessjoni shell.

Artikli relatati