Два клиента работят едновременно, всеки убеден, че притежава маршрута по подразбиране, и симптомът идва като нещо странно: едно приложение на госта работи, друго се резолвва на грешното място. VPN вътре в госта и VPN на хоста могат да съществуват заедно, но само когато външният път и вътрешната политика се съгласят кой какво носи. Стартирането на двете само по себе си не създава верига. Първо запишете прикачването, после сменяйте по едно нещо.

Първо запишете прикачването на госта

Гостът достига до своя VPN сървър по пътя, който хипервизорът му е дал: NAT зад хоста, мост към физическия сегмент или мрежа само за хоста с добавена маршрутизация отгоре. Всяко прикачване променя какво гостът може да види и какво хостът може да направи с трафика му. Под NAT пакетите на госта изглеждат сякаш идват от хоста, затова собственият тунел на хоста може да ги носи, без гостът да знае нищо за това. Под мост гостът има собствено присъствие в сегмента и собствен шлюз по подразбиране.

Запишете прикачването, преди да пипате каквато и да е конфигурация, заедно с кой клиент трябва да носи кое приложение. Това изречение решава повечето такива случаи, защото двата клиента обикновено са изградени върху различни допускания. Гост, от който се очаква да използва тунела на хоста, не трябва да има и собствен конкурентен маршрут по подразбиране.

Проследете крайната точка на госта навън

VPN на госта се нуждае от използваем път до своя сървър, преди нещо друго да може да работи. Когато тунелът на хоста е вдигнат и гостът е зад NAT, ръкостискането на госта излиза през тунела на хоста, което е или замисълът, или инцидент, който никой не е документирал. Когато тунелът на хоста падне и гостът е зависел от него, гостът губи връзка без нито една промяна от своя страна. Проследяването на крайната точка навън ви казва кой от тези два случая имате в действителност.

Широк маршрут и в двата контекста прихваща трафик, който другият клиент е очаквал. Маршрут 0.0.0.0/0 вътре в госта и клиент на хоста с пълен тунел и двамата претендират за всичко и печели този, който се приложи последен. Припокриванията между виртуалните мрежи на госта, локалната LAN и отдалечените мрежи дават същия ефект за частни префикси, с откази, които приличат на проблеми с удостоверяването; поведението при транслация на адреси е същото, описано за мрежите на контейнерите.

Сравнете запис преди и след

Вземете базова линия с изключен тунел на хоста или в каквото контролирано състояние позволява политиката ви, и запишете маршрута и резолвера на госта. След това приложете комбинираната конфигурация и сравнете двата записа, запазвайки изискванията за поверителност. Ако пряка базова линия не е подходяща, запишете това ограничение в записа, вместо да пропуснете сравнението.

ip route get 10.20.30.41
ip rule show
resolvectl status --no-pager | head -12

Заявката за маршрут посочва интерфейса и адреса на източника, които биха носили конкретна дестинация, и това е най-полезният ред в това разследване. Списъкът с правила показва дали маршрутизацията по политика изпраща някои дестинации през втора таблица. Изходът на резолвера показва дали DNS е последвал тунела на госта или е останал по пътя на хоста. Изпълнете същите три команди преди и след промяната и разликата ще посочи виновника.

Пазете собствеността ясна между рестартите

Ограничението за локален достъп на клиента на хоста може да блокира трафика към виртуален NAT или мост и това ограничение редовно се бърка с проблем с идентификационните данни на госта. Четете документираното поведение на клиента, вместо да изключвате ограничението, за да мине тестът. След поддържана корекция тествайте отново приложението на госта и политиката за отказ, която изисквате. Хост, който се свързва отново успешно, не доказва нищо за маршрута или резолвера на госта.

Решете коя страна притежава маршрута по подразбиране и запишете това в ръководството. Рестарт на госта или смяна на мрежата на хоста, която тихо обръща собствеността, произвежда доклад за грешка относно VPN, който никога не е бил виновен. Подредбата трябва да преживее рестарт, без някой да помни защо е работила.

Подобни статии