It-tixgħil ta' klijent OpenVPN b'tunnel sħiħ fuq magna li tasal għaliha permezz ta' SSH jista' jaqta' s-sessjoni f'sekonda, u l-magna mhija qed tagħmel xejn ħażin. It-tunnel ma jbiddilx kif il-pakketti jaslu għand is-server; huwa jbiddel kif joħorġu r-risposti. Hekk kif ir-rotta default tindika lejn tun0, risposta lill-klijent SSH tiegħek tidħol fin-netwerk tal-fornitur, li m'għandux rotta lura lejn l-indirizz tiegħek. Il-konnessjoni tiddendel, it-tentattiv li jmiss jiskadi, u d-daemon ikompli jisma' fuq il-port 22 il-ħin kollu.

Aqra t-tabella tar-routing qabel taqra l-log tal-VPN. Il-log se jgħid li t-tunnel tela', u għandu raġun. Il-mistoqsija hija liema interface tingħata kull risposta, u din hija tfittxija għal kull pakkett f'tabella li t-tunnel għadu kemm kiteb mill-ġdid.

Għaliex ir-risposta toħroġ mill-bieb ħażin

Il-pakketti li jidħlu għadhom jaslu fuq l-interface fiżika, għax klijent VPN ma jistax ibiddel kif l-internet jasal għall-indirizz pubbliku tas-server tiegħek. Ir-risposti huma deċiżjoni separata: għal kull pakkett il-qalba tfittex id-destinazzjoni, u wara --redirect-gateway id-dħul default jgħid tunnel. Il-ħruġ tal-fornitur jara destinazzjoni li ma jaqdihiex, u jitfa' l-pakkett.

OpenVPN il-protezzjoni tiegħu stess tkopri eżattament destinazzjoni waħda. Il-manwal tal-2.6 jiddeskrivi --redirect-gateway bħala sekwenza: iżid rotta host għall-peer VPN permezz tal-gateway li kien qed jintuża qabel it-tunnel, sabiex it-traffiku kriptat ma jistax idur lura fih innifsu, u mbagħad jissostitwixxi r-rotta default. Dik ir-rotta host hija biss għall-peer. Il-klijent SSH tiegħek huwa biss indirizz ieħor tal-internet u ma jirċevix ebda eċċezzjoni.

Jiswa li teskludi kmieni żball wieħed ta' prefiss. ip route add -net 0.0.0.0 gw 10.8.0.1 dev tun0 mingħajr tul jaqbel mal-indirizz wieħed 0.0.0.0, mhux mal-internet; irid ikun 0.0.0.0/0. U jekk it-teħid tar-rotta default ikisser it-trasport tat-tunnel stess, żid il-punt tat-tmiem bħala rotta host mill-interface fiżika, bl-indirizz veru tal-fornitur.

Iffissa l-indirizz tal-klijent SSH tiegħek għal tiswija immedjata

L-eħfef tiswija hija rotta host għall-indirizz tal-klijent tiegħek mill-gateway li s-server kien juża qabel ma kien hemm it-tunnel. Min-naħa tiegħek, sib l-indirizz li se jara s-server, imbagħad aqra t-tabella tas-server biex tkun taf il-gateway antik:

curl -s https://ifconfig.co
ip route

Fuq is-server, żid l-eċċezzjoni qabel ma jibda l-klijent. L-indirizzi hawn huma placeholders; il-forma hija dik li timporta:

sudo ip route add 80.128.240.55 via 192.168.178.1

Din hija t-tiswija użata fil-każ irrappurtat, u taħdem minnufih. Hija wkoll fraġli f'żewġ modi prevedibbli: ir-rotta tisparixxi waqt ir-restart, u ssir ħażina fil-mument li l-ISP tiegħek jagħtik indirizz ieħor. Itratta bħala miżura ta' emerġenza u għamilha dejjiema apposta, permezz ta' unità tan-netwerk jew hook tad-dispatcher, jew aċċetta li hija temporanja u ikteb it-triq tal-irkupru.

Żomm il-klijent milli jieħu r-rotta default

L-għażla aktar nadifa hija li t-tunnel ma jissostitwixxix ir-rotta default xejn. route-nopull, użat ma' --client jew --pull, jaċċetta l-għażliet imbuttati ħlief rotot, block-outside-dns u għażliet stil DHCP bħas-servers DNS, għalhekk iżżid biss il-prefissi li għandek bżonn. Għodda iżjed dejqa hija filtru tal-ġbid, li jitfa' direttiva problematika waħda u jżomm il-bqija:

route-nopull
pull-filter ignore "redirect-gateway"

Uża waħda jew l-oħra, mhux it-tnejn, u kun ċar dwar x'jinbidel. Mingħajr rotta default mit-tunnel, is-server ma jibqax jibgħar l-internet mill-fornitur; jasal biss għal dak li rrottejt b'mod espliċitu. Jekk it-tunnel sħiħ kien l-għan kollu tas-setup, dan huwa l-buttuna ħażina u r-rotta host hawn fuq hija dik tajba.

Aqsam it-triq lura skont is-sors jew il-konnessjoni

Meta l-indirizz li jidħol ikun stabbli, regola tas-sors żżomm ir-risposti lokali mingħajr ma tmiss ir-rotot tat-tunnel stess. Agħti lill-indirizz tal-interface fiżika tabella tiegħu stess li fiha l-prefiss LAN u d-default fiżiku, imbagħad agħżel dik it-tabella għat-traffiku li ġej minnha:

ip rule add from 192.168.1.11 table 128
ip route add table 128 to 192.168.1.0/24 dev eth0
ip route add table 128 default via 192.168.1.1

Dan jaħdem għax ir-risposti għal konnessjoni SSH li tidħol jiġu mill-indirizz li l-klijent ikkonnettja miegħu. Każ irrappurtat fejn kull servizz li jidħol kellu jkompli jaħdem uża eżattament din il-forma. Meta l-indirizz li jidħol ikun qed jiċċaqlaq jew it-triq tkun dinamika, immarka l-konnessjoni minflok: poġġi marka conntrack fuq l-ewwel pakkett li jiġi mill-interface fiżika, ikkupjaha fuq il-pakketti tar-risposta f'OUTPUT, u rrotta l-pakketti mmarkati permezz ta' tabella li tindika lejn il-gateway fiżiku.

iptables -t mangle -A PREROUTING -i eth0 -m conntrack --ctstate NEW -j CONNMARK --set-mark 1234
iptables -t mangle -A OUTPUT -m connmark --mark 1234 -j MARK --set-mark 4321
ip route add default via 192.168.1.1 dev eth0 table 3412
ip rule add fwmark 4321 table 3412

Żomm il-marka tal-konnessjoni, il-marka tal-firewall u n-numru tat-tabella separati waqt it-testijiet. L-użu mill-ġdid ta' numru wieħed għal żewġ rwoli jipproduċi regola li tidher korretta u tolqot il-pakketti ħżiena. Id-dħul default tat-tabella wkoll jeħtieġ via mal-gateway LAN fuq ħolqa Ethernet ordinarja; dev eth0 għarwien jaħdem biss meta l-interface tkun punt-punt jew il-qabża li jmiss tiġi solvuta b'mod ieħor. Il-host Jessie irrappurtat kien fuq ħolqa fejn il-forma għarwiena ħadmet, u din mhija regola ta' distribuzzjoni li għandha tiġi kkupjata.

Ivverifika mingħajr ma tissakkar barra

Tittestjax billi tiskonnettja. Żomm l-ewwel sessjoni miftuħa, tellgħat it-tunnel, u staqsi lill-qalba liema triq tieħu l-indirizz tiegħek stess:

ip route get 80.128.240.55

It-tweġiba għandha ssemmi l-interface fiżika u l-gateway antik, mhux it-tunnel. Imbagħad iftaħ it-tieni konnessjoni SSH; dak huwa t-test veru, għax is-sessjoni antika tista' tibqa' ħajja fuq stat li konnessjoni ġdida ma tistax tirriproduċi. Jekk it-tieni tiddendel waqt li l-ewwel għadha twieġeb, ir-regola qatt ma qabdet mat-traffiku li jimporta, u l-marki jew l-indirizz tas-sors huma fejn trid tħares.

Żomm console barra mill-band disponibbli matul l-eżerċizzju kollu. Server li l-uniku triq ta' aċċess tiegħu hija t-tunnel li għadek kemm ksirt ma jistax jiġi msewwi minn dak it-tunnel, u r-rollback huwa eħfef meta tkun innotajt in-numri tat-tabelli u l-prefissi li żidt.

Artikli relatati