Страница 1 из 1

Маршрутизация на двух провайдеров

Добавлено: 2017-02-20 13:56:34
Vld_sergio
Добрый день, коллеги.

Задумался по поводу поведения системы FreeBSD10.3R в такой ситуации:
Есть будущий роутер. Интерфейс в локалку, два интерфейса на двух провайдеров.
Тестирую. Правила ipfw сброшены - ipfw flush, дефолтный маршрут смотрит на провайдера isp01.
Когда я запускаю команду ping -S isp02_ip 8.8.8.8, например, где isp02_ip это ip-адрес второго интерфейса, echo-request идут через дефолтный интерфейс, но с адресом второго интерфейса, в то время как echo-reply возвращаются на правильный интерфейс, второго провайдера.
Разумеется, при построенных правилах файрволла, с ipfw fwd и натом, всё работает правильно, но то, что до ipfw система сама выбирает маршрут для OUT - для меня кажется неправильным и не очевидным.
При этом вылазит вторая проблема - на полностью настроенной системе, с правилами ipfw fwd и так далее, оба интерфейса доступны извне - например, по ssh или для gre over ipsec туннелей, но ровно до того момента как падает дефолтный интерфейс - в тот же момент становится недоступным и второй. Очевидно, у меня проблема в настройках, но где?
Куда бежать, что делать?

Маршрутизация на двух провайдеров

Добавлено: 2017-02-21 9:30:03
kharkov_max
Set fib?

Маршрутизация на двух провайдеров

Добавлено: 2017-02-21 9:51:28
Vld_sergio
Да, я думаю в эту сторону. Вопрос в другом - это штатное поведение системы FreeBSD? Т.е. многочисленная копипаста со какой-то старой статьи о Policy-Based Routing, которая находится в гуглях (ну вы в курсе, ipfw fwd и так далее), немного врёт?

Маршрутизация на двух провайдеров

Добавлено: 2017-02-25 17:34:50
guest
Интерфейс падает, маршрут по умолчанию удаляется. Без роутинга пакеты прибиваются, в firewall соответственно на выходе не попадают. Можно восстанавливать default в скрипте на падение интерфейса или выставить default на lo0/lo1 - он никогда не упадет.

Когда пакеты входят в интерфейс роутинг им не назначен, можно использовать setfib в правилах firewall для назначения таблицы маршрутизации определяющей исходящий интерфейс. При втором проходе firewall, интерфейс будет правильный.