Тема: маршрутизация на двух провайдеров
Добрый день, коллеги.
Задумался по поводу поведения системы Freebsd 10.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 туннелей, но ровно до того момента как падает дефолтный интерфейс - в тот же момент становится недоступным и второй. Очевидно, у меня проблема в настройках, но где?
Куда бежать, что делать?