Страница 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"];
}