VPN'ди толук туннелге которосуз, трафиктин көбү баш ийет, анан бир дарек түз жооп берет — принтер, NAS, 10.x'теги секирүү хосту. Ачык окуу — туннель агып жатат, ошондуктан демейки маршруттун метрикасын төмөндөтөсүз, бирок эч нерсе өзгөрбөйт. Ошол ийгиликсиз аракет — белги: демейки маршрут — камдык вариант, өкүм эмес. Маршрут издөө метрикаларды салыштырганга чейин эле эң узун дал келген префиксти алат, ошондуктан /24 кайсы санды тиркесеңиз да /0'ден жеңе берет. Бул тартип айкын болгондо, агым адатта бирөө атайылап орноткон маршрут же кардар эч качан жабууну ойлогон эмес префикс болот.

Демейки маршрут чындыгында эмнени убада кылат

0.0.0.0/0 ар бир IPv4 багытына нөл биттик тактык менен дал келет. Ал хост өз таблицасы жакшыраак сүрөттөбөгөн нерсеге жете алышы үчүн бар. 192.168.1.0/24'кө маршрут 24 дал келген бит алып жүрөт, ошондуктан 192.168.1.40 үчүн ал бирөө метрикаларды, административдик аралыкты же кардар артыкчылык талаасы деп атаган нерсени салыштырганга чейин жеңет. Ошол эле эреже Linux FIB'инде, Windows маршруттоо таблицасында жана macOS артындагы BSD стекте колдонулат.

Кадимки LAN'да бул жүрүм-турум — өзгөчөлүк. Жергиликтүү ички тармак түз туташкан, туннель серептөөңүздү алып жатканда принтер иштей берет жана эч нерсе туура эмес конфигурацияланган эмес. Суроого татыктуу суроо — ошол бир дарек эмне үчүн түз кетет деген эмес, кайсы таблицадагы кайсы префикс ага дал келет жана аны ал жерге ким койду.

Жарым демейки маршруттар, же демейки жазуу эмне үчүн тийилбеген болуп көрүнүшү мүмкүн

Эң таза мисал — OpenVPN'деги redirect-gateway def1. Демейки маршрутуңузду өчүрүп, алмаштыруунун ордуна ал 0.0.0.0/1 жана 128.0.0.0/1 кошот. Чогуу жуп бүт IPv4'тү камтыйт, ар бир префикс /0'дөн узун, жана экөө тең маршрутизатордун демейкисин ордунда калтырып жеңет. Кийин маршруттардын тизмесин иштетиңиз — баштапкы демейки дагы деле бар, дагы деле шлюзуңузду көрсөтүп турат; ал жөн гана интернет багыттары үчүн эч качан тандалбайт.

WireGuard'дын wg-quick куралы саясатка негизделген маршруттоо аркылуу ошол эле натыйжага жетет. AllowedIPs 0.0.0.0/0'дү камтыганда ал өз таблицасын түзөт, белгиленген пакеттерди ошол жакка жөнөтөт жана негизги таблицанын нөл узундуктагы префиксин этибарга албаган эреже кошот. Негизги таблица өз демейки жазуусун сактайт, ал эми эрежелер интерфейске таандык трафик үчүн адегенде туннель таблицасына кайрылаарын аныктайт.

Эки дизайнга тең туннелден тышкары так бир маршрут керек: баштапкы шлюз аркылуу VPN серверинин өз дарегине хост-маршрут. Ансыз кардар туннелди куруучу пакеттерди туннелдин ичинде алып өтүүгө аракет кылат жана байланыш эч качан бүтпөйт. Ошондуктан таблицаңыздагы туннелдик эмес маршрут катуу толук туннель профилинде да кадимки. Шектенүүгө татыктуу маршруттар — сизге чындап маанилүү багыттарды камтыгандар.

Метрикалар теңдикти чечет, префикстер жеңүүчүнү чечет

Метрикалар багытка бирдей жакшы дал келген талапкерлердин арасында гана салыштырылат. Linux'та ip route get 10.20.5.9 жеңүүчүнү өз таблицасы менен чыгарат, ал эми ip route show table all талапкерлерди тизмелейт, анын ичинде ар кандай жарым демейки жана эреже көрсөткөн ар кандай таблица. Windows'та Find-NetRoute -RemoteIPAddress 10.20.5.9 тандалган маршрутту жана булак дарегин кайтарат, ал эми Get-NetRoute чийки таблицаны көрсөтөт — бирок натыйжалуу баа маршрут метрикасы кошуу интерфейс метрикасы, ошондуктан жай адаптер утуп жаткандай көрүнгөн теңдикти жоготуусу мүмкүн.

Көрө турган нерселериңиздин көбүн үч учур камтыйт:

  • Бир багыт, /24 /0'гө каршы: /24 префикс узундугу боюнча жеңет, метрикалар эмне десе да.
  • Бир багыт, ар башка метрикалуу эки /24: төмөнүрөөк натыйжалуу метрика жеңет.
  • Бир багыт, эки таблица, бири саясат эрежеси менен тандалган: эреже адегенде таблицаны тандайт, префикстерди салыштыруу анын ичинде болот.

Үчүнчү учур — ушул отчёттордун көбү бүтө турган жер. Linux'тун ip rule же Windows'тун VPN трафик фильтри трафикти туннелдин демейкисин эч качан кармабаган таблицага жөнөтүшү мүмкүн, ал эми негизги таблица бүт убакыт бою кемчиликсиз көрүнөт.

Бул айланып өтүү адатта кимге таандык

Таблицадан эмес, профилден баштаңыз. Split-tunnel конфигурациялары жана ар бир колдонмого VPN жөндөөлөрү аталган префикстерди атайылап туннелден тышкары калтырат; бир жеке ички тармакты коргоп, жалпы серептөөнү түз жөнөткөн иш профили долбоорулгандай иштейт, аны басып жазуу болсо ал аткарышы керек болгон саясатты бузат. Microsoft'тун VPN маршруттоо колдонмосу мажбурлап туннелденген трафик менен ачык өзгөчөлүктөрдүн ортосунда ошол эле чегараны тартат, бул аны бир нерсени оңдоого чейин пайдалуу кайчылаш текшерүүгө айландырат.

Андан кийин калдыктарды издеңиз. Эми жок интерфейске же мурунку тармактын дарегине көрсөткөн маршрут доктоо станциялары, USB адаптерлери жана контейнер көпүрөлөрү келип-кеткенден кийин пайда болот. Аны бир жолу өчүрүү — аягы эмес: NetworkManager туташуу профилдери, netplan файлдары жана Windows'тун туруктуу маршруттары аны кийинки туташууда же жүктөөдө кайра орнотот, ошондуктан бир нерсени оңдоого чейин ага ээ болгон файлды же профилди табыңыз.

Андан кийин IPv6'ны өзүнчө текшериңиз. ip -6 route жана Get-NetRoute -AddressFamily IPv6 өзүнчө абалды, өзүнчө демейкилерди жана өзүнчө кардар жүрүм-турумун кармайт. Тек IPv4 аудити табигый IPv6 жолун үнсүз артык көргөн кош стектүү хост тууралуу эч нерсе айтпайт, жана ушунун өзү эле кардарды split-tunnel болуп көрүнүшүнө алып келиши мүмкүн.

Колдонмонун өз агымы менен ырастаңыз

Колдонмо чындыгында колдонгон багытты жазып алыңыз, андан кийин системадан ошол колдонмо байланышкан булак дарегинен кандай жол менен өтөрүн сураңыз. ip route get 10.20.5.9 from 192.168.1.40 Linux'та буга жооп берет; Find-NetRoute -RemoteIPAddress 10.20.5.9 кошуу жергиликтүү дарек Windows'та муну кылат. Натыйжаны профилдин айткандары менен салыштырыңыз. Браузердин ачык IP бети бир протоколдо бир багытты текшерет жана даттанууну баштаган жеке дарек тууралуу эч нерсе айтпайт.

Айырманы түшүндүргөн эң кууш объектини оңдоңуз. Өзгөчөлүк бекитилген болсо, префиксти жазып коюп, аны калтырыңыз; болбосо, демейкинин метрикасын төмөндөтүүнүн ордуна маршрутту алып салыңыз же туннель аркылуу ачык куушураак маршрут кошуңуз. Метриканы төмөндөтүү узунураак префикстен өтө албайт, ал эми эки /1 маршруту интернет жолуна ээ болгондо демейкини оңдоо да эч нерсени өзгөртпөйт.

Андан кийин туннелди кайра туташтырып, ошол эле суроону кайталаңыз. Кардарлар ар бир туташууда маршруттарды кайра орнотот, ошондуктан кийинки кол кармашууга чейин гана сакталган өзгөртүү текшерилген эмес. Жол дагы эле четтеп жатса, калган шектүүлөр — саясат эрежеси, экинчи таблица же кардар тараптагы фильтр, демейки маршрут эмес.

  • Колдонмо чындыгында колдонгон багытты жана булак дарегин атаңыз.
  • Жеңген маршрутту ip route get же Find-NetRoute аркылуу чыгарыңыз.
  • Интернет жолуна /1 жубу же саясат таблицасы ээби, текшериңиз.
  • Багытка дал келген /0'дөн узун ар бир префиксти тизмелеңиз.
  • IPv6 текшерүүсүн өзүнчө кайталаңыз.
  • Калган маршрутту аны орноткон файлга, профилге же фильтрге чейин көзөмөлдөңүз.
  • Оңдолду деп атаганга чейин кайра туташып, суроону кайра иштетиңиз.

Эгер жетөө тең профилге макул болсо, туннель так өзү конфигурацияланганды аткарып жатат, ал эми оңдоо метрикага эмес, профилге таандык.

Тектеш макалалар