iptables, forwarding (необходимо форвардить определенные порты...)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

barton`ello
Сообщения: 57

iptables, forwarding

Сообщение barton`ello »

Добрый день.

В правилах, задаваемых для iptables есть такие строки, отвечающие за форвардинг:

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

$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp -m multiport --dports 80,8080,81,443,21,20,995,110,465,25,3128,5190,5222,5223 -j ACCEPT

$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
Но почему-то строчка №1 отрабатывается как-то не так, как ожидалось, т.е. пакеты не идут, инета у подсетки нет=(


Временно был использован такой метод:

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

$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp -m multiport ! --dports 80,8080,81,443,21,20,995,110,465,25,3128,5190,5222,5223 -j DROP
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT

$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

Он работает, но все же это не то, что нужно, т.к. проходят и icmp пакеты и вообще все подряд. Естесственно, вариант с $IPTABLES -A FORWARD -i $INTIF -o $EXTIF ! -p tcp -j DROP работать нормально не будет, а прописывать каждый отдельный протокол - нерациональный метод. ИМХО существует способ сделать это проще.

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

Спасибо.
Спасибо сказали:
barton`ello
Сообщения: 57

Re: iptables, forwarding

Сообщение barton`ello »

Все, проблему решил) Забыл пропустить днс через udp

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

$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 53 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp -m multiport --dports 80,8080,81,443,21,20,995,110,465,25,3128,5190,5222,5223 -m state --state NEW -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
Спасибо сказали: