iptables forwarding обман или магия??

Имеется 3 интерфейса - 2 сетевухи и vpn соединение. Вопрос:

Если сделать так:

$IPTABLES -P FORWARD ACCEPT

то все работает ништяк.
Но если сделать так:

$IPTABLES -P FORWARD DROP
$IPTABLES -A FORWARD -i $INTRANET_IFACE -j ACCEPT
$IPTABLES -A FORWARD -i $EXTRANET_IFACE -j ACCEPT
$IPTABLES -A FORWARD -i $INET_IFACE -j ACCEPT

то часть сайтов открывается, часть нет. Мысли кончились, гугл тоже, нид хелп как говорится.

"А если ткнуть пальцем в

"А если ткнуть пальцем в небо..."

:) Определитесь что вы хотите, если вам интересно как работает iptables то в гугле можно найти схемы, например http://xkr47.outerspace.dyndns.org/netfilter/packet_flow/packet_flow9.png

Working on Gentoo Linux for Asus P535 and Qtopia :-)

Что-то я не пойму, можно на

Что-то я не пойму, можно на пальцах, в чем разница между двумя записями, и соответственно причина эффекта?

Для тех, кто в танке -

Для тех, кто в танке - форвард это НЕ только, и НЕ столько инпут интерфейсы! Тем более, что вы даже инпут интерфейсы описали НЕ все! :)
Используйте ЛОГ, чтобы увидеть это...

Я так понимаю вам nat нужен?

Я так понимаю вам nat нужен? У меня он так реализован :

#Сначала обнуляем наши текущие правила
iptables -F
iptables -t nat -F

#Установим политики по умолчанию для трафика, не соответствующего ни одному из правил
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

export LAN=br0
export LAN_ADDR=192.168.1.0/255.255.255.0
export WAN=eth1
export VPN=ppp0

# некоторые правила пропущены за ненадобностью в этой теме

#В конце добавляем правила для NAT
iptables -I FORWARD -i ${LAN} -d ${LAN_ADDR} -j DROP
iptables -A FORWARD -i ${LAN} -s ${LAN_ADDR} -j ACCEPT
iptables -A FORWARD -i ${WAN} -d ${LAN_ADDR} -j ACCEPT
iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE

iptables -I FORWARD -i ${LAN} -d ${LAN_ADDR} -j DROP
iptables -A FORWARD -i ${LAN} -s ${LAN_ADDR} -j ACCEPT
iptables -A FORWARD -i ${VPN} -d ${LAN_ADDR} -j ACCEPT
iptables -t nat -A POSTROUTING -o ${VPN} -j MASQUERADE

Оффтоп: просьба знатокам, попинать, если мой способ в чём-то коряв. Я с iptables особо не разбирался - делал по примерам.
ЗЫ. Исходные данные: 2 интерфейса (eth0 он же br0 и eth1) + vpn с нетом. Интерфейсы связаны мостом (bridge).

Спасибо за помощь,но ответа

Спасибо за помощь,но ответа на вопрос я так и не получил. Вопрос в третьем посте этой темы. А насчет того, что я описал не все интерфейсы - имеется в виду lo?

Возможно проблема в том что

Возможно проблема в том что второй вариант это фактически

$IPTABLES -P FORWARD DROP
$IPTABLES -A FORWARD ACCEPT

То бишь первой строчкой вы определили политику по умолчанию для пакетов, к которым не применимо ни одно из правило. А следущей строкой разрешили все пакеты. Что логически ошибочно.
К тому же не понятно чего вы вообще желаете добиться. И быть может какие-то ещё правила есть, которые и пакастят?
lo интерфейс тут не важен. Я думаю правильнее было бы в описании сказать что у вас есть 2 сетевых интерфейса и vpn соединение. Это если я всё правильно понял.

ЗЫ. Это всё imho

Так как вы делаете делать не

Так как вы делаете делать не правильно.
по этому и работает непредсказуемо.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".