Kumaha nyambungkeun ka VPN perusahaan dina Linux nganggo openconnect sareng vpn-slice

Naha anjeun hoyong nganggo Linux di tempat damel, tapi VPN perusahaan anjeun henteu ngantep anjeun? Teras artikel ieu tiasa ngabantosan, sanaos ieu henteu pasti. Abdi hoyong ngingetkeun anjeun sateuacanna yén kuring henteu ngartos masalah administrasi jaringan, janten kamungkinan kuring ngalakukeun sagala anu salah. Di sisi anu sanés, mungkin waé kuring tiasa nyerat pituduh ku cara anu kaharti ku jalma biasa, janten kuring nyarankeun anjeun nyobian éta.

Tulisan éta ngandung seueur inpormasi anu teu dipikabutuh, tapi tanpa pangaweruh ieu kuring moal tiasa ngabéréskeun masalah anu teu disangka-sangka muncul ka kuring kalayan nyetél VPN. Kuring nyangka yén saha waé anu nyobian nganggo pituduh ieu bakal ngagaduhan masalah anu kuring henteu ngagaduhan, sareng kuring ngarepkeun inpormasi tambahan ieu bakal ngabantosan ngabéréskeun masalah ieu nyalira.

Seuseueurna paréntah anu dianggo dina pituduh ieu kedah dieksekusi via sudo, anu parantos dipupus pikeun pondokna. Tetep émut.

Paling alamat IP geus parah obfuscated, jadi lamun ningali alamat kawas 435.435.435.435, kudu aya sababaraha IP normal dinya, husus pikeun kasus anjeun.

Kuring boga Ubuntu 18.04, tapi kuring pikir kalawan parobahan minor pituduh bisa dilarapkeun ka sebaran séjén. Sanajan kitu, dina téks ieu Linux == Ubuntu.

Cisco Nyambungkeun

Jalma anu nganggo Windows atanapi MacOS tiasa nyambung ka VPN perusahaan kami liwat Cisco Connect, anu kedah nunjukkeun alamat gateway sareng, unggal waktos anjeun nyambung, lebetkeun kecap akses anu diwangun ku bagian tetep sareng kode anu dihasilkeun ku Google Authenticator.

Dina kasus Linux Ubuntu, Kuring teu bisa ngajalankeun Cisco Connect, tapi junun google rekomendasi ngagunakeun openconnect, dijieun husus pikeun ngaganti Cisco Connect.

Openconnect

Sacara tiori, Ubuntu gaduh antarmuka grafis khusus pikeun openconnect, tapi éta henteu tiasa dianggo pikeun kuring. Meureun éta keur hadé.

Dina Ubuntu, openconnect dipasang tina manajer pakét.

apt install openconnect

Langsung saatos instalasi, anjeun tiasa nyobian nyambung ka VPN

openconnect --user poxvuibr vpn.evilcorp.com

vpn.evilcorp.com mangrupikeun alamat VPN fiktif
poxvuibr - ngaran pamaké fiktif

openconnect bakal naroskeun anjeun ngalebetkeun kecap konci, anu, hayu atuh ngingetkeun anjeun, diwangun ku bagian tetep sareng kode tina Google Authenticator, teras éta bakal nyobian nyambung ka vpn. Lamun gawéna, ucapan salamet, anjeun bisa aman skip tengah, nu loba nyeri, sarta ngaléngkah ka titik ngeunaan openconnect ngajalankeun di tukang. Lamun teu hasil, mangka anjeun bisa neruskeun. Sanaos upami éta tiasa dianggo nalika nyambungkeun, contona, ti Wi-Fi tamu di tempat damel, maka éta tiasa teuing awal pikeun girang, anjeun kedah nyobian ngulang prosedur ti bumi.

Sertipikat

Aya kamungkinan luhur yén teu aya anu ngamimitian, sareng kaluaran openconnect bakal katingali sapertos kieu:

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

Di hiji sisi, ieu teu pikaresepeun, sabab teu aya sambungan kana VPN, tapi di sisi séjén, kumaha carana ngalereskeun masalah ieu, prinsipna mah, jelas.

Di dieu server dikirim kami sertipikat, ku nu urang bisa nangtukeun yén sambungan nu keur dilakukeun ka server of Corporation pituin urang, sarta teu ka fraudster jahat, sarta sertipikat ieu kanyahoan mun sistem. Ku kituna manehna teu bisa pariksa naha server nyata atawa henteu. Janten, upami bisi, éta lirén damel.

Supados openconnect tiasa nyambung ka server, anjeun kedah terangkeun sacara eksplisit sertipikat mana anu kedah diturunkeun tina server VPN nganggo konci —servercert

Sareng anjeun tiasa mendakan sertipikat mana anu dikirimkeun ka kami langsung tina anu dicitak openconnect. Ieu tina potongan ieu:

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

Kalayan paréntah ieu anjeun tiasa nyobian nyambung deui

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

Panginten ayeuna tiasa dianggo, teras anjeun tiasa ngaléngkah ka tungtungna. Tapi sacara pribadi, Ubunta nunjukkeun kuring anjir dina bentuk ieu

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 bakal ngabéréskeun, tapi anjeun moal tiasa angkat ka dinya. Alamat sapertos jira.evilcorp.com henteu direngsekeun pisan.

Naon anu lumangsung di dieu teu jelas keur kuring. Tapi percobaan nunjukeun yen lamun nambahkeun garis kana /etc/resolv.conf

nameserver 192.168.430.534

lajeng alamat di jero VPN bakal ngawitan magically ngabéréskeun sarta anjeun bisa leumpang ngaliwatan aranjeunna, nyaeta, naon DNS anu pilari pikeun ngabéréskeun alamat Sigana husus dina /etc/resolv.conf, sarta teu tempat sejenna.

Anjeun tiasa pariksa yén aya sambungan kana VPN sareng tiasa dianggo tanpa ngarobih /etc/resolv.conf; pikeun ngalakukeun ieu, lebetkeun dina browser sanés nami simbolis sumber tina VPN, tapi alamat IP na

Hasilna, aya dua masalah

  • Nalika nyambung ka VPN, dns na teu diangkat
  • kabéh lalulintas ngaliwatan VPN, nu teu ngidinan aksés ka Internét

Kuring gé ngabejaan Anjeun naon nu kudu ayeuna, tapi mimitina hiji automation saeutik.

Éntri otomatis tina bagian tetep tina kecap akses

Ayeuna, paling dipikaresep anjeun parantos ngalebetkeun kecap konci anjeun sahenteuna lima kali sareng prosedur ieu parantos bosen anjeun. Firstly, sabab sandi panjang, jeung Bréh, sabab lamun ngasupkeun anjeun kudu pas dina jangka waktu nu tetep

Solusi ahir pikeun masalah éta henteu kalebet dina tulisan, tapi anjeun tiasa mastikeun yén bagian tetep tina kecap akses henteu kedah diasupkeun sababaraha kali.

Hayu urang nganggap yén bagian tetep tina sandi nyaeta fixedPassword, sarta bagian ti Google Authenticator nyaeta 567. Sakabéh sandi bisa diliwatan mun openconnect via input baku ngagunakeun --passwd-on-stdin argumen.

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

Ayeuna anjeun tiasa teras-terasan uih deui kana paréntah anu terakhir diasupkeun sareng robih ngan ukur bagian tina Google Authenticator di dinya.

VPN perusahaan teu ngidinan Anjeun pikeun internetan Internet.

Sacara umum, teu pisan merenah mun anjeun kudu make komputer misah pikeun buka Habr. Henteu mampuh nyalin-témpél tina stackoverfow umumna tiasa ngalumpuhkeun pagawéan, janten aya anu kedah dilakukeun.

Urang kudu kumaha bae ngatur eta ku kituna lamun anjeun kudu ngakses sumberdaya ti jaringan internal, Linux Ubuntu kana VPN, sarta lamun anjeun kudu indit ka Habr, eta mana kana Internet.

openconnect, sanggeus ngajalankeun sarta ngadegkeun sambungan kalawan vpn, executes skrip husus, anu lokasina di /usr/share/vpnc-scripts/vpnc-script. Sababaraha variabel disalurkeun kana naskah salaku input, sareng ngonpigurasikeun VPN. Hanjakalna, kuring henteu tiasa terang kumaha ngabagi aliran lalu lintas antara VPN perusahaan sareng sesa Internét nganggo naskah asli.

Tétéla, utilitas vpn-slice dikembangkeun khususna pikeun jalma sapertos kuring, anu ngamungkinkeun anjeun ngirim lalu lintas ngaliwatan dua saluran tanpa nari sareng rebana. Nya, nyaéta, anjeun kedah nari, tapi anjeun henteu kedah janten dukun.

Pamisahan lalu lintas nganggo vpn-slice

Anu mimiti, anjeun kedah pasang vpn-slice, anjeun kedah terang ieu nyalira. Upami aya patarosan dina koméntar, kuring bakal nyerat tulisan anu misah ngeunaan ieu. Tapi ieu mangrupikeun program Python biasa, janten teu kedah aya kasusah. Kuring dipasang ngagunakeun virtualenv.

Teras utilitasna kedah diterapkeun, nganggo saklar -script, nunjukkeun ka openconnect yén tinimbang naskah standar, anjeun kedah nganggo 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 diliwatan string kalawan paréntah nu kudu disebut tinimbang naskah. ./bin/vpn-slice - jalur ka vpn-slice file laksana 192.168.430.0/24 - topeng alamat pikeun buka dina vpn. Di dieu, kami hartosna yén upami alamatna dimimitian ku 192.168.430, maka sumberdaya sareng alamat ieu kedah dipilarian di jero VPN.

Kaayaan ayeuna kedah ampir normal. méh-méhan. Ayeuna anjeun tiasa angkat ka Habr sareng anjeun tiasa angkat ka sumber daya intra-perusahaan ku ip, tapi anjeun moal tiasa angkat ka sumber daya intra-perusahaan ku nami simbolis. Upami anjeun netepkeun pertandingan antara nami simbolis sareng alamat dina host, sadayana kedah jalan. Sareng damel dugi ka ipna robih. Linux ayeuna tiasa ngaksés Internét atanapi intranét, gumantung kana IP. Tapi DNS non-perusahaan masih dipaké pikeun nangtukeun alamat.

Masalahna ogé tiasa muncul dina bentuk ieu - di tempat kerja sadayana saé, tapi di bumi anjeun ngan ukur tiasa ngaksés sumber daya perusahaan internal via IP. Ieu kusabab nalika anjeun nyambung ka Wi-Fi perusahaan, DNS perusahaan ogé dianggo, sareng alamat simbolis tina VPN direngsekeun di jerona, sanaos kanyataan yén éta masih teu mungkin pikeun angkat ka alamat sapertos kitu tanpa nganggo VPN.

Modifikasi otomatis tina file host

Upami vpn-slice ditaros sacara sopan, teras saatos ngangkat VPN, éta tiasa angkat ka DNS na, mendakan alamat IP sumber daya anu diperyogikeun ku nami simbolisna sareng lebetkeun kana host. Saatos mareuman VPN, alamat ieu bakal dipiceun tina host. Jang ngalampahkeun ieu, anjeun kedah ngalebetkeun nami simbolis ka vpn-slice salaku argumen. Resep ieu.

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 

Ayeuna sadayana kedah dianggo di kantor sareng di pantai.

Milarian alamat sadaya subdomain dina DNS anu dipasihkeun ku VPN

Upami aya sababaraha alamat dina jaringan, maka pendekatan pikeun ngarobih file host sacara otomatis tiasa dianggo. Tapi lamun aya loba sumberdaya dina jaringan, mangka anjeun kudu terus nambahkeun garis kawas zoidberg.test.evilcorp.com kana Aksara zoidberg nyaeta nami salah sahiji bangku test.

Tapi ayeuna urang ngartos sakedik naha kabutuhan ieu tiasa dileungitkeun.

Upami, saatos ngangkat VPN, anjeun ningali dina /etc/hosts, anjeun tiasa ningali garis ieu

192.168.430.534 dns0.tun0 # vpn-slice-tun0 OTOMATIS

Sarta baris anyar ieu ditambahkeun kana resolv.conf. Pondokna, vpn-slice kumaha bae ditangtukeun dimana server dns pikeun vpn lokasina.

Ayeuna urang kedah mastikeun yén pikeun milarian alamat IP tina nami domain anu ditungtungan ku evilcorp.com, Linux nuju ka DNS perusahaan, sareng upami peryogi anu sanés, teras ka standar.

Kuring Googled pikeun sababaraha waktos sareng mendakan yén fungsionalitas sapertos sayogi di Ubuntu out of the box. Ieu ngandung harti kamampuh ngagunakeun dnsmasq server DNS lokal pikeun ngabéréskeun ngaran.

Nyaéta, anjeun tiasa mastikeun yén Linux Ubuntu sok angkat ka server DNS lokal pikeun alamat IP, anu dina gilirannana, gumantung kana nami domain, bakal milarian IP dina server DNS éksternal anu saluyu.

Pikeun ngatur sagalana patali jaringan sarta sambungan jaringan, Ubuntu migunakeun NetworkManager, sarta antarbeungeut grafis pikeun milih, Contona, sambungan Wi-Fi ngan hiji tungtung hareup eta.

Urang bakal kedah nanjak dina konfigurasi na.

  1. Jieun file dina /etc/NetworkManager/dnsmasq.d/evilcorp

alamat =/.evilcorp.com/192.168.430.534

Nengetan titik di hareup evilcorp. Ieu sinyal dnsmasq yén sakabéh subdomains of evilcorp.com kudu searched dina dns perusahaan.

  1. Ngabejaan NetworkManager ngagunakeun dnsmasq pikeun resolusi ngaran

Konfigurasi network-manager aya di /etc/NetworkManager/NetworkManager.conf Anjeun kudu nambahan di dinya:

[utama] dns=dnsmasq

  1. Balikan deui NetworkManager

service network-manager restart

Ayeuna, saatos nyambung ka VPN nganggo openconnect sareng vpn-slice, ip bakal ditangtukeun sacara normal, sanaos anjeun henteu nambihan alamat simbolis kana argumen ka vpnslice.

Kumaha ngaksés jasa individu liwat VPN

Saatos kuring tiasa nyambung ka VPN, kuring bagja pisan salami dua dinten, teras tétéla upami kuring nyambung ka VPN ti luar jaringan kantor, maka suratna henteu jalan. Gejalana wawuh, sanés?

Surat kami aya di mail.publicevilcorp.com, anu hartosna éta henteu digolongkeun dina aturan dnsmasq sareng alamat server mail dipilarian ngalangkungan DNS umum.

Nya, kantor masih nganggo DNS, anu ngandung alamat ieu. Éta anu kuring pikir. Kanyataanna, sanggeus nambahkeun garis ka dnsmasq

alamat=/mail.publicevilcorp.com/192.168.430.534

kaayaan teu robah pisan. ip tetep sarua. Abdi kedah angkat damel.

Sarta ngan engké, nalika kuring delved deeper kana kaayaan tur ngartos masalah saeutik, hiji jalma pinter ngawartoskeun kuring kumaha carana ngajawab eta. Ieu diperlukeun pikeun nyambung ka server mail teu ngan kitu, tapi ngaliwatan VPN

Kuring make vpn-slice pikeun ngaliwatan VPN ka alamat nu dimimitian ku 192.168.430. Jeung server mail teu ngan boga alamat simbolis nu lain subdomain of evilcorp, eta oge teu boga alamat IP nu dimimitian ku 192.168.430. Sarta tangtu anjeunna teu ngidinan saha ti jaringan umum datang ka anjeunna.

Dina raraga Linux Ubuntu ngaliwatan VPN jeung ka server mail, Anjeun kudu ditambahkeun kana vpn-slice ogé. Hayu urang nyebutkeun alamat mailer urang nyaeta 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 

Skrip pikeun ngangkat VPN sareng hiji argumen

Sadaya ieu, tangtosna, teu pisan merenah. Leres, anjeun tiasa nyimpen téks kana file sareng nyalin-témpél kana konsol tinimbang ngetik ku leungeun, tapi éta henteu pikaresepeun pisan. Pikeun ngagampangkeun prosésna, anjeun tiasa ngabungkus paréntah dina skrip anu bakal aya dina PATH. Teras anjeun ngan ukur kedah ngalebetkeun kode anu ditampi ti 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 

Upami anjeun nempatkeun naskah dina connect~evilcorp~ anjeun tiasa nyerat dina konsol

connect_evil_corp 567987

Tapi ayeuna anjeun masih kedah tetep konsol dimana openconnect dibuka pikeun sababaraha alesan

Ngajalankeun openconnect dina latar tukang

Untungna, pangarang openconnect ngurus kami sarta ditambahkeun konci husus ka program -background, nu ngajadikeun karya program di tukang sanggeus peluncuran. Upami anjeun ngajalankeun sapertos kieu, anjeun tiasa nutup konsol saatos peluncuran

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

Ayeuna éta ngan teu jelas dimana log indit. Sacara umum, urang teu bener butuh log, tapi anjeun pernah nyaho. openconnect tiasa alihan aranjeunna ka syslog, dimana aranjeunna bakal dijaga aman sareng aman. anjeun kedah nambihan saklar –syslog kana paréntah

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

Janten, tétéla yén openconnect damel di mana waé di latar tukang sareng henteu ngaganggu saha waé, tapi henteu écés kumaha ngeureunkeunana. Nyaéta, anjeun tiasa, tangtosna, nyaring kaluaran ps nganggo grep sareng milarian prosés anu namina ngandung openconnect, tapi ieu kumaha waé pikasieuneun. Hatur nuhun ka pangarang anu ogé mikir ngeunaan ieu. Openconnect gaduh konci -pid-file, dimana anjeun tiasa maréntahkeun openconnect pikeun nyerat identifier prosésna kana file.

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

Ayeuna anjeun salawasna tiasa maéhan prosés kalayan paréntah

kill $(cat ~/vpn-pid)

Lamun euweuh prosés, maéhan bakal kutukan, tapi moal buang kasalahan. Upami filena henteu aya, maka moal aya anu goréng anu bakal kajantenan, ku kituna anjeun tiasa aman maéhan prosés dina baris kahiji naskah.

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

Ayeuna anjeun tiasa ngaktipkeun komputer anjeun, muka konsol sareng ngajalankeun paréntahna, ngalangkungan kodeu ti Google Authenticator. konsol nu lajeng bisa dipaku handap.

Tanpa VPN-nyiksikan. Gantina hiji afterword

Tétéla hésé pisan ngartos kumaha carana hirup tanpa VPN-slice. Kuring kungsi maca jeung google pisan. Untungna, sanggeus méakkeun jadi loba waktu jeung masalah, manual teknis na malah lalaki openconnect maca kawas novel seru.

Hasilna, kuring mendakan yén vpn-slice, sapertos naskah asli, ngarobih tabel routing pikeun misahkeun jaringan.

méja Routing

Saderhana, ieu mangrupikeun méja dina kolom kahiji anu ngandung alamat anu badé dilalui ku Linux kedah dimimitian, sareng dina kolom kadua dimana adaptor jaringan kedah dilalui dina alamat ieu. Kanyataanna, aya deui speaker, tapi ieu teu ngarobah hakekat.

Pikeun ningali tabel routing, anjeun kedah ngajalankeun paréntah ip route

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 

Di dieu, unggal jalur tanggung jawab dimana anjeun kedah angkat pikeun ngirim pesen ka sababaraha alamat. Kahiji nyaeta pedaran dimana alamat kudu dimimitian. Dina raraga ngartos kumaha carana nangtukeun yén 192.168.0.0/16 hartina alamat kudu mimitian ku 192.168, Anjeun kudu google naon masker alamat IP. Saatos dev aya nami adaptor anu pesenna kedah dikirim.

Pikeun VPN, Linux ngadamel adaptor virtual - tun0. Jalur éta mastikeun yén lalu lintas pikeun sadaya alamat anu dimimitian ku 192.168 ngalangkungan éta

192.168.0.0/16 dev tun0 scope link 

Anjeun oge bisa nempo kaayaan kiwari tabel routing maké paréntah rute -n (Alamat IP anu cleverly anonymized) Paréntah ieu ngahasilkeun hasil dina formulir béda jeung umumna deprecated, tapi kaluaran na mindeng kapanggih dina manual dina Internet jeung anjeun kudu bisa maca eta.

Dimana alamat IP pikeun rute anu kedah ngamimitian tiasa kahartos tina kombinasi kolom Tujuan sareng Genmask. Bagian-bagian tina alamat IP anu pakait sareng nomer 255 di Genmask dipertimbangkeun, tapi anu aya 0 henteu. Nyaéta, kombinasi Tujuan 192.168.0.0 sareng Genmask 255.255.255.0 hartosna upami alamatna dimimitian ku 192.168.0, maka pamundut ka éta bakal sapanjang jalur ieu. Sareng upami Tujuan 192.168.0.0 tapi Genmask 255.255.0.0, teras nyuhunkeun alamat anu dimimitian ku 192.168 bakal sapanjang jalur ieu

Pikeun terang naon vpn-slice saleresna, kuring mutuskeun pikeun ningali kaayaan tabel sateuacan sareng saatos.

Sateuacan ngaktipkeun VPN éta sapertos kieu

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

Saatos nelepon openconnect tanpa vpn-slice janten sapertos kieu

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

Sareng saatos nelepon openconnect dina kombinasi sareng vpn-slice sapertos kieu

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

Éta tiasa katingali yén upami anjeun henteu nganggo vpn-slice, maka openconnect sacara eksplisit nyerat yén sadaya alamat, kecuali anu dituduhkeun sacara khusus, kedah diaksés ngalangkungan vpn.

Di dieu:

0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 tun0

Di dinya, di gigireun éta, jalur anu sanés langsung dituduhkeun, anu kedah dianggo upami alamat anu badé dilalui ku Linux henteu cocog sareng topéng tina méja.

0.0.0.0         222.222.222.1   0.0.0.0         UG    600    0        0 wlp3s0

Ieu parantos diserat di dieu yén dina hal ieu anjeun kedah nganggo adaptor Wi-Fi standar.

Kuring yakin yén jalur VPN dipaké sabab éta kahiji dina tabel routing.

Sareng sacara téoritis, upami anjeun ngahapus jalur standar ieu tina méja routing, teras sareng dnsmasq openconnect kedah mastikeun operasi normal.

Abdi capé

route del default

Jeung sagalana digawé.

Routing requests ka server mail tanpa vpn-slice

Tapi kuring ogé gaduh server mail sareng alamat 555.555.555.555, anu ogé kedah diaksés via VPN. Rute ka dinya ogé kedah ditambihan sacara manual.

ip route add 555.555.555.555 via dev tun0

Tur ayeuna sagalana geus rupa. Janten anjeun tiasa ngalakukeun tanpa vpn-slice, tapi anjeun kedah terang naon anu anjeun lakukeun. Kuring ayeuna mikir ngeunaan nambahkeun kana garis panungtungan tina skrip openconnect pituin ngaleupaskeun jalur standar tur nambahkeun jalur pikeun mailer sanggeus nyambungkeun ka vpn, ngan ku kituna aya sababaraha bagian pindah dina sapédah abdi.

Panginten, kecap konci ieu cekap pikeun batur ngartos kumaha nyetél VPN. Tapi bari kuring nyobian ngartos naon jeung kumaha carana ngalakukeun, Kuring maca rada loba Panungtun sapertos anu dianggo pikeun pangarang, tapi pikeun sababaraha alesan teu dianggo pikeun kuring, sarta kuring mutuskeun pikeun nambahkeun dieu sagala potongan nu kuring kapanggih. Abdi bakal bagja pisan ngeunaan hal sapertos kitu.

sumber: www.habr.com

Tambahkeun komentar