Появился второй канал в интернет - пусть будет резервный.С выходом изнутри разобрался, что такое pbr - знаю.
Вопрос, почему при обращении к серверу по резервному каналу снаружи исходящин пакеты отправляются на основной интерфейс?
Поясняю на примере:
Удалённая консоль ssh делает запрос:
rl0 - основной провайдер
rl1 - резервный провайдер# ipfw zero
# ipfw show07100 3 145 allow tcp from any 22 to any via rl0
07200 0 0 allow tcp from any to any dst-port 22 via rl0
07300 0 0 allow tcp from any 22 to any via rl1
07400 3 78 allow tcp from any to any dst-port 22 via rl1
Пока никто не активизировался, попробую сам разбиратся в проблеме.Пакеты уходят обратно, потому что идут через дефолтовый
Правильно ли я нарыл, что в случае двух и более каналов
от defaulroute нужно отказыватся в сторону fwd?
>Правильно ли я нарыл, что в случае двух и более каналов
>от defaulroute нужно отказыватся в сторону fwd?при отключении defaulroute напрочь перестал работать выход наружу
"нет маршрута до хоста"пришлось пока включить обратно. разбираюсь
>>Правильно ли я нарыл, что в случае двух и более каналов
>>от defaulroute нужно отказыватся в сторону fwd?
>
>при отключении defaulroute напрочь перестал работать выход наружу
>"нет маршрута до хоста"
>
>пришлось пока включить обратно. разбираюсь
Измучался весь, но для тех кто найдёт по поиску - напишу решение к которому пришёл:рабочий вариант с помощью pf
# правила nat для исходящих соединений на каждом внешнем интерфейсе
nat on $ext_if1 from $lan_net to any -> ($ext_if1)
nat on $ext_if2 from $my_ip to any -> ($ext_if2)
# default pass
pass in from any to any
pass out from any to any
pass out route-to ($ext_if1 $ext_gw1) from ($ext_if1) to !(self:network) keep state
pass out route-to ($ext_if2 $ext_gw2) from ($ext_if2) to !(self:network) keep state
># default pass
>pass in from any to any
>pass out from any to any
>pass out route-to ($ext_if1 $ext_gw1) from ($ext_if1) to !(self:network) keep state
>pass out route-to ($ext_if2 $ext_gw2) from ($ext_if2) to !(self:network) keep stateПравила работают, вы проверили?
>
>># default pass
>>pass in from any to any
>>pass out from any to any
>>pass out route-to ($ext_if1 $ext_gw1) from ($ext_if1) to !(self:network) keep state
>>pass out route-to ($ext_if2 $ext_gw2) from ($ext_if2) to !(self:network) keep state
>
>Правила работают, вы проверили?
после того как проверил - сразу написал сюдатеперь прописываю всё на основе запрещающих политик
>Правильно ли я нарыл, что в случае двух и более каналов
>от defaulroute нужно отказыватся в сторону fwd?Нет, схема не работает.
>>Правильно ли я нарыл, что в случае двух и более каналов
>>от defaulroute нужно отказыватся в сторону fwd?
>
>Нет, схема не работает.это я уже понял от ipfw с natd после долгих мучений решил отказатся
потратил 2 дня на изучение pf - http://house.hcn-strela.ru/BSDCert
по этой ссылке ОЧЕНЬ грамотно и для всех БСД систем написаноконфиг за основу взял: http://www.openbsd.ru/files/etc/pf-dual.conf
добавил свою фильтрацию - пока работает
ipfw буду отключать, уж больно pf понравился :)