Экинчи клиентиңиз туташат, биринчисинин ресурстары чечилбей калат, ал эми билетте иш VPN жекесин бузду деп жазылган. Бузулуу маанисинде эч нерсе бузулган эмес: эки клиент тең эмне үчүн жаралса, ошону кылды, ал эми машинада бир гана маршруттоо таблицасы бар. Кагылыш ар бир клиент өзүнүкү деп эсептеген төрт ресурс жөнүндө. Аларды ирети менен бүтүрсөңүз, оңдоо адатта оңдоо эмес, дизайн тандоосуна айланат.

1-кадам: чыгууну кайсы клиент ээлей турганын аныктаңыз

Бир нерсени өзгөртүүдөн мурун учурдагы чыгуу чечимин окуңуз. Коомдук дарекке маршрут издөө пакет азыр кайсы интерфейс менен кийинки секирүүнү колдоноорун айтат, жана бул ким жеңгенин жообу. Аны клиенттер түзгөн интерфейс аттары менен салыштырыңыз; алар адатта продукттун же протоколдун атын алып жүрөт. Эгер издөө күтпөгөн туннелге көрсөтсө, кагылышты тапкансыз.

ip route get 1.1.1.1
ip route show default
route print

Айрым клиенттер демейки маршрутту такыр алмаштырбайт; алар эки жарым кошот, бири дарек мейкиндигинин төмөнкү жарымына, бири жогорку жарымына, алар чогуу баарын камтыйт. Бул баштапкы демейки маршрутту көрүнүктүү калтырат жана кол менен оңдоону туура көрсөтөт, ал эми трафик дагы эле туннелден чыгат. Демейки жазуунун бар экендигин гана эмес, метрика менен префикс узундугун окуңуз.

Эгер эки клиент тең бирдей метрика менен бирдей префиксти талап кылса, токтоңуз. Ядро бирөөнү тандайт, ал эми экинчиси эч нерсе ташыбай эле туташкан болуп көрүнөт.

2-кадам: чечүүчүнү жана кабатташкан префикстерди текшериңиз

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

resolvectl status
Get-DnsClientServerAddress
dig +short intranet.corp.example

Анан эки тармак колдонгон жеке префикстерди салыштырыңыз. Эгер эки тарап тең бир диапазондон бөлсө, клиент тарабындагы эч кандай чара аны оңдобойт, анткени машина кайсы 10.0.0.0/8 багыты кайсы туннелге таандык экенин айта албайт. Бир тарапты кайра номерлөө же которуу керек, жана бул конфигурацияны өзгөртүү эмес, тармак ээлери менен сүйлөшүү. Кабатташуу — чын жообу «дизайнды өзгөртүү керек» болгон жалгыз кагылыш.

Префикстер кабатташса, ушул жерде токтоңуз. Бул тизмедеги кийинкинин баары алар кабатташпайт деп эсептейт.

3-кадам: туруктуу бөлүү үлгүсүн тандаңыз

Ишенимдүү үлгүлөр бир маршруттоо таблицасына каршы эки клиентти иштетүүдөн качат. эки жеке тармакка тең жеткен split-tunnel саясаты бар бир клиент эң жөнөкөй, багыттар кабатташпаса жана саясат ээси макул болсо. Виртуалдык машина же тармактын ат мейкиндиги — кийинки кадам, анткени ар бири өз таблицасын жана өз чечүүчүсүн алат.

sudo ip netns add vpn2
sudo ip netns exec vpn2 ip link show
sudo ip netns exec vpn2 curl -sI https://intranet.corp.example/

Ат мейкиндиги экинчи операциялык системасыз виртуалдык машина сыяктуу эле бөлүү берет, бирок анын одоно четтери бар: туннелдик түзмөктү ага жылдыруу керек, ал эми колдонмо анын ичинде иштетилиши керек. Башкарылуучу иш клиентинин жанындагы жеке VPN үчүн өзүнчө физикалык түзмөк көбүнчө эң аз таң калтырган вариант. Бир туннелди экинчисинин ичине катмарлоо бөлүү үлгүсү эмес; ички акыркы чекит сырткы туннел аркылуу жеткиликтүү болушу керек, ал эми бул түзүлүш үстүнө MTU жана кечигүү маселелерин кошот.

Бир үлгү тандап, эмне үчүн экенин жазыңыз. Бир колдонмо үчүн ат мейкиндигин калгандары үчүн split-tunnel менен аралаштыруу баштапкы кагылышты оңдоо кыйыныраак формада кайра жаратат.

4-кадам: эки тармакты тең бир сессиядан текшериңиз

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

curl -sI https://intranet.corp.example/
curl -sI https://files.personal.example/
ip route get 10.20.30.40

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

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

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