MikroTik PPTP абрываецца? Выправіце маршрут да сервера
Кліент PPTP, які падключаецца і абрываецца, звычайна адпраўляе ўласны транспарт у тунэль. Закмапіце адрас сервера на WAN або адключыце маршрут па змаўчанні.
Кліент PPTP у RouterOS падключаецца, перадае крыху трафіку і потым замірае, а журнал выглядае як праблема з уліковымі данымі ці з серверам. Звычайна не тое і не другое. Тунэль нясе ўласныя транспартныя пакеты, бо маршрут да сервера супадае з маршрутам, які ўсталяваў тунэль. Суразмоўца перастае чуць маршрутызатар, і сеанс памірае, пакуль інтэрфейс усё яшчэ сцвярджае, што ён працуе.
Выпраўленне — гэта адзін маршрут або адна налада, якая захоўвае сервер дасяжным праз фізічны WAN. Які менавіта — залежыць ад таго, ці павінен маршрутызатар быць шлюзам поўнага тунэлю.
Сімптом: падключаецца, перадае трафік, памірае
Карціна паўтараецца пры кожным перападключэнні, і гэта першая карысная падказка. Адхілены пароль правальваецца раней, чым інтэрфейс падымаецца, памылка ў файрволе звычайна блакуе адзін кірунак, а пятля маршрутызацыі дазваляе інтэрфейсу ўсталявацца і потым душыць яго. Сачыце за лічыльнікамі: тунэль паказвае ўсплеск пачатковых пакетаў, а потым нічога, тады як інтэрфейс WAN працягвае перадаваць інкапсуляваныя копіі. Гэта маршрутызатар, які зноў корміць свой выхад сам сабе.
PPTP робіць гэта лёгка, бо транспарт — гэта звычайны IP да адраса сервера, а не тунэль, далёкі канец якога знаходзіцца ў іншай падсетцы. Усё, што перанакіроўвае гэты адрас, перанакіроўвае разам з ім і транспарт.
Чаму тунэль праглынае ўласныя пакеты
Калі кліент падключаецца, ён усталёўвае маршрут, шлюзам якога з'яўляецца інтэрфейс тунэлю. Калі профіль таксама ўсталёўвае маршрут па змаўчанні, то кожны пункт прызначэння без больш дакладнага супадзення, уключна з публічным адрасам сервера, развязваецца ў тунэль. Маршрутызатар інкапсулюе пакет, адрасуе вонкавы пакет серверу і зноў шукае маршрут: той жа пункт прызначэння, той жа маршрут па змаўчанні, той жа тунэль. У залежнасці ад версіі гэтая рэкурсія адкідаецца, ставіцца ў чаргу або зацыкліваецца, пакуль суразмоўца не здасца і не разарве сеанс.
Вытворцы прылад часта дадаюць маршрут да хоста свайго сервера аўтаматычна, менавіта каб гэтага пазбегнуць. RouterOS гэтага не мяркуе, таму аператар мусіць выказаць выключэнне або з самага пачатку пазбягаць маршруту па змаўчанні.
Закмапіце адрас сервера на WAN
Дадайце самы вузкі магчымы маршрут: /32 для публічнага адраса сервера, з шлюзам правайдэра як наступным крокам, на інтэрфейсе, які выходзіць у інтэрнэт. /32 пераўзыходзіць любы маршрут па змаўчанні па даўжыні прэфікса, а меншая адлегласць перамагае, калі іншы маршрут для таго ж прэфікса ўжо існуе. Потым перападключыцеся і пераканайцеся, што маршрут актыўны, а не проста прысутнічае ў спісе.
/ip route add dst-address=198.51.100.10/32 gateway=192.0.2.1 distance=10Калі шлюз правайдэра атрымліваецца праз DHCP, выкарыстоўвайце адрас шлюза, які ўсталяваў DHCP, або прывяжыце маршрут да інтэрфейса, калі версія гэта падтрымлівае. Жорстка зададзены шлюз, які змяняецца пры наступнай арэндзе, — гэта адкладзеная адмова. Праверце адрас пасля перападключэння WAN, бо менавіта тады выяўляецца састарэлы шлюз і тунэль зноў пачынае абрывацца.
Або не дазваляйце тунэлю забіраць маршрут па змаўчанні
Філіял, якому патрэбна адна аддаленая лакальная сетка, павінен трымаць профіль PPTP цалкам далей ад маршруту па змаўчанні. Адключыце гэтую опцыю ў профілі кліента і замест гэтага дадайце пэўны маршрут для аддаленага прэфікса праз інтэрфейс тунэлю. Звычайны трафік застаецца на WAN, уласны транспарт тунэлю захоўвае натуральны шлях, і табліцу маршрутызацыі становіцца прасцей патлумачыць. Гэта лепшы дызайн для філіяла, якому патрэбна адна падсетка, а не для маршрутызатара, які павінен быць выхадам пляцоўкі.
Поўны тунэль мае свае патрабаванні: маршрутызацыя па палітыцы для выбраных крыніц, план для зваротнага трафіку і рашэнне пра тое, што адбываецца, калі тунэль абрываецца. Нічога з гэтага не вырашае маршрут да хоста, які толькі трымае транспарт жывым.
Правярайце па ўзроўнях, потым зачыніце кіравальную дзірку
Тэстуйце па ўзроўнях: пінг публічнага адраса сервера да падключэння, пінг аддаленага шлюза пасля падключэння, потым пінг хоста ў аддаленай лакальнай сетцы. Дадайце masquerade на інтэрфейсе тунэлю, калі хосты за маршрутызатарам павінны атрымліваць адказы праз яго.
/ip firewall nat add chain=srcnat out-interface=pptp-out1 action=masqueradeПотым перазагрузіце маршрутызатар або прымусова перападключыце WAN і паўтарыце тры пінгі, бо маршрут, які існуе толькі ў бягучай канфігурацыі, не выжыве. Канфігурацыя, выгружаная ў рэзервовы файл і пазней адноўленая, — гэта другое месца, дзе гэта ламаецца, бо маршрут можа адсутнічаць у выгрузцы, калі ён быў дададзены падчас працы.
Нарэшце, абмяжуйце Winbox і вэб-кіраванне вядомымі адрасамі крыніц, перш чым публікаваць любую змену VPN або маршруту. Маршрутызатар, які тэрмінуе тунэлі, — гэта кіравальная мэта, і порт 80, адкрыты для ўсяго свету, — большая знаходка, чым маршрут, які вы толькі што выправілі.