Сделать запрос через определённый интерфейс
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Сделать запрос через определённый интерфейс
Добрый день.
Есть микротик RB3011.
На сегодня подключено уже 4 провайдера.
Требуется, чтоб в том-же Netwatch, запрос вида /tool fetch url="blahblahblah" шёл через определённого провайдера, а не ломился на все подряд.
Балансировка каналов настроена, файловер настроен. Работает всё, кроме этого.
Пробовал через mangle отправлять на определённый маршрут, в результяте все, кто за этим микротиком - спокойно фильтруются, отрабатывают и идут на нужный маршрут, сам микротик - не хочет.
Есть микротик RB3011.
На сегодня подключено уже 4 провайдера.
Требуется, чтоб в том-же Netwatch, запрос вида /tool fetch url="blahblahblah" шёл через определённого провайдера, а не ломился на все подряд.
Балансировка каналов настроена, файловер настроен. Работает всё, кроме этого.
Пробовал через mangle отправлять на определённый маршрут, в результяте все, кто за этим микротиком - спокойно фильтруются, отрабатывают и идут на нужный маршрут, сам микротик - не хочет.
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 4086
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: Сделать запрос через определённый интерфейс
Добрый.
Через mangle, правильно. Только в chain=output надо метить, а не prerouting
Или просто в таблице маршрутизации main создать маршрут через нужный интерфейс для нужного адреса. Там явно у вас ходит только роутер, а клиенты - в созданных для балансировки таблицах.
Через mangle, правильно. Только в chain=output надо метить, а не prerouting
Или просто в таблице маршрутизации main создать маршрут через нужный интерфейс для нужного адреса. Там явно у вас ходит только роутер, а клиенты - в созданных для балансировки таблицах.
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: Сделать запрос через определённый интерфейс
mangle
второе спокойно отрабатывает для клиентов
route rule
route
Не работает, хоть тресни.
интервейс указан из-за того, что поднят vpn, но это не важно, так как не ходит только с самого рутера. За ним всё в норме
второе спокойно отрабатывает для клиентов
Код: Выделить всё
/ip firewall mangle
add action=mark-routing chain=output dst-address-list=lv-traff log-prefix=lv new-routing-mark=to_lv passthrough=no (стоит первым в цепочке)
add action=mark-routing chain=prerouting dst-address-list=lv-traff log-prefix=lv new-routing-mark=to_lv passthrough=no (второе в цепочке)
дальше правилв балансировки
Код: Выделить всё
/ip route rule
add action=lookup-only-in-table routing-mark=ISP1 table=ISP1
add action=lookup-only-in-table routing-mark=ISP2 table=ISP2
add dst-address=214.14.163.20/32 interface=00.to-lv routing-mark=to_lv table=main
Код: Выделить всё
/ip route
add distance=1 gateway=00.to-lv routing-mark=to_lv
интервейс указан из-за того, что поднят vpn, но это не важно, так как не ходит только с самого рутера. За ним всё в норме
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: Сделать запрос через определённый интерфейс
upd
Странно, через минут 15 правила начали отрабатывать
Даже не знаю, что сработало
Будем наблюдать
Странно, через минут 15 правила начали отрабатывать
Даже не знаю, что сработало
Будем наблюдать
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: Сделать запрос через определённый интерфейс
upd 2
Странно как-то, работало около 5-ти минут. Потом опять по таймауту молчал, потом (через пару минут) заного заработало.
Ничего не понимаю
Странно как-то, работало около 5-ти минут. Потом опять по таймауту молчал, потом (через пару минут) заного заработало.
Ничего не понимаю
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 4086
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: Сделать запрос через определённый интерфейс
Правила в prerouting не играют роли, поскольку пакеты самого роутера туда не попадают: https://wiki.mikrotik.com/wiki/Manual:P ... ow#Diagram
Route rule для IP-адреса отрабатывать не будет, поскольку interface - это интерфейс, с которого пакет пришёл, а не куда он должен уйти.
Ping на ресурс, для которого делается fetch, вообще ходит?
Ну и уже надо смотреть /ip route print detail (например, для той таблицы, в которую попадают маркированные в output пакеты; не забыть, что в main должен быть активный маршрут для данного адреса (любой) - без этого будет просто dst-unreachable).
Route rule для IP-адреса отрабатывать не будет, поскольку interface - это интерфейс, с которого пакет пришёл, а не куда он должен уйти.
Ping на ресурс, для которого делается fetch, вообще ходит?
Ну и уже надо смотреть /ip route print detail (например, для той таблицы, в которую попадают маркированные в output пакеты; не забыть, что в main должен быть активный маршрут для данного адреса (любой) - без этого будет просто dst-unreachable).
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: Сделать запрос через определённый интерфейс
Код: Выделить всё
May/02/2018 20:17:31 firewall,info lv output: in:(unknown 0) out:00.pppoe-ISP01, proto TCP (ACK), 123.123.123.123:59580->214.14.163.20:443, NAT (123.123.123.123:59580->10.8.0.6:59580)->214.14.163.20:443, len 52
May/02/2018 20:17:31 firewall,info lv output: in:(unknown 0) out:00.pppoe-ISP01, proto TCP (ACK), 123.123.123.123:59580->214.14.163.20:443, NAT (123.123.123.123:59580->10.8.0.6:59580)->214.14.163.20:443, len 52
May/02/2018 20:17:31 firewall,info lv output: in:(unknown 0) out:00.pppoe-ISP01, proto TCP (ACK,PSH), 123.123.123.123:59580->214.14.163.20:443, NAT (123.123.123.123:59580->10.8.0.6:59580)->214.14.163.20:443, len 178
Судя по логу, идёт запрос на основной интерфейс, потом нат, потом на нужный.
В принципе меня такая схема устраивает, хотя у неё есть посредник.
Понаблюдаю день, может не будет сбрасываться. Хотя логика в таком варианте тоже присутствует.
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 4086
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: Сделать запрос через определённый интерфейс
Ну, по идее, от трансляции адресов можно избавиться, указав в fetch параметр src-address=10.8.0.6
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: Сделать запрос через определённый интерфейс
Код: Выделить всё
/tool fetch src-address=10.8.0.6 url="https://xxxxxxxx/yyyyyy!"
failure: closing connection: <bind() failed: Address family not supported by protocol> 2000:47g:4a9:f337::15:443 (4)
Что совсем запутывает мозг, так как я принудительно тот хост прописывал через ipv6 и оно не бегало.
Ладно, пока оставлю как есть, буду думать об этом завтра
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: Сделать запрос через определённый интерфейс
upd
/tool fetch address=хост
В таком случае он забирает нужный мне ip
решил проблему немного по другому. Жёстко прописал ip адрес в dns записях - начало отрабатывать нормально.
Осталось написать скрипт, который будет проверять изменения ip адреса нужного мне хоста и заменять его в статических dns записях
/tool fetch address=хост
В таком случае он забирает нужный мне ip
решил проблему немного по другому. Жёстко прописал ip адрес в dns записях - начало отрабатывать нормально.
Осталось написать скрипт, который будет проверять изменения ip адреса нужного мне хоста и заменять его в статических dns записях
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 4086
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: Сделать запрос через определённый интерфейс
/tool fetch address=[:resolve "host"] не поможет?
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: Сделать запрос через определённый интерфейс
Это помогает, но он резолвит ipv6 по умолчанию, а надо ipv4. Вот поэтому сейчас пишу скрипт, который будет опрашивать хост на предмет ipv4 адреса, и ставить его в статическую запись dns микротика. К сожалению, хоть у хоста и есть ipv6 адрес, сами данные отдаются только по ipv4. Софт старый, и, временно, переделки не будет.
Спасибо за советы. Сейчас работает.
Есть глюки с маршрутизацией ipv6, но это тема дл отдельного поста.
Спасибо за советы. Сейчас работает.
Есть глюки с маршрутизацией ipv6, но это тема дл отдельного поста.
Дома: CCR2004 (7-ISP(GPON)белый IP)