проблема с PF

lasik
Сообщения: 983
Зарегистрирован: Чт янв 10, 2008 5:20 pm
Откуда: Россия, Москва

проблема с PF

Сообщение lasik »

Значит так, есть такая проблема, есть сервер, под управлением freebsd 6.3.

Я пытаюсь сделать распределение трафика на 2 сетевые, что бы была привязка по пулам (один пул только через одну сетевуху ходит, второй только через вторую).

Проблема следующего характера:

Используя любой из конфигов pf, которые есть на этом форуме, или тот, который на моем сервере, "работает" только "один интернет", только тот, который указан для машины в rc.conf в строке defaultrouter= и в resolv.conf как nameserver.

и хоть ты тресни, уже все перерыл, нихотит он работать так мне нужно, и все тут

вот мой конфиг

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

ext_if_a = "rl0"

ext_if_b = "rl2"

#limit
ext_gw_a = "192.168.72.1"

ext_ip_a = "192.168.72.234"

#unlim
ext_gw_b = "192.168.50.1"

ext_ip_b = "192.168.50.107"


nat on $ext_if_a inet from { 10.1.0.0/16 } to any -> $ext_ip_a:0

nat on $ext_if_b inet from { 10.2.0.0/16 } to any -> $ext_ip_b:0

pass quick on lo0 all

pass out route-to ($ext_if_a $ext_gw_a) inet from ($ext_if_a) to !(self:network) keep state

pass out route-to ($ext_if_b $ext_gw_b) inet from ($ext_if_b) to !(self:network) keep state


pass in on $ext_if_a reply-to ($ext_if_a $ext_gw_a) inet proto tcp to any keep state

pass in on $ext_if_a inet proto tcp from ($ext_if_a:network) to any keep state


pass in on $ext_if_b reply-to ($ext_if_b $ext_gw_b) inet proto tcp to any keep state

pass in on $ext_if_b inet proto tcp from ($ext_if_b:network) to any keep state
кто сто скажет по этому поводу


pfctl -sn говорит

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

nat on rl0 inet from 10.1.0.0/16 to any -> 192.168.72.234
nat on rl2 inet from 10.2.0.0/16 to any -> 192.168.50.107

~AsmodeuS~
Site Admin
Сообщения: 5749
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: проблема с PF

Сообщение ~AsmodeuS~ »

pfctl -sr

покажите

lasik
Сообщения: 983
Зарегистрирован: Чт янв 10, 2008 5:20 pm
Откуда: Россия, Москва

Re: проблема с PF

Сообщение lasik »

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

pass quick on lo0 all
pass out route-to (rl0 192.168.72.1) inet from (rl0) to ! (self:network) keep state
pass out route-to (rl2 192.168.50.1) inet from (rl2) to ! (self:network) keep state
pass in on rl0 reply-to (rl0 192.168.72.1) inet proto tcp all keep state
pass in on rl0 inet proto tcp from (rl0:network) to any keep state
pass in on rl2 reply-to (rl2 192.168.50.1) inet proto tcp all keep state
pass in on rl2 inet proto tcp from (rl2:network) to any keep state

mr_gfd
Сообщения: 129
Зарегистрирован: Пт ноя 03, 2006 8:34 am

Re: проблема с PF

Сообщение mr_gfd »

Я вышел из этой ситуации следующим способом - поднялся на 7.2 версию и использовал множественные таблицы маршрутизации (fib). Разные пулы адресов ходят по разным маршрутам, и все.
------------------------
Интернет в Броварах
http://www.brnet.org.ua

lasik
Сообщения: 983
Зарегистрирован: Чт янв 10, 2008 5:20 pm
Откуда: Россия, Москва

Re: проблема с PF

Сообщение lasik »

я пробовал конфиг с коммерчемкой версии, результат такой же, так что, кажется где то в недрах самой системы собака зарыта

sopov
Сообщения: 610
Зарегистрирован: Вс апр 02, 2006 7:13 pm

Re: проблема с PF

Сообщение sopov »

Вот тюненый рабочий конфиг с одного из насов
/etc/rc.conf

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

ifconfig_fxp0="inet 192.168.2.2  netmask 255.255.255.0"
ifconfig_fxp1="inet 192.168.1.2  netmask 255.255.255.0"
defaultrouter="192.168.2.1"
cat /etc/pf.conf

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

set optimization aggressive

set limit states 100000
set limit src-nodes 100000
# Указываем используемые сетевые интерфейсы:

ext_if_a = "fxp0"

ext_if_b = "fxp1"

# Для каждого из каналов задаем IP-адрес шлюза:

ext_gw_a = "192.168.2.1"

ext_gw_b = "192.168.1.1"

ext_ip_a = "192.168.2.2"

ext_ip_b = "192.168.1.2"

scrub in all fragment reassemble

nat on $ext_if_a inet from { 10.17.0.0/16 } to any -> $ext_ip_a

nat on $ext_if_a inet from { 10.16.0.0/16 } to any -> $ext_ip_b

pass in all
pass out all

#pass from { 10.17.0.0/16, 10.16.0.0/16 } to any keep state (source-track rule, max-src-states 200)

pass out route-to ($ext_if_b $ext_gw_b) inet from ($ext_if_b) to !(self:network) modulate state
В системе 2 пула 10.17.0.0/16 и 10.16.0.0/16

lasik
Сообщения: 983
Зарегистрирован: Чт янв 10, 2008 5:20 pm
Откуда: Россия, Москва

Re: проблема с PF

Сообщение lasik »

попробывал твой конфиг. та же песня

интернет только от 1 ифейса, и только того, который по умолчанию (

sopov
Сообщения: 610
Зарегистрирован: Вс апр 02, 2006 7:13 pm

Re: проблема с PF

Сообщение sopov »

Тогда нужно смотреть в сторону ядра - может чегото нехватает. Или ipfw гдето блокирует...

lasik
Сообщения: 983
Зарегистрирован: Чт янв 10, 2008 5:20 pm
Откуда: Россия, Москва

Re: проблема с PF

Сообщение lasik »

за основу взято GENERIC, и добавлено это

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

options         IPFIREWALL
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         DUMMYNET

options         NETGRAPH
options         NETGRAPH_PPPOE
options         IPFILTER
options         IPFILTER_LOG
options         IPDIVERT

device          pf
device          pflog
device          pfsync
options         ALTQ

sopov
Сообщения: 610
Зарегистрирован: Вс апр 02, 2006 7:13 pm

Re: проблема с PF

Сообщение sopov »

Ну с ядром вроде все гуд... Может всетаки в ipfw какоето правило блокирует?

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

ipfw -a list
покажи до пайпов, ну или сам глянь :) . Еще в pf есть странная особенность - он иногда нехочет нормально перечитывать конфиг, т.е. вродебы перечитывает, но изменения не принемает. Помогает сброс всех правил - команду на память не помню, а bsd сейчас рядом нету... А потом

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

pfctl -d & pfctl -e & pfctl -f /etc/pf.conf

lasik
Сообщения: 983
Зарегистрирован: Чт янв 10, 2008 5:20 pm
Откуда: Россия, Москва

Re: проблема с PF

Сообщение lasik »

ipfw -a list

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

65535 689835 436553678 allow ip from any to any
а ниже написаное я юзаю для рестарта, правда чуток подругому
pfctl -F all
pfctl -f /etc/pf.conf

sopov
Сообщения: 610
Зарегистрирован: Вс апр 02, 2006 7:13 pm

Re: проблема с PF

Сообщение sopov »

Ну тогда наверное место заколдованое :D - переставь по фэншую.

mr_gfd
Сообщения: 129
Зарегистрирован: Пт ноя 03, 2006 8:34 am

Re: проблема с PF

Сообщение mr_gfd »

pfctl -srv
pfctl -ssv

А еще заметил IPFILTER.
ipfstat -on
ipfstat -in

Ну и
netstat -nr
------------------------
Интернет в Броварах
http://www.brnet.org.ua

lasik
Сообщения: 983
Зарегистрирован: Чт янв 10, 2008 5:20 pm
Откуда: Россия, Москва

Re: проблема с PF

Сообщение lasik »

дело не в этом, я нешел трабл.

проблема в dns.

буду решать

sopov
Сообщения: 610
Зарегистрирован: Вс апр 02, 2006 7:13 pm

Re: проблема с PF

Сообщение sopov »

А dns на этой машине? Если да, то вешаете alias на loopback - например 128.0.0.1, поднимаете на нем dns и отдаете клиенту.

Ответить