> -A RH-Firewall-1-INPUT -i eth1 -m tcp -p tcp --dport 53 -j
> ACCEPT Во-первых, я бы постеснялся мешать в одной цепочке стейтлес и стейтфул, извините мой фрунцузский!, правила... Хотя, наверное, должно и так тоже работать.
> #Rules for connect to router
> #-A RH-Firewall-1-FORWARD -i eth1 -d 192.168.178.1 -m state --state NEW,ESTABLISHED -j
> ACCEPT
> #-A RH-Firewall-1-FORWARD -i eth0 -d 192.168.2.0/24 -m state --state ESTABLISHED -j ACCEPT
Вот эти два выкинуть и забыть. (Сам вижу, что закоментированы.)
> #-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
А вот это -- включить, плюс во всех стейтфул правилах ниже оставить только чистый "--state NEW". Пакеты "RELATED,ESTABLISHED" от всех соединей, которые были "открыты" из состояния ровно NEW, будут пропущены _этим_--^^^ правилом. Так, как мне показалось, устроены эти "RH-Firewall-1"-скрипты...
> #SQUID
> -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp
> --dport 3128 -j ACCEPT
> -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp
> --dport 8080 -j ACCEPT
Соотвтственно:
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT
Кстати, заметил, что объединеие INPUT и FORWARD в одну кучу в этих "RH-Firewall-1"-подобных пустит юзеров из локалки не только к сквиду на роутере, но и, сюрприз, на порты, в данном примере, 3128 и 8080 любого хоста снаружи, в интернете. Неаккуратнентко!
> #VNC
> -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,ESTABLISHED -m tcp
> --dport 5900 -j ACCEPT
> -A RH-Firewall-1-INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED -m
> tcp --sport 80 -j ACCEPT
Аналогично, для "простых" сервисов: в первом--^^^ оставить только NEW, второе выкинуть.
> #HTTPS
> -A RH-Firewall-1-INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED -m tcp
> --sport 443 -j ACCEPT
Выкинуть, всёравно не работает: нет открытия соединения с NEW. Или переписать.
> #SSH
> -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
> -p tcp --dport 22 -j ACCEPT
То же: оставить только NEW; верно ли, что оно пускает юзеров по ssh не только на прокси.
А... понял. Ещё вариант: убираем общее правило для RELATED,ESTABLISHED, а каждый сервис "выписываем" примерно так:
-A RH-Firewall-1-INPUT -p tcp -s 192.168.2.0/24 --sport 1024:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp --sport 22 -d 192.168.2.0/24 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
или так
$IPT_ADD -i eth1 -p tcp -s 192.168.2.0/24 --sport 1024:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT_ADD -o eth1 -p tcp --sport 22 -d 192.168.2.0/24 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
>[оверквотинг удален]
> #Allow active
> -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
> -p tcp --dport 20 -j ACCEPT
> -A RH-Firewall-1-INPUT -i eth0 -m state --state ESTABLISHED,RELATED -p tcp --sport
> 20 -j ACCEPT
> #Allow passive FTP
> -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
> -p tcp --dport 1024 -j ACCEPT
> -A RH-Firewall-1-INPUT -i eth0 -m state --state ESTABLISHED,RELATED -p tcp --sport
> 1024 -j ACCEPT
Ага, самое вкусное. :) Не скажу, что всё, что ниже сам написал, но очень старался скопипастить верно.
# Setting up rules for initial FTP connection server
$IPT_ADD -i eth1 -p tcp --sport 1024:65535 --dport ftp -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT_ADD -o eth1 -p tcp --sport ftp --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
# Setting up rules for Active FTP server
$IPT_ADD -o eth1 -p tcp --sport ftp-data --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT_ADD -i eth1 -p tcp --sport 1024:65535 --dport ftp-data -m state --state ESTABLISHED -j ACCEPT
# Setting up rules for Passive FTP server
$IPT_ADD -i eth1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT_ADD -o eth1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
И комментарии тоже не мои -- специально обученный скрипт пишет. То, что выше с $IPT_ADD (два сервиса) сгенерировано из двух последних строк примерно такого конфига:
---8<---
version 5
router r
server ssh accept src 192.168.2.0/24 inface eth1
server ftp accept inface eth1
--->8---
На самом деле с комментариями - из "explain" сессии.
Welcome - http://firehol.sf.net/