[РЕШЕНО через костыль] Перестаёт работать dst-nat

RIP, OSFP, BGP, MPLS/VPLS
Аватара пользователя
Sir_Prikol
Сообщения: 151
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР
Контактная информация:

Re: Перестаёт работать dst-nat

Сообщение Sir_Prikol » 24 сен 2018, 17:36

Как я и предупреждал, не отрабатывает arp на RB3011, в связи с этим шлюз кажется доступным, а пакеты теряются :) Решил эту проблему по другому, через cname и /ip cloud

Так как у меня везде белая сеть, то через CNAME просто привязал ddns микротика на свой поддомен, и коннектится можно по имени, а не по ip

Сделал простейший скрипт, который обновляет в /ip cloud нужный мне аплинк и дальше простым нетмапом.

Кому интересен скрипт -

Код: Выделить всё

#variable to store the IP address of the Primary gateway you wish to use to update the MikrotikCloud DDNS
:local PrimaryGW "<Primary Gateway IP>"
 
#variable to store the IP address of the Secondary gateway you wish to use to update the CloudIP DDNS
:local SecondaryGW "<Secondary Gateway IP>"
 
#The url of the Mikrotik Cloud DDNS (for ipv4) if need ipv6 use cloud2.mikrotik.com
:local cloudIPDDNS "cloud.mikrotik.com"
 
#resolve the ip address
:resolve $cloudIPDDNS
 
#Delete any routes that already exist with distance 30 and 31
/ip route remove [find distance="30"]
/ip route remove [find distance="31"]
 
#Add the new default routes to the Mikrotik Cloud DDNS
:foreach aRecord in=[/ip dns cache all find where (name=$cloudIPDDNS && type=”A”)] do={
/ip route add dst-address=[/ip dns cache all get $aRecord data] gateway=$PrimaryGW distance=”30″;
}
 
:foreach aRecord in=[/ip dns cache all find where (name=$cloudIPDDNS && type=”A”)] do={
/ip route add dst-address=[/ip dns cache all get $aRecord data] gateway=$SecondaryGW distance=31;
}

Далее простой нетмап на нужный ip тоже скриптом
Вот как-то так :)

З.Ы. Странность с маршрутами была ещё следующая, чек маршрутов через пинг и арп были сделаны по разному (признаю, мой косяк) арп был сделан на pppoe клиентов (2шт) а пинг был сделан на физический интерфейс. Может из-за этого глючило, не знаю, сейчас RB3011 был в ребуте, соответственно всё поднялось, когда отрубится - буду искать дальше.
В принципе, у меня задача стоит выделить для sstp один единственный канал, остальные это выход в мир. Сделано это из-за того, чтобы можно было закконектится в любом случае, даже при падении промежуточных каналов связи. Аплинк для sstp,l2tp,pptp - магистральный, у него аптайм гарантирован, всместе со скоростью :)
Дома:
Uplink - RB3011UiAS (2-ISP(ethernet)белый IP),RB SXT LTE 3-7 (резерв yota (белый IP),Wireless Wire Dish (RBLHGG-60adkit) Uplink белый IP.
2 x RB2011UiAS-2HnD, 2 x RBmAP2nD, 1 x RBwAPG-5HacT2HnD
Хочу uplink - RB1100AHx4 или CCR1036-12G-4S

Аватара пользователя
Chupaka
Сообщения: 1326
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Перестаёт работать dst-nat

Сообщение Chupaka » 24 сен 2018, 18:55

Ну, вроде бы логично, что arp-проверка работать на pppoe-интерфейсе не будет - не тот тип интерфейса :)

Аватара пользователя
Sir_Prikol
Сообщения: 151
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР
Контактная информация:

Re: Перестаёт работать dst-nat

Сообщение Sir_Prikol » 24 сен 2018, 19:06

Я то эту логику понимаю, но.... У одного прова juniper по кривому настроен :) На пинг реакции нет, только на arp, причём arp через pppoe. Ну это пошла дибильная политика компании, оттуда ушло много толковых ребят, остались пионеры, вот и ловлю глюки на их аплинках, плюс, ко всему прочему, juniper мало того что криво настроен, так они ещё что-то настроили так, что 2-е суток выдавало серую сеть вместо белой, я уже ручками ip адреса прописывал, пока не восстановили :)
Дома:
Uplink - RB3011UiAS (2-ISP(ethernet)белый IP),RB SXT LTE 3-7 (резерв yota (белый IP),Wireless Wire Dish (RBLHGG-60adkit) Uplink белый IP.
2 x RB2011UiAS-2HnD, 2 x RBmAP2nD, 1 x RBwAPG-5HacT2HnD
Хочу uplink - RB1100AHx4 или CCR1036-12G-4S

Аватара пользователя
Chupaka
Сообщения: 1326
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Перестаёт работать dst-nat

Сообщение Chupaka » 24 сен 2018, 19:10

А что-нибудь такого типа не поможет? https://wiki.mikrotik.com/wiki/Advanced ... _Scripting

Ну и... А разве может быть такое, что pppoe поднялся и не отваливается, а шлюз недоступен? О_о

Аватара пользователя
Sir_Prikol
Сообщения: 151
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР
Контактная информация:

Re: Перестаёт работать dst-nat

Сообщение Sir_Prikol » 24 сен 2018, 19:23

У нас может быть всё, так как ставят шляпные свитчи. Вот и получается, выставляешь таймаут в 30 сек, вроде pppoe поднят, вроде в норме, потом отвал шлюза - сессия ещё пытается что-то проверить, и начинается, глючит свитч по дороге (частенько порты по скоростям падают) соединение есть - шлюз виден через раз. Это всё экономия :) В личку кинул свою конфу, так как лениво IP переделывать, слишком много :)
Дома:
Uplink - RB3011UiAS (2-ISP(ethernet)белый IP),RB SXT LTE 3-7 (резерв yota (белый IP),Wireless Wire Dish (RBLHGG-60adkit) Uplink белый IP.
2 x RB2011UiAS-2HnD, 2 x RBmAP2nD, 1 x RBwAPG-5HacT2HnD
Хочу uplink - RB1100AHx4 или CCR1036-12G-4S

Аватара пользователя
Sir_Prikol
Сообщения: 151
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР
Контактная информация:

Re: Перестаёт работать dst-nat

Сообщение Sir_Prikol » 24 сен 2018, 20:18

Блин, тупость какая-то, пытаюсь уменьшить количество правил в NAT, вместо входящего ip выставляю список интерфейсов аплинка, тут-же перестаёт работать доступ внутри сети по внешним адресам. Имеется ввиду следующее:
ip сайта - 192.168.0.178
внешний ip - 123.123.123.123
изнутри с компа 192.168.0.10 лезу по имени blablabla.bla (ip 123.123.123.123) при использовании в dstnat листа интерфейсов - не работает, при явном прописанном ip работает.
Не, умом я понимаю, что оно не должно работать, так как не понятно по какому ip лезть и куда выстраивать маршрут, но так не должно быть, надо предусмотреть возможность использования и ip и листа в одном правиле :) Единственное я вижу, это использование не Interface list, а address-list, но сегодня уже делать не буду, как-нить позже проверю :)
Дома:
Uplink - RB3011UiAS (2-ISP(ethernet)белый IP),RB SXT LTE 3-7 (резерв yota (белый IP),Wireless Wire Dish (RBLHGG-60adkit) Uplink белый IP.
2 x RB2011UiAS-2HnD, 2 x RBmAP2nD, 1 x RBwAPG-5HacT2HnD
Хочу uplink - RB1100AHx4 или CCR1036-12G-4S

Аватара пользователя
Sir_Prikol
Сообщения: 151
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР
Контактная информация:

Re: Перестаёт работать dst-nat

Сообщение Sir_Prikol » 24 сен 2018, 21:40

Ааааааа, дурдом какой-то.
В общем добился следующего.
dst-nat отрабатывает, клиент цепляется, но.... в один прекрасный момент он может и не зацепится вообще, до какого момента не выяснено, в то-же время с другого ip всё в норме проходит и всё работает.

Как пример, чтоб понятней было

Тестовые 3 mikrotik клиента
1- законнектился, 2 законнектился, 3 - законнектился
Через какое-то время (или действо) 2-ой переподключаю - шиш, подключения нет, при этом переподключения 1 и 3 спокойно работают
Такое ощущение, что где-то ловлю бан или по маку или по ip, но перелопатил весь микроб, ни где не светится ip и mac. Ни в соединениях ни в адреслистах, ни в инвалидных пакетах.

В общем мозг сломан, глаза в кучу.... Такая проблема была на 6.10, но там решалась простым энкрипшеном в профиле, тут вообще что-то не понятное. Не хочется откат делать на 6.42.7, где всё это работало.
Дома:
Uplink - RB3011UiAS (2-ISP(ethernet)белый IP),RB SXT LTE 3-7 (резерв yota (белый IP),Wireless Wire Dish (RBLHGG-60adkit) Uplink белый IP.
2 x RB2011UiAS-2HnD, 2 x RBmAP2nD, 1 x RBwAPG-5HacT2HnD
Хочу uplink - RB1100AHx4 или CCR1036-12G-4S

Аватара пользователя
Sir_Prikol
Сообщения: 151
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР
Контактная информация:

Re: Перестаёт работать dst-nat

Сообщение Sir_Prikol » 24 сен 2018, 22:37

Ихаааа, папочка рулит :)

Проброс портов на железных Микротиках иногда требует специального описания маскарада для ответных пакетов.
Признаком такой ситуации как раз является состояние соединения "syn sent". Для решения требуется создать еще одно правило маскарада:
add action=masquerade chain=srcnat dst-address=xxx.xxx.xxx.xxx dst-port=xxx protocol=tcp

Фисё, как только это правило появилось - заработали все клиенты :)
Дома:
Uplink - RB3011UiAS (2-ISP(ethernet)белый IP),RB SXT LTE 3-7 (резерв yota (белый IP),Wireless Wire Dish (RBLHGG-60adkit) Uplink белый IP.
2 x RB2011UiAS-2HnD, 2 x RBmAP2nD, 1 x RBwAPG-5HacT2HnD
Хочу uplink - RB1100AHx4 или CCR1036-12G-4S

Аватара пользователя
Chupaka
Сообщения: 1326
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Перестаёт работать dst-nat

Сообщение Chupaka » 25 сен 2018, 11:15

Ух, сколько всего :)
вместо входящего ip выставляю список интерфейсов аплинка, тут-же перестаёт работать доступ внутри сети по внешним адресам
Логично: пакеты изнутри сети приходят не с аплинка :) Можно попробовать dst-address-type=local - тогда будут ловиться пакеты на любой адрес роутера (включая внутренние)
Проброс портов на железных Микротиках иногда требует специального описания маскарада для ответных пакетов
Я бы сказал, неизвестно как работающая маршрутизация иногда требует костылей в виде маскарада :) Честно говоря, не люблю такие решения, но они стали популярными, поскольку в Мелкотике их достаточно просто реализовывать. Гораздо проще, чем разбираться в изначальной причине неработоспособности :)

Аватара пользователя
Sir_Prikol
Сообщения: 151
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР
Контактная информация:

Re: Перестаёт работать dst-nat

Сообщение Sir_Prikol » 25 сен 2018, 11:31

Я бы сказал, неизвестно как работающая маршрутизация иногда требует костылей в виде маскарада :) Честно говоря, не люблю такие решения, но они стали популярными, поскольку в Мелкотике их достаточно просто реализовывать. Гораздо проще, чем разбираться в изначальной причине неработоспособности :)
Согласен, но маскарад реально спасает, особенно когда особо нет времени на выяснение причины и простаивает система, а это потеря денег :) Поэтому решения с маскарадом такие популярные, идеального нет в этом ничего, в последствии, естественно, будет найдено решение без маскарада :)
Логично: пакеты изнутри сети приходят не с аплинка :) Можно попробовать dst-address-type=local - тогда будут ловиться пакеты на любой адрес роутера (включая внутренние)
Это решилось путём создания wan-list в adress-list с ip wan интерфейсов, так что предположение было верным :)
Дома:
Uplink - RB3011UiAS (2-ISP(ethernet)белый IP),RB SXT LTE 3-7 (резерв yota (белый IP),Wireless Wire Dish (RBLHGG-60adkit) Uplink белый IP.
2 x RB2011UiAS-2HnD, 2 x RBmAP2nD, 1 x RBwAPG-5HacT2HnD
Хочу uplink - RB1100AHx4 или CCR1036-12G-4S

Ответить