Kif tikkonnettja ma 'VPN korporattiva fil-Linux billi tuża openconnect u vpn-slice

Trid tuża l-Linux fuq ix-xogħol, iżda l-VPN korporattiva tiegħek ma tħallikx? Imbagħad dan l-artikolu jista 'jgħin, għalkemm dan mhux ċert. Nixtieq inwissik minn qabel li ma nifhimx sew kwistjonijiet ta' amministrazzjoni tan-netwerk, għalhekk huwa possibbli li għamilt kollox ħażin. Min-naħa l-oħra, jista 'jkun li nista' nikteb gwida b'tali mod li tinftiehem min-nies komuni, għalhekk nagħtikom parir biex tipprovaha.

L-artiklu fih ħafna informazzjoni bla bżonn, iżda mingħajr dan l-għarfien ma kontx inkun kapaċi nsolvi l-problemi li dehru lili bla mistenni bit-twaqqif ta 'VPN. Naħseb li kull min jipprova juża din il-gwida se jkollu problemi li jien ma kellix, u nittama li din l-informazzjoni żejda tgħin biex issolvi dawn il-problemi waħedhom.

Ħafna mill-kmandi użati f'din il-gwida jeħtieġ li jitmexxew permezz ta 'sudo, li tneħħa għall-qosor. Żomm f'moħħok.

Il-biċċa l-kbira tal-indirizzi IP ġew moħbija ħafna, għalhekk jekk tara indirizz bħal 435.435.435.435, irid ikun hemm xi IP normali hemmhekk, speċifiku għall-każ tiegħek.

Għandi Ubuntu 18.04, imma naħseb li b'bidliet żgħar il-gwida tista' tiġi applikata għal distribuzzjonijiet oħra. Madankollu, f'dan it-test Linux == Ubuntu.

Cisco Connect

Dawk li huma fuq Windows jew MacOS jistgħu jikkonnettjaw mal-VPN korporattiv tagħna permezz ta 'Cisco Connect, li jeħtieġ li jispeċifika l-indirizz tal-gateway u, kull darba li tikkonnettja, daħħal password li tikkonsisti minn parti fissa u kodiċi ġġenerat minn Google Authenticator.

Fil-każ ta 'Linux, ma stajtx inħaddem Cisco Connect, iżda rnexxieli nagħmel google rakkomandazzjoni biex tuża openconnect, magħmula speċifikament biex tissostitwixxi Cisco Connect.

Openconnect

Fit-teorija, Ubuntu għandu interface grafiku speċjali għal openconnect, iżda ma ħadmitx għalija. Forsi huwa għall-aħjar.

Fuq Ubuntu, openconnect huwa installat mill-maniġer tal-pakketti.

apt install openconnect

Immedjatament wara l-installazzjoni, tista 'tipprova tikkonnettja ma' VPN

openconnect --user poxvuibr vpn.evilcorp.com

vpn.evilcorp.com huwa l-indirizz ta’ VPN fittizju
poxvuibr - isem tal-utent fittizju

openconnect se jgħidlek biex iddaħħal password, li, infakkarkom, tikkonsisti minn parti fissa u kodiċi minn Google Authenticator, u mbagħad jipprova jgħaqqad mal-vpn. Jekk taħdem, prosit, tista 'taqbeż b'mod sikur in-nofs, li huwa ħafna uġigħ, u timxi fuq il-punt dwar openconnect taħdem fl-isfond. Jekk ma taħdimx, allura tista 'tkompli. Għalkemm jekk ħadmet meta tikkonnettja, pereżempju, minn mistieden Wi-Fi fuq ix-xogħol, allura jista 'jkun kmieni wisq biex tiċċelebra; għandek tipprova tirrepeti l-proċedura mid-dar.

Ċertifikat

Hemm probabbiltà kbira li xejn ma jibda, u l-output openconnect se jidher xi ħaġa bħal din:

POST https://vpn.evilcorp.com/
Connected to 777.777.777.777:443
SSL negotiation with vpn.evilcorp.com
Server certificate verify failed: signer not found

Certificate from VPN server "vpn.evilcorp.com" failed verification.
Reason: signer not found
To trust this server in future, perhaps add this to your command line:
    --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444
Enter 'yes' to accept, 'no' to abort; anything else to view: fgets (stdin): Operation now in progress

Min-naħa waħda, dan huwa spjaċevoli, minħabba li ma kien hemm l-ebda konnessjoni mal-VPN, iżda min-naħa l-oħra, kif tissewwa din il-problema hija, fil-prinċipju, ċara.

Hawnhekk is-server bagħatilna ċertifikat, li permezz tiegħu nistgħu niddeterminaw li l-konnessjoni qed issir mas-server tal-korporazzjoni nattiva tagħna, u mhux lil frodist ħażen, u dan iċ-ċertifikat mhux magħruf għas-sistema. U għalhekk hi ma tistax tiċċekkja jekk is-server huwiex reali jew le. U għalhekk, fil-każ, tieqaf taħdem.

Sabiex openconnect jikkonnettja mas-server, trid tgħidlu b'mod espliċitu liema ċertifikat għandu jiġi mis-server VPN billi tuża ċ-ċavetta —servercert

U tista 'ssir taf liema ċertifikat bagħatilna s-server direttament minn dak openconnect stampat. Hawn minn din il-biċċa:

To trust this server in future, perhaps add this to your command line:
    --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444
Enter 'yes' to accept, 'no' to abort; anything else to view: fgets (stdin): Operation now in progress

B'dan il-kmand tista 'tipprova terġa' tikkonnettja

openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr vpn.evilcorp.com

Forsi issa qed taħdem, allura tista 'timxi sal-aħħar. Imma personalment, Ubunta wrietni tin f’din il-forma

POST https://vpn.evilcorp.com/
Connected to 777.777.777.777:443
SSL negotiation with vpn.evilcorp.com
Server certificate verify failed: signer not found
Connected to HTTPS on vpn.evilcorp.com
XML POST enabled
Please enter your username and password.
POST https://vpn.evilcorp.com/
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 300, Keepalive 30
Set up DTLS failed; using SSL instead
Connected as 192.168.333.222, using SSL
NOSSSSSHHHHHHHDDDDD
3
NOSSSSSHHHHHHHDDDDD
3
RTNETLINK answers: File exists
/etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf

/etc/resolv.conf

# Generated by NetworkManager
search gst.evilcorpguest.com
nameserver 127.0.0.53

/run/resolvconf/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 192.168.430.534
nameserver 127.0.0.53
search evilcorp.com gst.publicevilcorp.com

habr.com se jsolvi, imma ma tkunx tista' tmur hemm. Indirizzi bħal jira.evilcorp.com ma jiġu solvuti xejn.

Dak li ġara hawn mhux ċar għalija. Iżda l-esperiment juri li jekk iżżid il-linja għal /etc/resolv.conf

nameserver 192.168.430.534

allura l-indirizzi ġewwa l-VPN jibdew isolvu b'mod maġiku u tista 'timxi minnhom, jiġifieri, dak li qed ifittex id-DNS biex isolvi l-indirizzi jidher speċifikament f' /etc/resolv.conf, u mhux x'imkien ieħor.

Tista' tivverifika li hemm konnessjoni mal-VPN u taħdem mingħajr ma tagħmel xi tibdil f'/etc/resolv.conf; biex tagħmel dan, daħħal fil-browser mhux l-isem simboliku tar-riżorsa mill-VPN, iżda l-indirizz IP tagħha

Bħala riżultat, hemm żewġ problemi

  • Meta tikkonnettja ma 'VPN, id-DNS tagħha ma jinġabarx
  • it-traffiku kollu jgħaddi minn VPN, li ma jippermettix aċċess għall-Internet

Jien ngħidlek x'għandek tagħmel issa, iżda l-ewwel ftit awtomazzjoni.

Dħul awtomatiku tal-parti fissa tal-password

Sa issa, x'aktarx li diġà daħħalt il-password tiegħek mill-inqas ħames darbiet u din il-proċedura diġà għajjienek. L-ewwelnett, minħabba li l-password hija twila, u t-tieni, għax meta tidħol trid toqgħod f'perjodu ta 'żmien fiss

Is-soluzzjoni finali għall-problema ma kinitx inkluża fl-artikolu, iżda tista 'tagħmel ċert li l-parti fissa tal-password m'għandhiex għalfejn tiddaħħal ħafna drabi.

Ejja ngħidu li l-parti fissa tal-password hija fixedPassword, u l-parti minn Google Authenticator hija 567 987. Il-password kollha tista 'tiġi mgħoddija lil openconnect permezz ta' input standard billi tuża l-argument --passwd-on-stdin .

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr vpn.evilcorp.com --passwd-on-stdin

Issa tista' kontinwament terġa' lura għall-aħħar kmand imdaħħla u tibdel parti biss minn Google Authenticator hemmhekk.

VPN korporattiv ma jippermettilekx tisserfja l-Internet.

B'mod ġenerali, mhuwiex inkonvenjenti ħafna meta jkollok tuża kompjuter separat biex tmur Habr. L-inabbiltà li tikkopja-pejst minn stackoverfow ġeneralment tista' tipparalizza x-xogħol, għalhekk jeħtieġ li ssir xi ħaġa.

Irridu norganizzawha b'xi mod biex meta jkollok bżonn taċċessa riżorsa min-netwerk intern, il-Linux imur għand il-VPN, u meta jkollok bżonn tmur Habr, imur fuq l-Internet.

openconnect, wara li tniedi u tistabbilixxi konnessjoni ma 'vpn, tesegwixxi skript speċjali, li jinsab f'/usr/share/vpnc-scripts/vpnc-script. Xi varjabbli huma mgħoddija lill-iskritt bħala input, u tikkonfigura l-VPN. Sfortunatament, ma stajtx nifhem kif naqsam il-flussi tat-traffiku bejn VPN korporattiva u l-bqija tal-Internet billi tuża skript indiġenu.

Apparentement, l-utilità vpn-slice ġiet żviluppata speċjalment għal nies bħali, li tippermettilek tibgħat traffiku minn żewġ kanali mingħajr ma tiżfen b'tambourine. Ukoll, jiġifieri, ikollok tiżfen, imma m'għandekx għalfejn tkun shaman.

Separazzjoni tat-traffiku bl-użu ta 'vpn-slice

L-ewwelnett, inti jkollok tinstalla vpn-slice, ser ikollok biex issib dan lilek innifsek. Jekk ikun hemm mistoqsijiet fil-kummenti, nikteb post separat dwar dan. Iżda dan huwa programm Python regolari, għalhekk m'għandux ikun hemm diffikultajiet. Installajt bl-użu ta' virtualenv.

U mbagħad trid tiġi applikata l-utilità, billi tuża l-iswiċċ -script, li tindika li openconnect li minflok l-iskrittura standard, trid tuża vpn-slice

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin 
--script "./bin/vpn-slice 192.168.430.0/24  " vpn.evilcorp.com 

--script huwa mgħoddi string bi kmand li jeħtieġ li jissejjaħ minflok l-iskrittura. ./bin/vpn-slice - mogħdija għall-fajl eżekutibbli vpn-slice 192.168.430.0/24 - maskra ta 'indirizzi biex tmur fil-vpn. Hawnhekk, irridu nfissru li jekk l-indirizz jibda b'192.168.430, allura r-riżorsa b'dan l-indirizz jeħtieġ li tiġi mfittxija ġewwa l-VPN

Is-sitwazzjoni issa għandha tkun kważi normali. Kważi. Issa tista' tmur Habr u tista' tmur għar-riżorsa intra-korporattiva bl-ip, iżda ma tistax tmur għar-riżorsa intra-korporattiva b'isem simboliku. Jekk tispeċifika tqabbil bejn l-isem simboliku u l-indirizz fl-ospiti, kollox għandu jaħdem. U ahdem sakemm jinbidel l-ip. Linux issa jista 'jaċċessa l-Internet jew l-intranet, skond l-IP. Iżda DNS mhux korporattiv għadu jintuża biex jiddetermina l-indirizz.

Il-problema tista 'wkoll timmanifesta ruħha f'din il-forma - fuq ix-xogħol kollox tajjeb, iżda fid-dar tista' taċċessa biss riżorsi korporattivi interni permezz tal-IP. Dan għaliex meta tkun konness mal-Wi-Fi korporattiv, id-DNS korporattiv jintuża wkoll, u l-indirizzi simboliċi mill-VPN jiġu solvuti fiha, minkejja l-fatt li għadu impossibbli li tmur f'indirizz bħal dan mingħajr ma tuża VPN.

Modifika awtomatika tal-fajl hosts

Jekk vpn-slice tintalab b'mod edukat, imbagħad wara li tgħolli l-VPN, tista 'tmur fid-DNS tagħha, issib hemm l-indirizzi IP tar-riżorsi meħtieġa bl-ismijiet simboliċi tagħhom u daħħalhom f'hosts. Wara li titfi l-VPN, dawn l-indirizzi se jitneħħew mill-hosts. Biex tagħmel dan, trid tgħaddi ismijiet simboliċi lil vpn-slice bħala argumenti. Bħal dan.

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com 

Issa kollox għandu jaħdem kemm fl-uffiċċju kif ukoll fuq il-bajja.

Fittex l-indirizzi tas-sottodominji kollha fid-DNS mogħtija mill-VPN

Jekk hemm ftit indirizzi fin-netwerk, allura l-approċċ li jimmodifika awtomatikament il-fajl hosts jaħdem pjuttost tajjeb. Imma jekk hemm ħafna riżorsi fuq in-netwerk, allura jkollok bżonn kontinwament li żżid linji bħal zoidberg.test.evilcorp.com għall-iskrittura zoidberg huwa l-isem ta 'wieħed mill-bankijiet tat-test.

Imma issa li nifhmu ftit għaliex din il-ħtieġa tista’ tiġi eliminata.

Jekk, wara li tgħolli l-VPN, tfittex f'/etc/hosts, tista' tara din il-linja

192.168.430.534 dns0.tun0 # vpn-slice-tun0 AWTOKREAT

U ġiet miżjuda linja ġdida għal resolv.conf. Fil-qosor, vpn-slice b'xi mod iddetermina fejn jinsab is-server dns għall-vpn.

Issa rridu niżguraw li sabiex insiru nafu l-indirizz IP ta 'isem ta' dominju li jispiċċa f'evilcorp.com, Linux imur għad-DNS korporattiv, u jekk tkun meħtieġa xi ħaġa oħra, imbagħad għal dak default.

Għamilt Google għal żmien pjuttost twil u sibt li tali funzjonalità hija disponibbli f'Ubuntu barra mill-kaxxa. Dan ifisser il-kapaċità li tuża s-server DNS lokali dnsmasq biex issolvi l-ismijiet.

Jiġifieri, tista 'tagħmel ċert li Linux dejjem imur lejn is-server DNS lokali għall-indirizzi IP, li mbagħad, skond l-isem tad-dominju, se jfittex l-IP fuq is-server DNS estern korrispondenti.

Biex timmaniġġja dak kollu relatat man-netwerks u l-konnessjonijiet tan-netwerk, Ubuntu juża NetworkManager, u l-interface grafika għall-għażla, pereżempju, konnessjonijiet Wi-Fi hija biss front end għaliha.

Ikollna bżonn nitilgħu fil-konfigurazzjoni tagħha.

  1. Oħloq fajl f'/etc/NetworkManager/dnsmasq.d/evilcorp

indirizz=/.evilcorp.com/192.168.430.534

Oqgħod attent għall-punt quddiem evilcorp. Jindika dnsmasq li s-sottodominji kollha ta 'evilcorp.com għandhom jiġu mfittxija fid-DNS korporattivi.

  1. Għid NetworkManager biex juża dnsmasq għar-riżoluzzjoni tal-isem

Il-konfigurazzjoni tal-maniġer tan-netwerk tinsab f'/etc/NetworkManager/NetworkManager.conf Trid iżżid hemm:

[main] dns=dnsmasq

  1. Ibda mill-ġdid NetworkManager

service network-manager restart

Issa, wara li tikkonnettja ma 'VPN bl-użu ta' openconnect u vpn-slice, l-ip se jiġi determinat normalment, anki jekk ma żżidx indirizzi simboliċi mal-argumenti għal vpnslice.

Kif taċċessa servizzi individwali permezz ta' VPN

Wara li rnexxieli nikkonnettja mal-VPN, kont kuntent ħafna għal jumejn, u mbagħad irriżulta li jekk nikkonnettja mal-VPN minn barra n-netwerk tal-uffiċċju, allura l-posta ma taħdimx. Is-sintomu huwa familjari, hux?

Il-posta tagħna tinsab f'mail.publicevilcorp.com, li jfisser li ma taqax taħt ir-regola f'dnsmasq u l-indirizz tas-server tal-posta jitfittex permezz tad-DNS pubbliku.

Ukoll, l-uffiċċju għadu juża DNS, li fih dan l-indirizz. Hekk ħsibt. Fil-fatt, wara li żżid il-linja ma 'dnsmasq

indirizz=/mail.publicevilcorp.com/192.168.430.534

is-sitwazzjoni ma nbidlet xejn. ip baqa l-istess. Kelli mmur naħdem.

U wara biss, meta dħalt iktar fil-fond fis-sitwazzjoni u fhimt ftit il-problema, persuna intelliġenti qaltli kif se nsolviha. Kien meħtieġ li tikkonnettja mas-server tal-posta mhux biss hekk, iżda permezz ta 'VPN

Jien nuża vpn-slice biex ngħaddi mill-VPN għal indirizzi li jibdew b'192.168.430. U s-server tal-posta mhux biss għandu indirizz simboliku li mhuwiex sottodominju ta 'evilcorp, lanqas m'għandux indirizz IP li jibda b'192.168.430. U ovvjament ma jħalli lil ħadd min-netwerk ġenerali jiġi għandu.

Sabiex Linux jgħaddi mill-VPN u mas-server tal-posta, trid iżżidha wkoll ma 'vpn-slice. Ejja ngħidu li l-indirizz tal-posta huwa 555.555.555.555

echo "fixedPassword567987" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin
--script "./bin/vpn-slice 555.555.555.555 192.168.430.0/24" vpn.evilcorp.com 

Skript biex tqajjem VPN b'argument wieħed

Dan kollu, ovvjament, mhuwiex konvenjenti ħafna. Iva, tista 'tiffranka t-test f'fajl u tikkopjah fil-console minflok ma ttajpjah bl-idejn, iżda xorta mhix pjaċevoli ħafna. Biex tagħmel il-proċess aktar faċli, tista 'tkebbeb il-kmand fi skript li se jkun jinsab f'PATH. U mbagħad ikollok bżonn biss li ddaħħal il-kodiċi riċevut minn Google Authenticator

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 --user poxvuibr --passwd-on-stdin 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com 

Jekk tpoġġi l-iskrittura f'connect~evilcorp~ tista 'sempliċement tikteb fil-console

connect_evil_corp 567987

Imma issa għad trid iżżomm il-console li fiha openconnect qed jaħdem miftuħ għal xi raġuni

Running openconnect fl-isfond

Fortunatament, l-awturi ta 'openconnect ħadu ħsiebna u żiedu ċavetta speċjali għall-programm -background, li jagħmel il-programm jaħdem fl-isfond wara t-tnedija. Jekk tmexxiha bħal din, tista 'tagħlaq il-console wara t-tnedija

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  

Issa mhux ċar fejn imorru ż-zkuk. B'mod ġenerali, ma tantx għandna bżonn zkuk, imma qatt ma tkun taf. openconnect jista' jidderieġihom lejn syslog, fejn jinżammu sikuri u siguri. trid iżżid is-swiċċ –syslog mal-kmand

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background 
--syslog 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  

U għalhekk, jirriżulta li l-openconnect qed jaħdem x'imkien fl-isfond u ma jdejjaq lil ħadd, iżda mhux ċar kif twaqqafha. Jiġifieri, tista ', ovvjament, tiffiltra l-output ps billi tuża grep u tfittex proċess li ismu fih openconnect, iżda dan huwa b'xi mod tedious. Grazzi lill-awturi li ħasbu dwar dan ukoll. Openconnect għandu key -pid-file, li bih tista' tagħti struzzjonijiet lil openconnect biex tikteb l-identifikatur tal-proċess tagħha f'fajl.

#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background  
--syslog 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  
--pid-file ~/vpn-pid

Issa tista 'dejjem toqtol proċess bil-kmand

kill $(cat ~/vpn-pid)

Jekk ma jkunx hemm proċess, joqtol se curse, iżda mhux se tarmi żball. Jekk il-fajl ma jkunx hemm, allura ma jiġri xejn ħażin lanqas, sabiex tkun tista 'toqtol il-proċess b'mod sikur fl-ewwel linja tal-iskrittura.

kill $(cat ~/vpn-pid)
#!/bin/sh  
echo "fixedPassword$1" | openconnect --servercert sha256:4444444444444444444444444444444444444444444444444444444444444444 
--user poxvuibr 
--passwd-on-stdin 
--background 
--syslog 
--script "./bin/vpn-slice 192.168.430.0/24  jira.vpn.evilcorp.com git.vpn.evilcorp.com " vpn.evilcorp.com  
--pid-file ~/vpn-pid

Issa tista 'tixgħel il-kompjuter tiegħek, tiftaħ il-console u tmexxi l-kmand, tgħaddiha l-kodiċi minn Google Authenticator. Il-console jista 'mbagħad jiġi nailed isfel.

Mingħajr VPN-slice. Minflok wara kelma

Irriżulta li kien diffiċli ħafna biex tifhem kif tgħix mingħajr VPN-slice. Kelli naqra u google ħafna. Fortunatament, wara li qattgħu tant ħin bi problema, manwali tekniċi u anke man openconnect jaqraw bħal rumanzi eċċitanti.

Bħala riżultat, sibt li vpn-slice, bħall-iskrittura nattiva, timmodifika t-tabella tar-routing għal netwerks separati.

Tabella tar-rotot

Fi kliem sempliċi, din hija tabella fl-ewwel kolonna li fiha minn xiex għandu jibda l-indirizz li jrid jgħaddi minnu Linux, u fit-tieni kolonna liema adapter tan-netwerk għandu jgħaddi minnu f'dan l-indirizz. Fil-fatt, hemm aktar kelliema, iżda dan ma jbiddilx l-essenza.

Sabiex tara t-tabella tar-rotta, għandek bżonn tmexxi l-kmand tar-rotta ip

default via 192.168.1.1 dev wlp3s0 proto dhcp metric 600 
192.168.430.0/24 dev tun0 scope link 
192.168.1.0/24 dev wlp3s0 proto kernel scope link src 192.168.1.534 metric 600 
192.168.430.534 dev tun0 scope link 

Hawnhekk, kull linja hija responsabbli għal fejn trid tmur sabiex tibgħat messaġġ lil xi indirizz. L-ewwel hija deskrizzjoni ta' fejn għandu jibda l-indirizz. Sabiex tifhem kif tiddetermina li 192.168.0.0/16 ifisser li l-indirizz għandu jibda b'192.168, trid tfittex fuq Google x'inhi maskra tal-indirizz IP. Wara dev hemm l-isem tal-adapter li lilu għandu jintbagħat il-messaġġ.

Għal VPN, Linux għamel adapter virtwali - tun0. Il-linja tiżgura li t-traffiku għall-indirizzi kollha li jibdew b'192.168 jgħaddi minnha

192.168.0.0/16 dev tun0 scope link 

Tista 'wkoll tħares lejn l-istat attwali tat-tabella tar-rotta billi tuża l-kmand rotta -n (L-indirizzi IP huma anonimizzati b'mod għaqli) Dan il-kmand jipproduċi riżultati f'forma differenti u ġeneralment huwa deprecated, iżda l-output tiegħu spiss jinstab fil-manwali fuq l-Internet u jeħtieġ li tkun kapaċi taqrah.

Fejn għandu jibda l-indirizz IP għal rotta jista 'jinftiehem mill-kombinazzjoni tal-kolonni tad-Destinazzjoni u tal-Genmask. Dawk il-partijiet tal-indirizz IP li jikkorrispondu man-numri 255 f'Genmask jitqiesu, iżda dawk fejn hemm 0 mhumiex. Jiġifieri, il-kombinazzjoni ta 'Destinazzjoni 192.168.0.0 u Genmask 255.255.255.0 tfisser li jekk l-indirizz jibda b'192.168.0, allura t-talba għaliha tmur tul din ir-rotta. U jekk id-Destinazzjoni 192.168.0.0 iżda Genmask 255.255.0.0, allura talbiet għal indirizzi li jibdew b'192.168 se jmorru tul din ir-rotta

Sabiex nifhem x'jagħmel fil-fatt vpn-slice, iddeċidejt li nħares lejn l-istati tat-tabelli qabel u wara

Qabel ma tixgħel il-VPN kien hekk

route -n 

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0
222.222.222.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0
333.333.333.333 222.222.222.1   255.255.255.255 UGH   0      0        0 wlp3s0

Wara li sejjaħ openconnect mingħajr vpn-slice sar hekk

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 tun0
0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0
222.222.222.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0
333.333.333.333 222.222.222.1   255.255.255.255 UGH   0      0        0 wlp3s0
192.168.430.0   0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.430.534 0.0.0.0         255.255.255.255 UH    0      0        0 tun0

U wara li ċċempel openconnect flimkien ma 'vpn-slice bħal dan

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0
222.222.222.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0
333.333.333.333 222.222.222.1   255.255.255.255 UGH   0      0        0 wlp3s0
192.168.430.0   0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.430.534 0.0.0.0         255.255.255.255 UH    0      0        0 tun0

Wieħed jista 'jara li jekk ma tużax vpn-slice, allura openconnect jikteb b'mod espliċitu li l-indirizzi kollha, ħlief dawk indikati speċifikament, għandhom jiġu aċċessati permezz ta' vpn.

Hawnhekk:

0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 tun0

Hemm, ħdejha, ​​immedjatament indikata triq oħra, li għandha tintuża jekk l-indirizz li Linux qed jipprova jgħaddi minnu ma jaqbilx ma 'ebda maskra mit-tabella.

0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0

Hawn diġà hemm miktub li f'dan il-każ għandek bżonn tuża adapter Wi-Fi standard.

Nemmen li l-passaġġ VPN tintuża minħabba li hija l-ewwel waħda fit-tabella tar-routing.

U teoretikament, jekk tneħħi din il-mogħdija default mit-tabella tar-rotta, allura flimkien ma 'dnsmasq openconnect għandha tiżgura tħaddim normali.

pruvajt

route del default

U kollox ħadem.

It-talbiet tar-rotot lil server tal-posta mingħajr vpn-slice

Imma għandi wkoll mail server bl-indirizz 555.555.555.555, li wkoll jeħtieġ li jiġi aċċessat permezz VPN. Ir-rotta għaliha jeħtieġ ukoll li tiżdied manwalment.

ip route add 555.555.555.555 via dev tun0

U issa kollox tajjeb. Allura tista 'tagħmel mingħajr vpn-slice, imma trid tkun taf sew x'qed tagħmel. Issa qed naħseb biex inżid mal-aħħar linja tal-iskrittura nattiva tal-openconnect it-tneħħija tar-rotta default u nżid rotta għall-posta wara li tikkonnettja mal-vpn, biss sabiex ikun hemm inqas partijiet li jiċċaqilqu fir-rota tiegħi.

Probabbilment, din il-kelma wara tkun biżżejjed biex xi ħadd jifhem kif twaqqaf VPN. Imma waqt li kont qed nipprova nifhem x'għandek tagħmel u kif nagħmel, qrajt ħafna gwidi bħal dawn li jaħdmu għall-awtur, iżda għal xi raġuni ma jaħdmux għalija, u ddeċidejt li nżid hawn il-biċċiet kollha li sibt. Inkun kuntent ħafna dwar xi ħaġa bħal dik.

Sors: www.habr.com

Żid kumment