один клиент Lan выводить в интернет через ISP2

Обсуждение ПО и его настройки
Ответить
mika3444
Сообщения: 14
Зарегистрирован: 24 ноя 2020, 16:15

Добрый день.
Дефолтовая конфигурация, провайдер подключен через ether1, и мы получаем как обычно динамический ip
Внутренняя сеть LAN как обычно 192.168.88.0/24
Есть второй провайдер по L2TP, интерфейс называется vpn1, в опциях я задал на всякий случай add default gateway = no; статус = connected, а в его статусе написано Local address 172.18.0.12 Remote address 172.18.0.1
Этот второй провайдер в принципе работает, я проверял, если в ip route задать сеть 195.201.0.0/16 ( это данные сайта 2ip.ru ) роутить на интерфейс vpn1, то будет показывать внешний ip адрес второго провайдера. Красота. Но мне не это нужно.
На всякий случай поясню, пришлось добавить второе правило маскарадинга
первое правило было на интерфейсе ether1 (по дефолту! как обычно!)
второе правило я добавил на интерфейс vpn1, пришлось добавить, иначе 2ip.ru не открывался.
я думал что второй провайдер будет сам натить, но без второго правила маскарадинга не работает. Но это не суть важно.

Далее подходим к самому важному:
Есть клиент во внутренней сети, ему зафиксирован адрес 192.168.88.100

Вот в чем проблема.
Если мы знаем КУДА мы хотим попасть - это не проблема пихать трафик через второго провайдера.
Но если мы знаем ОТКУДА ( с какого адреса во внутренней сети LAN ) идет траффик, то такое правило создать не получается.

Пробовал вариант с mangle - не работает.

Вопрос. Что нужно сделать, что бы 192.168.88.100 ходило через второго провайдера vpn1 ?
Желательно прямо последовательность команд.


Erik_U
Сообщения: 1753
Зарегистрирован: 09 июл 2014, 12:33

Почему не работает мангл?

Покажите, что вы делали.


mika3444
Сообщения: 14
Зарегистрирован: 24 ноя 2020, 16:15

После вот этих изменений связь для 192.168.88.100 пропадает.
я не знаю как mangle настраивать, тем более в моем случае.
есть примеры с балансировкой нагрузки на двух провайдеров - мне это не нужно.
я взял из примеров только эти строчки:

/routing table
add fib name=via-conn2

/ip firewall mangle
add action=mark-routing chain=prerouting comment="2022-05-28 test" \
dst-address-list=!localnet new-routing-mark=via-conn2 passthrough=yes \
src-address=192.168.88.100

/ip route
add comment="2022-05-28 test" disabled=no distance=3 dst-address=\
0.0.0.0/0 gateway=172.18.0.1 pref-src=0.0.0.0 routing-table=via-conn2 \
scope=30 suppress-hw-offload=no target-scope=10

забыл добавить
есть еще некоторое количество правил для роутинга для всей сети,
то есть всем доступно кое что из сети второго провайдера
например
add comment="2022-04-10 net122" disabled=no distance=5 \
dst-address=192.168.122.0/24 gateway=vpn1 pref-src=0.0.0.0 routing-table=\
main scope=30 suppress-hw-offload=no target-scope=10
я ни какие параметры не задавал, только комментарий, 192.168.122.0/24, в качестве шлюза vpn1, метрику просто так поставил 5, остальные параметры я НЕ задавал, не знаю зачем pref-src=0.0.0.0, это не важно, все работает, сеть 122.0 открывается через другого провайдера.
нужно что бы эти правила как-то работали дальше, они нужны,
весь трафик со второго провайдера не надо заворачивать на 192.168.88.100,
только то что он открывал через нат.


Erik_U
Сообщения: 1753
Зарегистрирован: 09 июл 2014, 12:33

А в фаерволе поди правило стоит дропать все, что не нат?

Ну и в новой таблице маршрутизации нужно не только дефолтный маршрут прописывать. А и всю вашу сеть с подсетями. Хотя-бы указать интерфейс на котором висит 192.168.88.хх. И интерфейс VPN с его сетями включить в таблицу. Это в "main" автоматически указывается, а в новой таблице - нет.

Правило мангл работает. Маршрутизация может не работать при этом.


mika3444
Сообщения: 14
Зарегистрирован: 24 ноя 2020, 16:15

Просто не представляю что тут может быть не так
Там все по умолчанию, и открыто только одно правило для Winbox
/ip firewall filter
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
connection-state=established,related hw-offload=yes
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=accept chain=forward comment=\
"defconf: accept established,related, untracked" connection-state=\
established,related,untracked
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="Winbox, ssh" \
connection-state=new dst-port=22,8291 in-interface=ether1 protocol=\
tcp src-address=111.222.333.444/29
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
in-interface-list=WAN
add action=drop chain=forward comment="defconf: drop invalid" \
connection-state=invalid
add action=drop chain=forward comment=\
"defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN

/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge1 network=\
192.168.88.0
адрес локальной сети задан на интерфейсе bridge1

Вы подскажите что надо сделать что бы один несчастный адрес 88.100 вылазил через vpn1

Там еще такая проблема, что если много ковырять - то vpn1 отваливается, ведь он работает через ISP1


Аватара пользователя
hardrockbaby
Сообщения: 70
Зарегистрирован: 19 сен 2021, 16:11

mika3444 писал(а): 28 май 2022, 13:34 Пробовал вариант с mangle - не работает.
Пробовали fasttrack отключить?


mika3444
Сообщения: 14
Зарегистрирован: 24 ноя 2020, 16:15

я не знаю что это и не знаю как это отключать.
вроде где-то было написано что эти правила прозрачные, служат только для подсчета трафика.
видимо нет решения проблемы.
а не проще тогда поставить второй микротик, с l2tp на wan интерфейсе и получится во внутренней сети будет два шлюза?


casio81
Сообщения: 28
Зарегистрирован: 15 фев 2020, 14:35

С фастраком маркировка работать не будет.


Ответить