FreeBSD и 2 ISP

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
feo85
рядовой
Сообщения: 17
Зарегистрирован: 2013-06-17 12:26:37

FreeBSD и 2 ISP

Непрочитанное сообщение feo85 » 2013-10-10 9:54:29

Здравствуйте!

Имеется Web сервер с FreeBSD 8.2 и PF, он подключен к 2-м разным провайдерам и имеет 2 разных внешних ip (и соответственно 2 разных шлюза для этих ip).

Как сделать так, чтоб сервер был ОДНОВРЕМЕННО доступен по обоим ip. Т.е. если пакет приходит на ext_if_0, то и ответ идет с ext_if_0, а если приходит на ext_if_1 - то ответ идет с ext_if_1. На данный момент получается так, что он доступен только по интерфейсу для которого прописан default gateway.

Пробовал сделать средствами PF как советуют, что то а-ля:

Код: Выделить всё

pass out quick route-to ($ext_if_0 $ext_gw_0) from $ext_if_0 to any keep state
pass out quick route-to ($ext_if_1 $ext_gw_1) from $ext_if_1 to any keep state
но это результатов никаких не дало.

Заранее спасибо за ответы.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: FreeBSD и 2 ISP

Непрочитанное сообщение rayder » 2013-10-10 10:43:39

пример из гугла.

Код: Выделить всё

ext_if_a="rl0"
ext_if_b="vr0"
ext_gw_a="x.x.x.161"
ext_gw_b="x.x.x.253"

#Normalization: scrub incoming packets
scrub in all

# pass traffic on the loopback interface in either direction
pass quick on lo0 all
# spoofing
antispoof quick for $ext_if_a inet

#Симметричная маршрутизация: (если пакет пришел из канала A, ответ пойдет
#через канал A независимо от default route).
pass in quick on $ext_if_a reply-to ($ext_if_a $ext_gw_a) keep state
pass in quick on $ext_if_b reply-to ($ext_if_b $ext_gw_b) keep state

pass in all
pass out all
PF в ядре или модулем?
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

feo85
рядовой
Сообщения: 17
Зарегистрирован: 2013-06-17 12:26:37

Re: FreeBSD и 2 ISP

Непрочитанное сообщение feo85 » 2013-10-10 11:07:50

Да. Действительно правильный вариант оказался такой:

Код: Выделить всё

pass in quick on $ext_if_0 reply-to ($ext_if_0 $ext_gw_0) from any to $ext_server_ip_0
pass in quick on $ext_if_1 reply-to ($ext_if_1 $ext_gw_1) from any to $ext_server_ip_1
Огромное спасибо!