Sut i anfon un is-rwydwaith preifat yn unig trwy'r VPN
Dewiswch rhwng llwybr ar y cleient, llwybr a wthir gan y gweinydd a detholwyr a drafodir, yna cludwch un is-rwydwaith preifat heb dwnnel llawn.
Un is-rwydwaith preifat trwy'r twnnel a phopeth arall ar hyd eich llwybr arferol yw cais bach sydd â llawer o ffyrdd o fynd o'i le. Nid y blwch ticio â'r enw split tunneling sy'n penderfynu'r canlyniad, ond ble y gorfodir y penderfyniad: tabl llwybrau'r cleient ei hun, llwybr a wthir gan y gweinydd, neu bolisi a drafodir gan y ddwy ochr. Dewiswch y haen anghywir a chewch naill ai twnnel llawn na fu ei eisiau arnoch erioed, neu lwybr sy'n pwyntio i mewn i dwnnel y mae'r ochr arall yn gwrthod ei dderbyn. Rwy'n defnyddio prawf o dair amod cyn agor unrhyw ffurfweddiad, ac yna'n dewis un o'r mecanweithiau isod.
Tair amod sy'n penderfynu'r dyluniad
Yn gyntaf, mae angen y rhagddodiad a'r mwgwd uniongyrchol arnoch gan berchennog y rhwydwaith. Nid yw'r rhwydwaith 10.x yn rhagddodiad; 10.20.0.0/16 yw'r rhagddodiad. Cadarnhewch nad yw'n gorgyffwrdd â'ch LAN cartref, â phont Docker nac ag unrhyw VPN arall a redwch, oherwydd mae gorgyffwrdd yn gwneud y llwybr yn amwys ac mae'r cnewyllyn yn dewis y cofnod na fwriadwyd gennych.
Yn ail, pwy sy'n ateb y traffig dychwel. Mae llwybro pecyn i mewn i'r twnnel yn ei gyrraedd y gweinydd VPN yn unig. Os yw'r is-rwydwaith y tu ôl i lwybrydd arall nad oes ganddo lwybr yn ôl i'ch pwll cleientiaid, rhaid i'r gweinydd guddwisgo'r traffig, neu rhaid i'r llwybrydd hwnnw ddysgu eich pwll. Nid oes unrhyw lwybr ar ochr y cleient yn trwsio llwybr dychwel sydd ar goll.
Yn drydydd, y man gorfodi. Mae rhai cleientiaid yn gosod llwybr ac mae'r system weithredu yn gwneud gweddill y gwaith. Mae eraill yn trafod polisi, ac nid yw polisi nad yw'r porth yn ei dderbyn yn cynhyrchu twnnel o gwbl: mae pecynnau'n cael eu gollwng heb unrhyw wall amlwg. Darganfyddwch pa un o'r ddau sydd gennych cyn ysgrifennu unrhyw beth.
WireGuard: AllowedIPs yw'r tabl llwybrau
Ar y cleient, mae AllowedIPs yn rhestru'r cyrchfannau a gaiff fynd i mewn i'r twnnel, ac mae wg-quick yn troi pob cofnod yn llwybr cyffredin. Felly hanner cleient y dasg hon yw un llinell.
[Peer]
PublicKey = ...
Endpoint = vpn.example.net:51820
AllowedIPs = 10.20.0.0/16Nawr cymharwch gofnod y gweinydd ar gyfer yr un cleient. Mae'n disgrifio'r hyn y bydd y gweinydd yn ei anfon at y cleient, sef fel arfer cyfeiriad twnnel y cleient, nid yr is-rwydwaith preifat.
[Peer]
PublicKey = ...
AllowedIPs = 10.99.0.2/32Cyfnewid y ddau hyn yw'r camgymeriad a welaf amlaf. Mae rhoi 10.20.0.0/16 o dan adran peer y gweinydd yn datgan bod yr is-rwydwaith cyfan y tu ôl i'r cleient hwnnw, sy'n honiad safle-i-safle yn hytrach na chaniatâd. Mae pecynnau nad ydynt yn cyfateb i AllowedIPs unrhyw peer yn cael eu gollwng yn dawel, felly mae cofnod anghywir yn edrych yn union fel problem mur cadarn.
Os ydych chi'n rheoli llwybrau eich hun, gosodwch Table = off o dan [Interface] ac ychwanegwch y llwybr a ddymunwch. Yna ni ychwanegir dim yn awtomatig, felly mae'r llwybr yn perthyn i beth bynnag sy'n codi'r rhyngwyneb.
OpenVPN: gwthiwch y llwybr, yna gwnewch yn siŵr ei fod yn cyrraedd
Ar weinydd arferol mae'r newid yn un cyfarwyddeb yng nghonffig y gweinydd, wrth ymyl y pwll cleientiaid.
push "route 10.20.0.0 255.255.0.0"Mae'r cleient yn ei ychwanegu pan fydd yn cysylltu. Mae'r modd methu yn ymddangos pan fydd yr un proffil hefyd yn gwthio redirect-gateway, neu pan fydd rhywun eisoes wedi ychwanegu route-nopull: mae'r cyntaf yn troi'r sesiwn yn dwnnel llawn, ac mae'r ail yn taflu pob llwybr a wthiwyd gan gynnwys eich un chi.
Dylai cleient sydd angen ymddygiad cul yn erbyn gweinydd twnnel llawn anwybyddu dim ond y rhannau nad yw eu heisiau. Yn OpenVPN 2.4 ac yn ddiweddarach, mae pull-filter yn bodoli'n union ar gyfer hynny.
pull-filter ignore "redirect-gateway"
route 10.20.0.0 255.255.0.0Cadwch deuluoedd cyfeiriadau ar wahân: nid yw llwybr IPv4 a wthiwyd yn gwneud dim i wasanaeth mewnol sy'n datrys i IPv6, ac mae'r gwasanaeth hwnnw'n methu dros y twnnel tra bod popeth arall yn edrych yn iawn.
Pan nad yw'r is-rwydwaith preifat ar y gweinydd VPN ond y tu ôl i gleient arall, rhaid dweud wrth y gweinydd. Ychwanegwch ffeil fesul cleient trwy client-config-dir sy'n cynnwys iroute 10.20.0.0 255.255.0.0, ynghyd â'r route cyfatebol fel y bydd cleientiaid eraill yn dysgu'r llwybr. Heb iroute nid oes gan y gweinydd unrhyw reswm dros anfon y rhagddodiad hwnnw i lawr y twnnel penodol hwnnw.
IPsec: rhaid i'r detholwyr traffig gytuno
Gyda IPsec nid oes llwybr i'w wthio. Mae'r ddwy ochr yn trafod pa gyfeiriadau sy'n byw y tu mewn i'r twnnel, ac nid yw traffig y tu allan i'r detholwyr y cytunwyd arnynt yn cael ei amgryptio na'i anfon trwyddo. Ar gleient strongSwan mae'r detholwyr yn benodol.
leftsubnet=192.168.1.0/24
rightsubnet=10.20.0.0/16Os yw'r porth wedi'i ffurfweddu ag 0.0.0.0/0 ar y ddwy ochr, mae culhau IKEv2 fel arfer yn lleihau'r SA plentyn i groestoriad y ddau gynnig, sef y canlyniad a ddymunwch. Mae rhai pyrth yn hytrach yn gwrthod cynnig nad yw'n cyfateb i'w detholwyr ffurfweddedig, ac yna mae'r log yn dangos SA plentyn wedi methu yn hytrach na chwyn am lwybro. Pan fydd hynny'n digwydd mae'r newid yn perthyn i'r porth, oherwydd ni all llwybr cleient greu twnnel ar gyfer detholydd na fydd yr ochr arall yn ei dderbyn.
Ar Windows mae'r cleient adeiledig yn cuddio'r un penderfyniad y tu ôl i ddau osodiad. Rhaid i rannu'r twnnel fod ymlaen, a rhaid cofrestru'r rhagddodiad yn erbyn y proffil.
Set-VpnConnection -Name Office -SplitTunneling $true
Add-VpnConnectionRoute -ConnectionName Office -DestinationPrefix 10.20.0.0/16Cofrestru'r rhagddodiad sy'n ei wneud yn goroesi ailgysylltiad, rhywbeth nad yw llwybr a ychwanegwyd â llaw yn ei wneud.
Cadwch y pen draw a DNS y tu allan i'r penderfyniad
Rhaid i ben draw'r VPN aros yn gyrraeddadwy heb y twnnel, neu mae'r twnnel yn cwympo i mewn iddo'i hun. Pan mai dim ond 10.20.0.0/16 a lwybrir mae hynny'n awtomatig, gan fod y pen draw yn gyfeiriad cyhoeddus. Ar broffil twnnel llawn nid yw, ac mae'r cleient angen llwybr gwesteiwr penodol i'r pen draw cyn i'r twnnel godi.
Mae DNS yn ail benderfyniad nad yw gwthio llwybr yn ei wneud drosoch. Mae enwau mewnol fel arfer yn datrys trwy ddatryswr na all ond y rhwydwaith preifat gyrraedd. Os yw'r gweinydd yn gwthio gweinydd DNS, mae pob enw'n mynd trwyddo; os nad yw, mae enwau mewnol naill ai'n methu neu'n datrys yn gyhoeddus i rywbeth na fwriadwyd gennych. Mae DNS hollt yn cadw un parth chwilio ar y datryswr mewnol, ond mae'n dibynnu ar gefnogaeth y cleient, felly triniwch ef fel tasg ar wahân yn hytrach nag fel sgil-effaith llwybro.
Gwiriwch, yna ailgychwynnwch a gwiriwch eto
Mae tair prawf yn ymdrin â'r cwestiwn llwybro. Gofynnwch i'r cnewyllyn i ble y byddai cyfeiriad pell yn mynd, cewch rywbeth o du mewn'r is-rwydwaith, ac yna cadarnhewch fod cais cyhoeddus cyffredin yn dal i adael trwy eich cysylltiad arferol.
ip route get 10.20.5.7
curl -sS http://10.20.5.7/health
curl -sS https://ifconfig.meMae'r llinell gyntaf yn enwi rhyngwyneb. Os yw'n enwi eich rhyngwyneb ffisegol, ni chyrhaeddodd y llwybr erioed. Ar Windows mae Find-NetRoute -RemoteIPAddress 10.20.5.7 yn ateb yr un cwestiwn, ac fe ddylai'r prawf olaf ddangos eich cyfeiriad arferol yn hytrach na chyfeiriad y gweinydd VPN.
Yna ailgychwynnwch. Mae llwybrau a ychwanegwyd â llaw yn diflannu, tra bod llwybrau o'r proffil, o ffurfweddiad a wthiwyd neu o AllowedIPs yn dod yn ôl. Os yw mynediad cul yn gweithio cyn yr ailgychwyn ac yn methu ar ei ôl, mae'r bai yn y modd y mae'r twnnel yn cychwyn, nid yn y llwybr ei hun.
Cyn ei alw'n gyflawn, cadarnhewch bedwar peth: daeth y rhagddodiad oddi wrth berchennog y rhwydwaith ac nid yw'n gorgyffwrdd â dim lleol, mae'r llwybr dychwel yn bodoli neu mae rheol guddwisg yn ei ddisodli, y mecanwaith a ffurfweddwyd gennych yw'r un sy'n gorfodi llwybro ar eich platfform, ac mae'r un profion yn llwyddo ar ôl ailgychwyn glân. Mae nodiadau trosglwyddo strongSwan yn werth eu darllen os mai'r llwybr dychwel yw'r rhan sy'n methu'n barhaus.