pf + pbr + transparent squid

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
davsharyan
рядовой
Сообщения: 20
Зарегистрирован: 2009-05-19 15:48:00

pf + pbr + transparent squid

Непрочитанное сообщение davsharyan » 2009-05-19 17:49:09

OSЬ: FreeBSD 7.0
Transparent Squid (127.0.0.1)

Есть 2 канала для инета. Некаторые хосты (не локальные, скажем google.com) должны идти через второй канал а все остальное через первый ( default gateway ). Все что не делаю все соединения, после выхода из сквида, идут через дефолтовый шлюз, хотя netstat и pfctl показывают src ip второго канала. Получаем пакет с src ip аддрессом второго прова идет через интерфейс первого прова.
Пробовал с помощью директиви сквида tcp_outgoing_address.

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

acl realtime dst ping.eu
tcp_outgoing_address 83.139.14.137 realtime
server_persistent_connections off 

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

netstat -an | grep '85.25.86.50'
tcp4       0      0  83.139.14.137.54029    85.25.86.50.80         SYN_SENT
tcp4       0      0  83.139.14.137.54028    85.25.86.50.80         SYN_SENT
tcp4       0    615  83.139.14.137.54026    85.25.86.50.80         ESTABLISHED
tcp4       0    619  83.139.14.137.54025    85.25.86.50.80         ESTABLISHED
tcp4       0    614  83.139.14.137.54024    85.25.86.50.80         ESTABLISHED
tcp4       0    615  83.139.14.137.54023    85.25.86.50.80         ESTABLISHED
tcp4       0    624  83.139.14.137.54022    85.25.86.50.80         ESTABLISHED
tcp4       0    614  83.139.14.137.54021    85.25.86.50.80         ESTABLISHED
tcp4       0    615  83.139.14.137.54020    85.25.86.50.80         ESTABLISHED
tcp4       0    613  83.139.14.137.54019    85.25.86.50.80         ESTABLISHED
tcp4       0    620  83.139.14.137.54018    85.25.86.50.80         ESTABLISHED
tcp4       0    614  83.139.14.137.54017    85.25.86.50.80         ESTABLISHED
tcp4       0    614  83.139.14.137.54016    85.25.86.50.80         ESTABLISHED
tcp4       0    611  83.139.14.137.54015    85.25.86.50.80         ESTABLISHED 
Изображение
<<PS
Еverything that has a beginning has an end as well
PS

Хостинговая компания 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/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf + pbr + transparent squid

Непрочитанное сообщение paradox » 2009-05-19 17:53:25

сквид вообще не причем

Гость
проходил мимо

Re: pf + pbr + transparent squid

Непрочитанное сообщение Гость » 2009-05-19 21:34:47

Ну сквид при том что, без него пакеты нормально перебрасываются на ныжный интерфейс. А после выхода из него никак не могу перенаправить, уже не знаю что пробовать, дочитался форумов и гугла помучал хорошенько. Никак не получается ... Посоветуйте что нибудь ?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf + pbr + transparent squid

Непрочитанное сообщение paradox » 2009-05-19 21:36:45

фак по pf почитайте что ли
вообще роутту-реплиту

Аватара пользователя
davsharyan
рядовой
Сообщения: 20
Зарегистрирован: 2009-05-19 15:48:00

Re: pf + pbr + transparent squid

Непрочитанное сообщение davsharyan » 2009-05-20 10:02:45

Свежая голова хороша для работы и конешн руки которые должны рости откуда надо )
Оказывается все очень просто реашется ...

Все пакеты отправляем в сквид, потом те URL/Host которые нужно отправить по другому каналу добавляем в директиву tcp_outgoing_address и pf-у говорим, все уходящие (вот здесь была проблема, надо было взят out пакеты а не in) пакеты которые идут с дефолтового интерфейса у которого src ip адресс втарого канала перенаправить по нужному шлюзу.

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

acl viarealtime url_regex -i "/usr/local/etc/squid/filters/via_realtime.conf"
tcp_outgoing_address 172.22.7.101 viarealtime 
На языке pf будет так

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

rdr on $lan_if inet proto tcp from $lan_if/24 to any port www -> 127.0.0.1 port 3128
pass in quick on $lan_if inet proto tcp from $lan_if/24 to 127.0.0.1 port 3128 keep state

pass out quick on $beeline_vpn_if route-to \
    ($realtime_vpn_if $realtime_vpn_gw) round-robin inet \
    from $realtime_vpn_if/32 to any flags S/SA keep state
Спс, за помощь )
<<PS
Еverything that has a beginning has an end as well
PS