Установлена OpenBsd 4.8. Есть два интернет канала. Примерно pf.conf следующий:
====================================================================================
bash-4.1# cat pff1.conf
lan_net = "192.168.0.0/20"
int_if = "rl0"
ext_if1 = "xl0"
ext_if2 = "xl1"
ext_gw1 = "14.121.13.234"
ext_gw2 = "34.98.148.233"table <clients> persist file "/etc/exadel/clients.conf"
match out on $ext_if1 from <clients> nat-to ($ext_if1)
match out on $ext_if2 from <clients> nat-to ($ext_if2)block in
block outpass out on $int_if to <clients>
pass in quick on $int_if from <clients> to $int_if#pass in on $int_if from <clients> route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin
pass in on $int_if proto tcp from <clients> to port http route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin
pass in on $int_if proto tcp from <clients> to port smtp route-to { ($ext_if2 $ext_gw2), ($ext_if1 $ext_gw1) } round-robinpass out on $ext_if1
pass out on $ext_if2
==========================================================
Ext_gw1 -- default gateway ( /etc/mygate),ext_gw2 --добавлен в T1 таблицу.Это конфиг работает без особых проблем. Проблемы возникают, когда отваливается, к примеру 1 канал с гейтом ext_gw1. Пока не поменяю на
pass in on $int_if proto tcp from <clients> to port smtp route-to ($ext_if2 $ext_gw2)
ничего не работает для порта smtp.
Вопрос: существует ли синтаксис pf, который позволяет обыграть ситуацию с пропаданием одного из каналов ?
> Вопрос: существует ли синтаксис pf, который позволяет обыграть ситуацию с пропаданием одного
> из каналов ?Вроди как нет.
У меня через ifstated правиться таблицы роутинга.
>> Вопрос: существует ли синтаксис pf, который позволяет обыграть ситуацию с пропаданием одного
>> из каналов ?
> Вроди как нет.
> У меня через ifstated правиться таблицы роутинга.Т.е. когда пропадает один из каналов, меняется default gateway и запускается модифицированный pf.conf ?
> Т.е. когда пропадает один из каналов, меняется default gateway и запускается
> модифицированный pf.conf ?Примерно.
с вашим конфигом можно вообще убрать все route-to, включить мультипатч роутинг, и через ifstated манипулировать дефолтными маршрутами при падении/поднятии интерфейса.
Я поднял мультипатч роутинг.Только у меня что-то не вяжется одновременная работа с двумя каналами в нормальном режиме, и работа с одним каналом, при пропадании другого. Не будет ли у вас примерного конфига для данного случая ?
> Я поднял мультипатч роутинг.Только у меня что-то не вяжется одновременная работа с
> двумя каналами в нормальном режиме, и работа с одним каналом, при
> пропадании другого. Не будет ли у вас примерного конфига для
> данного случая ?Пример настроек чего именно вам нужен?
собственно мультипатч роутинг настраиваем по faq.
в файрволе если таки требуются route-to, то ставим их либо в отдельный анкор либо вместо интерфейса указываем таблицу. при падении одного из интерфейсов скрипт запускаемый ifsted правит анкор/таблицу и удаляет/добавляет роут.
Роутинг я настроил.На мой вопрос -- вы ответили. Большое спасибо.