Страница 2 из 2
Re: Маршрутизация
Добавлено: 18 авг 2017, 17:40
IgorZ
gmx писал(а):Конечно.
Не ставьте галочку add default route в dhcp клиенте. Ну или, точнее, там раскрывающийся список, а не галочку.
Помню что где-то оно было. Точно. Спасибо!
Re: Маршрутизация
Добавлено: 18 авг 2017, 23:44
Vlad-2
IgorZ писал(а):Помню что где-то оно было. Точно. Спасибо!
Только имейте ввиду - что если шлюза по-умолчанию Вы не получите или его не будет у Вас, то и Интернета тоже скорее не будет!
Объясню на обобщённом примере: у отца Билайн-домашний, подключение по L2TP, но прежде чем поднимется сессия, надо по DHCP от провайдера
на порт получить внутреннюю адресацию, да, её получаю, но адрес получаем в одной сети, а ВПН (или сервер L2TP) в другой вообще адресации,
и тут без шлюза по дефолту Вы до ВПН-сервера не дойдёте, и сессия не подключиться!
(сервера авторизации имеют разные блоки адресации)!
Поэтому Вам: а) оставлять режим получение по DHCP от провайдера и шлюза и видеть 2-4-6 дополнительных маршрутов.
б) убирать получения шлюза от провайдера, но создавать статическую запись(записи) до сервера авторизации/ВПН'а руками
на все возможные нужные адреса.
Re: Маршрутизация
Добавлено: 21 авг 2017, 10:32
IgorZ
Vlad-2 писал(а):IgorZ писал(а):Помню что где-то оно было. Точно. Спасибо!
Только имейте ввиду - что если шлюза по-умолчанию Вы не получите или его не будет у Вас, то и Интернета тоже скорее не будет!
Да, согласен.
Но каждый раз руками за этим следить не вариант же.
Что если просто сделать скрипт, который будет, например, сверять адрес шлюза DHCP клиента с адресом в рутингах и менять при необходимости если разные?
Конечно не хотелось бы запускать эту проверку каждые N минут, лучше бы привязаться к какому-то событию, если так можно, например, к тому когда DHCP получает новый IP.
Т.е. например:
Код: Выделить всё
/log info [/ip dhcp-client get [find interface="wan-2 (ks)"] gateway ]
/log info [/ip route get [find comment="ISP-KS"] gateway]
Re: Маршрутизация
Добавлено: 21 авг 2017, 10:58
Vlad-2
Мне кажется Вы усложняете то, что итак просто.
Вам не нравятся шлюзы и маршруты которые Вы (роутер Ваш) получает автоматически,
вариант второй, как я и предлагал, не принимать от провайдера по-умолчанию их,
но и Интернета не будет,но для работы Интернета - получения шлюза по-умолчанию нужно,
Вы хотите скрипт делать с аналитикой.... что тоже не просто и не всегда думаю будет оправдано.
Может всё же получать от провайдера всё что полагается, маршруты они же не мешают и работают.
Ну а дистанс можно поднять (вернее и правильнее их приопустить) до 10-20 чтобы более адаптивные маршруты имели приоритеты....
NB:
("бритва Оккама - из множества док-ств, самое простое - и является истинным).
P.S.
(всё IMHO)
Re: Маршрутизация
Добавлено: 21 авг 2017, 11:42
IgorZ
Нет желания специально усложнить. Но и каждый раз помнить и лезть руками внутрь тоже не особо хочется. Тем более если тут есть возможность автоматизации, грех не пользоваться.
Сейчас, картина такая:

Для первого инета "Fregat pppoe" проблем нет т.к. gateway у маршрута смотрит на интерфейс.
Для второго инета, который dhcp, маршрут смотрит на вбитый руками gateway. Для его смены пока оставлю этот скрипт (посмотрю со временем насколько он правильный):
Код: Выделить всё
:local KSGW1 [/ip dhcp-client get [find interface="wan-2 (ks)"] gateway ];
:local KSGW2 [/ip route get [find comment="ISP-KS"] gateway];
if ($KSGW1 != $KSGW2) do={
/log info ("KS DHCP GW=$KSGW1, KS ROUTE GW=$KSGW2");
/ip route set [find comment="ISP-KS"] gateway=$KSGW1;
}
Для отслеживания одного из инетов второй скрипт:
Код: Выделить всё
:local ISP1 [/ping count=3 interval=1s interface="Fregat pppoe" 8.8.8.8];
if ( $ISP1 > 0 and ([:len [/ip route find where comment="ISP-FRG" and disabled]] > 0) ) do={
/log info "Script: Fregat is UP";
/ip route enable [find comment="ISP-FRG"];
}
if ( $ISP1 <= 0 and ([:len [/ip route find where comment="ISP-FRG" and !disabled]] > 0) ) do={
/log info "Script: Fregat is DOWN";
/ip route disable [find comment="ISP-FRG"];
}