BSDPORTAL.RU
http://www.bsdportal.ru/

PF и два интернет провайдера (канала)
http://www.bsdportal.ru/viewtopic.php?f=13&t=11888
Страница 1 из 1

Автор:  Timur [ Сб 18 ноя, 2006 1:54 pm ]
Заголовок сообщения:  PF и два интернет провайдера (канала)

Здраствуйте всем...
Прошу прощения, что я снова подымаю эту избитую тему.
Имеется два соединения к Интернету.
Необходимо, чтобы ответы на пакеты tcp/udp/icmp,приходящие с первого интернет-провайдера, уходили через GW первого провайдера и, чтобы ответы на пакеты tcp/udp/icmp, приходящие со второго провайдера, уходили через GW второго провайдера.

Не могу понять, читал много статей, но с синтакисом PF начал работать недавно, поэтому немного сложно понять, как люди делают это с помощью route-to и reply-to.

Помогите пожалуйста. Выложите простой конфиг, что я должен написать в pf.conf.
Для простоты не нужны никакие редиректы внутрь сети и будем предполагать, что все пакеты должны пропускаться\приниматься.

Заранее спасибо.
Тимур.

Автор:  Iggy Rain [ Вс 19 ноя, 2006 2:09 pm ]
Заголовок сообщения: 

у меня на 6.1 route-to не пашет :(

Автор:  ch [ Вс 19 ноя, 2006 2:22 pm ]
Заголовок сообщения: 

http://www.openbsd.ru/files/etc/pf-dual.conf

Автор:  Iggy Rain [ Вс 19 ноя, 2006 8:53 pm ]
Заголовок сообщения: 

на OpenBSD оно и пашет, а на Free - болт

Автор:  Timur [ Пн 20 ноя, 2006 8:09 am ]
Заголовок сообщения: 

if1="rl0"
if2="ed0"
gw1="195.158.18.9"
gw2="217.29.120.241"

pass in all
pass out all

pass out route-to ($if1 $gw1) from ($if1) to !(self:network) keep state
pass out route-to ($if2 $gw2) from ($if2) to !(self:network) keep state

pass in on $if1 reply-to ($if1 $gw1) proto tcp flags S/SA tagged IF1 keep state
pass in on $if2 reply-to ($if2 $gw2) proto tcp flags S/SA tagged IF2 keep state

сделал такую схему.....с пингами все нормально работает...пакеты icmp уходят туда куда надо......но tcp сессии и udp пакеты упорно лезут в default gateway....

Автор:  GreenX [ Вт 21 ноя, 2006 3:51 pm ]
Заголовок сообщения: 

Iggy Rain писал(а):
на OpenBSD оно и пашет, а на Free - болт

Ну вот не надо так однозначно... :twisted:

Например, у меня соединены два офиса через gif-ы по схеме из handbook.
Беру просто убиваю статический путь маршрута, во вторую сеть.
Пишу правила.
Код:
.... skip ....
pass in quick log on $int_if route-to ($vpn_if 192.168.2.1) inet proto tcp\
from $int_if:network to 192.168.2.4 port rdp flags S/SA keep state
pass out quick log on $vpn_if route-to ($vpn_if 192.168.2.1) inet proto tcp\
from $int_if:network to 192.168.2.4 port rdp flags S/SA keep state
.... skip .....

И почему-то работает.
Я что-то делаю не правильно, наверно ? :)

Автор:  Iggy Rain [ Чт 23 ноя, 2006 8:53 pm ]
Заголовок сообщения: 

uname -r в студию и если можно pf.conf :)

Автор:  GreenX [ Пт 24 ноя, 2006 11:13 am ]
Заголовок сообщения: 

6.2-PRERELEASE от 20 ноября.
но сам PF давно уж не менялся,
Код:
# head -n 1 /usr/src/sys/contrib/pf/net/pf.c
/*      $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.34.2.4 2006/09/19 15:45:20 csjp Exp $ */

судя webcvs изменения последние исправления с route-to были в 2005г.

Автор:  lamka [ Пн 27 ноя, 2006 7:32 am ]
Заголовок сообщения: 

а на ipfw такое можно сделать?

Автор:  GreenX [ Пн 27 ноя, 2006 11:15 am ]
Заголовок сообщения: 

Возможно всё, что можно представить! :)

Автор:  Iggy Rain [ Пн 27 ноя, 2006 11:56 am ]
Заголовок сообщения: 

%head -n 1 /usr/src/sys/contrib/pf/net/pf.c
/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.34.2.3 2005/12/30 00:50:18 mla
ier Exp $ */

%uname -r
6.1-RELEASE-p10

насколько давно ? :-)

таки что-то уже меняли. Лано, подожду выхода 6.2

Автор:  GreenX [ Пн 27 ноя, 2006 1:06 pm ]
Заголовок сообщения: 

Меняли, но там больше подготовка к mandatory access control.
Чуть-чуть reply-to коснулось.
http://www.freebsd.org/cgi/cvsweb.cgi/s ... ev1.34.2.4
Да как-то же люди и на 5.3 работают, судя по форумам.

Автор:  чел [ Пт 16 фев, 2007 9:23 pm ]
Заголовок сообщения:  решение для FreeBSD 6

убил день чтобы настроить примерно то же самое на своей
фрюшке 6.1
Очень хочу чтобы если у кого встанет такая задачка сделали это быстрее.
К правилам тимура нужно добавить

pass out on $if1 route-to ($if2 $gw2) from $if2 to any
pass out on $if2 route-to ($if1 $gw1) from $if1 to any

Эти правила выглядят тавталогичными - типа и так уже отправили пакетики, но оказалось (tcpdump не даст соврать) что без них пакетики выходят через интерфейс прописанный в путях для адреса назначения, причем с не прописанном на этом интерфейсе ip(!)

Кроме того насколько я понимаю правила
pass out route-to ($if1 $gw1) from ($if1) to !(self:network) keep state
pass out route-to ($if2 $gw2) from ($if2) to !(self:network) keep state
нужны только если по умолчанию блокируем весь исходящий, в нашем случае их не нужно

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/