Jinsi ya kuunganishwa na VPN ya ushirika katika Linux kwa kutumia openconnect na vpn-slice

Je, ungependa kutumia Linux kazini, lakini VPN yako ya kampuni haitakuruhusu? Kisha nakala hii inaweza kusaidia, ingawa hii sio hakika. Ningependa kukuonya mapema kwamba sielewi masuala ya utawala wa mtandao vizuri, kwa hiyo inawezekana kwamba nilifanya kila kitu kibaya. Kwa upande mwingine, inawezekana kwamba ninaweza kuandika mwongozo kwa namna ambayo itaeleweka kwa watu wa kawaida, kwa hiyo nakushauri ujaribu.

Nakala hiyo ina habari nyingi zisizohitajika, lakini bila ujuzi huu sikuweza kutatua matatizo ambayo yalionekana kwangu bila kutarajia kwa kuanzisha VPN. Nadhani mtu yeyote anayejaribu kutumia mwongozo huu atakuwa na matatizo ambayo sikuwa nayo, na ninatumaini kwamba maelezo haya ya ziada yatasaidia kutatua matatizo haya peke yao.

Amri nyingi zinazotumiwa katika mwongozo huu zinahitaji kuendeshwa kupitia sudo, ambayo imeondolewa kwa ufupi. Kumbuka.

Anwani nyingi za IP zimefichwa sana, kwa hivyo ukiona anwani kama 435.435.435.435, lazima kuwe na IP ya kawaida hapo, maalum kwa kesi yako.

Nina Ubuntu 18.04, lakini nadhani kwa mabadiliko madogo mwongozo unaweza kutumika kwa usambazaji mwingine. Hata hivyo, katika maandishi haya Linux == Ubuntu.

Cisco Unganisha

Wale walio kwenye Windows au MacOS wanaweza kuunganisha kwenye VPN yetu ya shirika kupitia Cisco Connect, ambayo inahitaji kubainisha anwani ya lango na, kila wakati unapounganisha, weka nenosiri linalojumuisha sehemu isiyobadilika na msimbo unaozalishwa na Kithibitishaji cha Google.

Kwa upande wa Linux, sikuweza kufanya Cisco Connect iendeshe, lakini niliweza kutumia google pendekezo la kutumia openconnect, lililofanywa mahususi kuchukua nafasi ya Cisco Connect.

Fungua muunganisho

Kwa nadharia, Ubuntu ina kiolesura maalum cha picha cha openconnect, lakini haikufanya kazi kwangu. Labda ni kwa bora.

Kwenye Ubuntu, openconnect imesakinishwa kutoka kwa kidhibiti cha kifurushi.

apt install openconnect

Mara tu baada ya usakinishaji, unaweza kujaribu kuunganisha kwa VPN

openconnect --user poxvuibr vpn.evilcorp.com

vpn.evilcorp.com ni anwani ya VPN ya uwongo
poxvuibr - jina la mtumiaji la uwongo

openconnect itakuomba kuingia nenosiri, ambalo, napenda kukukumbusha, lina sehemu ya kudumu na msimbo kutoka kwa Kithibitishaji cha Google, na kisha itajaribu kuunganisha kwenye vpn. Ikiwa inafanya kazi, pongezi, unaweza kuruka katikati kwa usalama, ambayo ni maumivu mengi, na uendelee kwenye hatua kuhusu openconnect inayoendesha nyuma. Ikiwa haifanyi kazi, basi unaweza kuendelea. Ingawa ikiwa ilifanya kazi wakati wa kuunganishwa, kwa mfano, kutoka kwa mgeni wa Wi-Fi kazini, basi inaweza kuwa mapema sana kufurahiya; unapaswa kujaribu kurudia utaratibu kutoka nyumbani.

Cheti

Kuna uwezekano mkubwa kwamba hakuna kitakachoanza, na pato la openconnect litaonekana kama hii:

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

Kwa upande mmoja, hii haifurahishi, kwa sababu hapakuwa na uhusiano na VPN, lakini kwa upande mwingine, jinsi ya kurekebisha tatizo hili ni, kwa kanuni, wazi.

Hapa seva ilitutumia cheti, ambacho tunaweza kuamua kuwa muunganisho unafanywa kwa seva ya shirika letu asilia, na sio kwa mlaghai mbaya, na cheti hiki hakijulikani kwa mfumo. Na kwa hivyo hawezi kuangalia ikiwa seva ni ya kweli au la. Na kwa hivyo, ikiwa tu, itaacha kufanya kazi.

Ili openconnect iunganishwe na seva, unahitaji kuiambia kwa uwazi ni cheti gani kinapaswa kutoka kwa seva ya VPN kwa kutumia kitufe cha -servercert.

Na unaweza kujua ni cheti gani ambacho seva ilitutumia moja kwa moja kutoka kwa openconnect iliyochapishwa. Hapa kuna kutoka kwa kipande hiki:

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

Kwa amri hii unaweza kujaribu kuunganisha tena

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

Labda sasa inafanya kazi, basi unaweza kuendelea hadi mwisho. Lakini kibinafsi, Ubunta alinionyesha mtini katika fomu hii

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 itasuluhisha, lakini hutaweza kwenda huko. Anwani kama jira.evilcorp.com hazijatatuliwa hata kidogo.

Kilichotokea hapa siko wazi kwangu. Lakini jaribio linaonyesha kuwa ukiongeza laini kwa /etc/resolv.conf

nameserver 192.168.430.534

basi anwani zilizo ndani ya VPN zitaanza kusuluhisha kichawi na unaweza kuzipitia, ambayo ni kwamba, ni nini DNS inatafuta kutatua anwani inaonekana haswa katika /etc/resolv.conf, na sio mahali pengine.

Unaweza kuthibitisha kuwa kuna muunganisho wa VPN na inafanya kazi bila kufanya mabadiliko yoyote kwa /etc/resolv.conf; ili kufanya hivyo, ingiza tu kwenye kivinjari sio jina la mfano la rasilimali kutoka kwa VPN, lakini anwani yake ya IP.

Matokeo yake, kuna matatizo mawili

  • Wakati wa kuunganisha kwa VPN, dns yake haijachukuliwa
  • trafiki yote hupitia VPN, ambayo hairuhusu ufikiaji wa Mtandao

Nitakuambia nini cha kufanya sasa, lakini kwanza automatisering kidogo.

Ingizo otomatiki la sehemu iliyowekwa ya nenosiri

Kufikia sasa, kuna uwezekano mkubwa kuwa tayari umeingiza nenosiri lako angalau mara tano na utaratibu huu tayari umekuchosha. Kwanza, kwa sababu nenosiri ni la muda mrefu, na pili, kwa sababu wakati wa kuingia unahitaji kuingia ndani ya muda uliowekwa

Suluhisho la mwisho la tatizo halikujumuishwa katika makala, lakini unaweza kuhakikisha kuwa sehemu ya kudumu ya nenosiri haifai kuingizwa mara nyingi.

Hebu tuchukulie kuwa sehemu isiyobadilika ya nenosiri ni fastaPassword, na sehemu kutoka kwa Kithibitishaji cha Google ni 567. Nenosiri lote linaweza kupitishwa ili openconnect kupitia ingizo la kawaida kwa kutumia --passwd-on-stdin hoja.

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

Sasa unaweza kurudi mara kwa mara kwa amri ya mwisho iliyoingizwa na kubadilisha sehemu tu ya Kithibitishaji cha Google hapo.

VPN ya shirika haikuruhusu kuvinjari Mtandao.

Kwa ujumla, sio usumbufu sana wakati unapaswa kutumia kompyuta tofauti kwenda kwa Habr. Kutoweza kunakili-kubandika kutoka kwa stackoverfow kwa ujumla kunaweza kulemaza kazi, kwa hivyo kuna kitu kinahitaji kufanywa.

Tunahitaji kwa namna fulani kuandaa ili wakati unahitaji kupata rasilimali kutoka kwa mtandao wa ndani, Linux inakwenda VPN, na wakati unahitaji kwenda kwa Habr, huenda kwenye mtandao.

openconnect, baada ya kuzindua na kuanzisha uhusiano na vpn, hutekeleza hati maalum, ambayo iko katika /usr/share/vpnc-scripts/vpnc-script. Vigezo vingine hupitishwa kwa hati kama ingizo, na husanidi VPN. Kwa bahati mbaya, sikuweza kujua jinsi ya kugawanya mtiririko wa trafiki kati ya VPN ya shirika na mtandao wote kwa kutumia hati asili.

Inavyoonekana, matumizi ya kipande cha vpn ilitengenezwa haswa kwa watu kama mimi, ambayo hukuruhusu kutuma trafiki kupitia chaneli mbili bila kucheza na tambourini. Kweli, ambayo ni, itabidi ucheze, lakini sio lazima uwe shaman.

Kutenganisha trafiki kwa kutumia kipande cha vpn

Kwanza, itabidi usakinishe kipande cha vpn, itabidi ujitambue mwenyewe. Ikiwa kuna maswali katika maoni, nitaandika chapisho tofauti kuhusu hili. Lakini hii ni programu ya kawaida ya Python, kwa hivyo haipaswi kuwa na ugumu wowote. Niliweka kwa kutumia virtualenv.

Na kisha matumizi lazima yatumike, kwa kutumia -script swichi, ikionyesha kufungulia kuwa badala ya hati ya kawaida, unahitaji kutumia 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 hupitishwa kamba na amri ambayo inahitaji kuitwa badala ya hati. ./bin/vpn-slice - njia ya faili ya vpn-kipande inayoweza kutekelezwa 192.168.430.0/24 - mask ya anwani za kwenda kwenye vpn. Hapa, tunamaanisha kwamba ikiwa anwani inaanza na 192.168.430, basi rasilimali iliyo na anwani hii inahitaji kutafutwa ndani ya VPN.

Hali inapaswa sasa kuwa karibu kawaida. Karibu. Sasa unaweza kwenda kwa Habr na unaweza kwenda kwa rasilimali ya ndani ya shirika kwa ip, lakini huwezi kwenda kwa rasilimali ya ndani ya shirika kwa jina la ishara. Ikiwa utataja mechi kati ya jina la ishara na anwani katika wapangishaji, kila kitu kinapaswa kufanya kazi. Na fanya kazi hadi ip ibadilike. Linux sasa inaweza kufikia Mtandao au intraneti, kulingana na IP. Lakini DNS isiyo ya shirika bado inatumiwa kuamua anwani.

Tatizo linaweza pia kujidhihirisha katika fomu hii - katika kazi kila kitu ni sawa, lakini nyumbani unaweza tu kupata rasilimali za ndani za ushirika kupitia IP. Hii ni kwa sababu unapounganishwa na Wi-Fi ya ushirika, DNS ya ushirika pia hutumiwa, na anwani za mfano kutoka kwa VPN zinatatuliwa ndani yake, licha ya ukweli kwamba bado haiwezekani kwenda kwa anwani hiyo bila kutumia VPN.

Marekebisho ya kiotomatiki ya faili ya mwenyeji

Ikiwa vpn-kipande kinaulizwa kwa heshima, basi baada ya kuinua VPN, inaweza kwenda kwa DNS yake, kupata huko anwani za IP za rasilimali zinazohitajika kwa majina yao ya mfano na kuziingiza kwa majeshi. Baada ya kuzima VPN, anwani hizi zitaondolewa kwenye seva pangishi. Ili kufanya hivyo, unahitaji kupitisha majina ya ishara kwa kipande cha vpn kama hoja. Kama hii.

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 

Sasa kila kitu kinapaswa kufanya kazi katika ofisi na pwani.

Tafuta anwani za vikoa vidogo vyote katika DNS iliyotolewa na VPN

Ikiwa kuna anwani chache ndani ya mtandao, basi mbinu ya kurekebisha kiotomatiki faili ya majeshi inafanya kazi vizuri kabisa. Lakini ikiwa kuna rasilimali nyingi kwenye mtandao, basi utahitaji kila mara kuongeza mistari kama zoidberg.test.evilcorp.com kwenye hati zoidberg ni jina la mojawapo ya madawati ya majaribio.

Lakini sasa tunaelewa kidogo kwa nini hitaji hili linaweza kuondolewa.

Ikiwa, baada ya kuinua VPN, ukiangalia katika /etc/hosts, unaweza kuona mstari huu

192.168.430.534 dns0.tun0 # vpn-kipande-tun0 IMEFANYWA KIOTOKALI

Na laini mpya iliongezwa kwa resolv.conf. Kwa kifupi, vpn-slice kwa namna fulani imeamua mahali ambapo seva ya dns ya vpn iko.

Sasa tunahitaji kuhakikisha kuwa ili kujua anwani ya IP ya jina la kikoa linaloishia evilcorp.com, Linux inakwenda kwa DNS ya shirika, na ikiwa kitu kingine kinahitajika, basi kwa chaguo-msingi.

Niligoogle kwa muda mrefu na nikagundua kuwa utendakazi kama huu unapatikana kwa Ubuntu nje ya boksi. Hii inamaanisha uwezo wa kutumia seva ya ndani ya DNS dnsmasq kutatua majina.

Hiyo ni, unaweza kuhakikisha kwamba Linux daima huenda kwa seva ya ndani ya DNS kwa anwani za IP, ambayo kwa upande wake, kulingana na jina la kikoa, itatafuta IP kwenye seva ya nje ya DNS inayofanana.

Ili kudhibiti kila kitu kinachohusiana na mitandao na viunganisho vya mtandao, Ubuntu hutumia NetworkManager, na kiolesura cha kielelezo cha kuchagua, kwa mfano, viunganisho vya Wi-Fi ni mwisho wake tu.

Tutahitaji kupanda katika usanidi wake.

  1. Unda faili katika /etc/NetworkManager/dnsmasq.d/evilcorp

anwani=/.evilcorp.com/192.168.430.534

Makini na uhakika mbele ya evilcorp. Inaashiria dnsmasq kwamba vikoa vidogo vyote vya evilcorp.com vinapaswa kutafutwa katika dns ya shirika.

  1. Mwambie NetworkManager kutumia dnsmasq kwa utatuzi wa jina

Usanidi wa msimamizi wa mtandao unapatikana /etc/NetworkManager/NetworkManager.conf Unahitaji kuongeza hapo:

[kuu] dns=dnsmasq

  1. Anzisha tena Kidhibiti cha Mtandao

service network-manager restart

Sasa, baada ya kuunganishwa na VPN kwa kutumia openconnect na vpn-slice, ip itaamuliwa kawaida, hata ikiwa hautaongeza anwani za mfano kwenye hoja kwenye vpnslice.

Jinsi ya kupata huduma za kibinafsi kupitia VPN

Baada ya kufanikiwa kuunganishwa na VPN, nilifurahi sana kwa siku mbili, na kisha ikawa kwamba ikiwa nikiunganisha kwenye VPN kutoka nje ya mtandao wa ofisi, basi barua haifanyi kazi. Dalili hiyo inajulikana, sivyo?

Barua zetu ziko katika mail.publicevilcorp.com, kumaanisha kuwa haiko chini ya sheria katika dnsmasq na anwani ya seva ya barua hutafutwa kupitia DNS ya umma.

Kweli, ofisi bado inatumia DNS, ambayo ina anwani hii. Hivyo ndivyo nilivyofikiri. Kwa kweli, baada ya kuongeza mstari kwa dnsmasq

anwani=/mail.publicevilcorp.com/192.168.430.534

hali haijabadilika hata kidogo. ip ilibaki sawa. Ilibidi niende kazini.

Na baadaye tu, nilipozama zaidi katika hali hiyo na kuelewa shida kidogo, mtu mmoja mwenye akili aliniambia jinsi ya kulitatua. Ilihitajika kuunganishwa na seva ya barua sio tu kama hiyo, lakini kupitia VPN

Ninatumia vpn-slice kupitia VPN kwa anwani zinazoanza na 192.168.430. Na seva ya barua sio tu na anwani ya mfano ambayo sio kikoa kidogo cha evilcorp, pia haina anwani ya IP inayoanza na 192.168.430. Na bila shaka hairuhusu mtu yeyote kutoka kwa mtandao wa jumla kuja kwake.

Ili Linux ipitie VPN na kwa seva ya barua, unahitaji kuiongeza kwenye kipande cha vpn pia. Wacha tuseme anwani ya mtumaji ni 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 

Hati ya kuinua VPN kwa hoja moja

Yote hii, bila shaka, si rahisi sana. Ndiyo, unaweza kuhifadhi maandishi kwenye faili na kunakili-uibandike kwenye console badala ya kuiandika kwa mkono, lakini bado haipendezi sana. Ili kurahisisha mchakato, unaweza kufunga amri katika hati ambayo itakuwa iko kwenye PATH. Na kisha utahitaji tu kuingiza msimbo uliopokelewa kutoka kwa Kithibitishaji cha Google

#!/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 

Ukiweka maandishi connect~evilcorp~ unaweza kuandika tu kwenye koni

connect_evil_corp 567987

Lakini sasa bado unapaswa kuweka koni ambayo openconnect inafunguliwa kwa sababu fulani

Inaendesha openconnect chinichini

Kwa bahati nzuri, waandishi wa openconnect walitutunza na kuongeza ufunguo maalum kwa msingi wa programu, ambayo inafanya programu kufanya kazi nyuma baada ya kuzinduliwa. Ikiwa utaiendesha kama hii, unaweza kufunga koni baada ya uzinduzi

#!/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  

Sasa haijulikani tu wapi magogo huenda. Kwa ujumla, hatuhitaji magogo, lakini huwezi kujua. openconnect inaweza kuzielekeza kwenye syslog, ambapo zitawekwa salama na salama. unahitaji kuongeza -syslog swichi kwa amri

#!/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  

Na kwa hiyo, zinageuka kuwa openconnect inafanya kazi mahali fulani nyuma na haisumbui mtu yeyote, lakini haijulikani jinsi ya kuizuia. Hiyo ni, unaweza, kwa kweli, kuchuja matokeo ya ps kwa kutumia grep na utafute mchakato ambao jina lake lina openconnect, lakini hii ni ya kuchosha kwa namna fulani. Asante kwa waandishi ambao walifikiria juu ya hii pia. Openconnect ina key -pid-file, ambayo unaweza kuelekeza openconnect kuandika kitambulisho chake cha mchakato kwa faili.

#!/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

Sasa unaweza kuua mchakato kila wakati na amri

kill $(cat ~/vpn-pid)

Ikiwa hakuna mchakato, kuua italaani, lakini haitatupa kosa. Ikiwa faili haipo, basi hakuna chochote kibaya kitatokea, hivyo unaweza kuua mchakato kwa usalama katika mstari wa kwanza wa hati.

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

Sasa unaweza kuwasha kompyuta yako, fungua koni na uendeshe amri, ukiipitisha msimbo kutoka kwa Kithibitishaji cha Google. Kisha console inaweza kupigwa chini.

Bila VPN-kipande. Badala ya neno la baadaye

Ilibadilika kuwa ngumu sana kuelewa jinsi ya kuishi bila kipande cha VPN. Ilibidi nisome na kugoogle sana. Kwa bahati nzuri, baada ya kutumia muda mwingi na tatizo, miongozo ya kiufundi na hata man openconnect ilisoma kama riwaya za kusisimua.

Kama matokeo, niligundua kuwa kipande cha vpn, kama hati asili, hurekebisha jedwali la uelekezaji ili kutenganisha mitandao.

Jedwali la uelekezaji

Ili kuiweka kwa urahisi, hii ni jedwali katika safu ya kwanza ambayo ina anwani ambayo Linux inataka kupitia inapaswa kuanza nayo, na katika safu ya pili ni adapta gani ya mtandao kupitia anwani hii. Kwa kweli, kuna wasemaji zaidi, lakini hii haibadilishi kiini.

Ili kutazama jedwali la uelekezaji, unahitaji kuendesha amri ya njia ya 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 

Hapa, kila mstari unawajibika kwa wapi unahitaji kwenda ili kutuma ujumbe kwa anwani fulani. Ya kwanza ni maelezo ya mahali ambapo anwani inapaswa kuanza. Ili kuelewa jinsi ya kuamua kuwa 192.168.0.0/16 inamaanisha kuwa anwani inapaswa kuanza na 192.168, unahitaji google nini mask ya anwani ya IP ni. Baada ya dev kuna jina la adapta ambayo ujumbe unapaswa kutumwa.

Kwa VPN, Linux ilitengeneza adapta ya kawaida - tun0. Mstari huo unahakikisha kuwa trafiki ya anwani zote kuanzia 192.168 inapitia

192.168.0.0/16 dev tun0 scope link 

Unaweza pia kuangalia hali ya sasa ya jedwali la uelekezaji kwa kutumia amri njia -n (Anwani za IP hazijulikani kwa ujanja) Amri hii hutoa matokeo kwa fomu tofauti na kwa ujumla haitumiki, lakini matokeo yake mara nyingi hupatikana katika miongozo kwenye Mtandao na unahitaji kuwa na uwezo wa kuisoma.

Ambapo anwani ya IP ya njia inapaswa kuanza inaweza kueleweka kutoka kwa mchanganyiko wa safu wima Lengwa na Genmask. Sehemu hizo za anwani ya IP ambazo zinalingana na nambari 255 katika Genmask zinazingatiwa, lakini zile ambapo kuna 0 sio. Hiyo ni, mchanganyiko wa Destination 192.168.0.0 na Genmask 255.255.255.0 inamaanisha kwamba ikiwa anwani inaanza na 192.168.0, basi ombi kwake litaenda kwa njia hii. Na ikiwa Destination 192.168.0.0 lakini Genmask 255.255.0.0, basi ombi la anwani zinazoanza na 192.168 zitafuata njia hii.

Ili kujua ni nini vpn-slice hufanya, niliamua kuangalia majimbo ya jedwali kabla na baada.

Kabla ya kuwasha VPN ilikuwa hivi

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

Baada ya kupiga simu openconnect bila vpn-slice ikawa hivi

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

Na baada ya kupiga simu openconnect pamoja na vpn-slice kama hii

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

Inaweza kuonekana kuwa ikiwa hutumii vpn-slice, basi openconnect inaandika kwa uwazi kwamba anwani zote, isipokuwa zile zilizoonyeshwa mahsusi, lazima zifikiwe kupitia vpn.

Hapa:

0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 tun0

Huko, karibu nayo, njia nyingine inaonyeshwa mara moja, ambayo lazima itumike ikiwa anwani ambayo Linux inajaribu kupita hailingani na mask yoyote kutoka kwa meza.

0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0

Tayari imeandikwa hapa kwamba katika kesi hii unahitaji kutumia adapta ya kawaida ya Wi-Fi.

Ninaamini kuwa njia ya VPN inatumika kwa sababu ndiyo ya kwanza kwenye jedwali la uelekezaji.

Na kinadharia, ikiwa utaondoa njia hii ya msingi kutoka kwa jedwali la uelekezaji, basi kwa kushirikiana na dnsmasq openconnect inapaswa kuhakikisha operesheni ya kawaida.

Nilijaribu

route del default

Na kila kitu kilifanya kazi.

Kutuma maombi kwa seva ya barua bila kipande cha vpn

Lakini pia nina seva ya barua na anwani 555.555.555.555, ambayo pia inahitaji kupatikana kupitia VPN. Njia ya kwenda kwake pia inahitaji kuongezwa kwa mikono.

ip route add 555.555.555.555 via dev tun0

Na sasa kila kitu ni sawa. Kwa hivyo unaweza kufanya bila vpn-kipande, lakini unahitaji kujua vizuri unachofanya. Sasa ninafikiria kuongeza kwenye mstari wa mwisho wa hati asili ya openconnect kuondolewa kwa njia chaguo-msingi na kuongeza njia ya mtumaji barua baada ya kuunganishwa na vpn, ili tu kuwe na sehemu chache zinazosonga kwenye baiskeli yangu.

Pengine, maneno haya ya baadaye yatatosha kwa mtu kuelewa jinsi ya kuanzisha VPN. Lakini nilipokuwa nikijaribu kuelewa ni nini na jinsi ya kufanya, nilisoma miongozo mingi kama hiyo ambayo inafanya kazi kwa mwandishi, lakini kwa sababu fulani haifanyi kazi kwangu, na niliamua kuongeza hapa vipande vyote ambavyo nimepata. Ningefurahi sana kitu kama hicho.

Chanzo: mapenzi.com

Kuongeza maoni