Вэб-сервер знікае, калі падключаецца VPN-кліент
Запыты прыходзяць у LAN, а адказы выходзяць праз тунель. Выберыце выключаны маршрут, палітычную маршрутызацыю або трансляцыю зыходзячы з таго, што павінен рабіць хост.
Сэрвіс, які знікае ў момант падключэння VPN-кліента, звычайна не блакуецца, а адказвае праз няправільны інтэрфейс. Запыт прыходзіць на фізічную сеткавую карту, дэман запісвае адказ, і табліца маршрутызацыі аддае гэты адказ тунелю, бо тунель заняў маршрут па змаўчанні. Аддалены кліент ніколі не бачыць адказу на злучэнне, якое адкрыў, таму чакае і потым паведамляе пра тайм-аўт. Ніякае правіла фіярвола ў гэтым ланцужку не ўдзельнічае.
Сімптом: запыты ўваходзяць, адказы выходзяць праз чужыя дзверы
Падказка — уваходнае злучэнне, якое не ўдаецца, пакуль усё астатняе на хосце працуе. Яшчэ адна прыкмета — хост, даступны з LAN, але не з інтэрнэту, або такі, што працуе да перападключэння тунеля, а потым спыняецца. У кожным выпадку прамы кірунак працаваў, а зваротны не, што паказвае на асіметрыю маршрутызацыі, а не на палітыку.
Пацвердзіце гэта, назіраючы, куды ідзе адказ, а не назіраючы, як прыходзіць запыт.
Захоплівайце адначасова на фізічным інтэрфейсе і на прыладзе тунеля. Калі запыт з'яўляецца на фізічным інтэрфейсе, а адказ — на тунелі, дыягназ завершаны. Адказ, які нідзе не з'яўляецца, азначае, што сэрвіс ніколі не прыняў злучэнне, а гэта асобнае расследаванне з асобнай прычынай.
Два маршруты па змаўчанні і адно рашэнне аб маршрутызацыі
Кліент, які ўсталёўвае маршрут па змаўчанні, дадае другі запіс з лепшай метрыкай, чым шлюз LAN. Некаторыя кліенты ўсталёўваюць замест гэтага два маршруты паўдыяпазону, якія пакрываюць тую ж прастору больш канкрэтна і гэтак жа выйграюць пошук. Любая з тэхнік пакідае звычайныя знешнія пакеты якія выбіраюць інтэрфейс тунеля.
Гэты выбар робіцца толькі па прызначэнні. Ядро не пытае, адкуль прыйшоў пакет, калі правіла палітыкі не загадае яму гэтага. Таму адказ на публічны адрас кліента аддаецца тунелю, далёкі канец якога атрымлівае пакет з адрасам крыніцы, якім не валодае, і адкідвае яго або перасылае ў нейкае бескарыснае месца. У Linux строгая фільтрацыя зваротнага шляху можа таксама адкінуць зыходны запыт яшчэ да таго, як ваш сэрвіс яго ўбачыць, што звонку выглядае аднолькава. Абодва сімптомы паходзяць з адной і той жа адсутнай сувязі паміж уваходным патокам і яго адказам.
Тунель паводзіць сябе правільна ўвесь час. Яму сказалі несці маршрут па змаўчанні, і ён робіць менавіта гэта.
Выпраўце зваротны шлях, не зламаўшы тунель
Існуюць тры ўстойлівыя формы выпраўлення, і выбар залежыць ад таго, колькі ўласнага трафіку хоста павінна застацца ў тунелі. Выключэнне прызначэння або порта сэрвісу — найменшае змяненне. Палітычная маршрутызацыя па крыніцы або метцы — найбольш дакладная. Трансляцыя крыніцы — самая грубая і самая простая для тлумачэння праз два гады.
Выбірайце па тым, што хост павінен рабіць, а не па тым, які фрагмент вы знайшлі першым.
Выключэнне прызначэння падыходзіць для сэрвісу са стабільным публічным адрасам, а прывязка дэмана да фізічнага адраса, а не да ўсіх адрасоў, робіць гэтае выключэнне бяспечнейшым. Правіла палітыкі, якое выбірае табліцу па крыніцы, трымае ўласныя злучэнні хоста ў тунелі, вяртаючы адказы сэрвісу праз шлюз WAN. Маскіраванне адказаў на інтэрфейс WAN дасягае таго ж шляху коштам хавання адраса кліента ад журналаў сэрвісу. Аднаразовая змена маршруту па змаўчанні — гэта дыягностыка, а не канфігурацыя, бо кліент перапісвае маршруты пры кожным перападключэнні.
ip rule show
ip route get 203.0.113.9 from 192.0.2.44Калі хост таксама маршрутызуе для LAN за сабой
На адзін хоп далей тая ж асіметрыя вяртаецца з большай колькасцю рухомых частак. Трафік даходзіць да маршрутызатара з інтэрнэту, перасылаецца на ўнутраную прыладу, і адзіны шлях той прылады назад — гэта тунель, таму адказ дасягае зыходнага кліента з уласнага адраса правайдэра. Затым адсочванне злучэнняў сустракае адказ для патоку, пачатак якога не бачыла, і адкідвае яго. Кліент тым часам не бачыць нічога.
Гэта выпраўляюць два змяненні: трансляцыя прызначэння, каб уваходнае злучэнне дасягала ўнутранай прылады, і трансляцыя крыніцы, каб адказ гэтай прылады выглядаў як які прыйшоў ад самога маршрутызатара.
У прашыўцы маршрутызатара звычайнае выражэнне — гэта правіла палітыкі, якое прымацоўвае перанакіраванне порта да боку WAN, пакуль уласны трафік маршрутызатара ідзе праз тунель. Без трансляцыі крыніцы гэты адказ адрасаваны знешняму кліенту, і ўнутраная прылада проста не мае да яго маршруту. Праверце тры рэчы асобна, бо яны не ўдаюцца з розных прычын: злучэнне, якое прыходзіць звонку, тое, што хост ініцыюе сам, і пошук імені.