прошу оценить мою конфигурацию iptables для щлюза (squiid+sams)
ppp0-подключение к нету с динамическим ip
eth0-интерфейс подключённый к локалке (192ю168.3.)
#!/bin/bash
#этот модуль позволяет работать с ftp в пассивном режиме
#modprobe nf_conntrack_ftp
#очистка цепочек
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t mangle -F
#Запрет всего
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#включение логов iptables
#префиксы сообщений iptables
#iptables -A INPUT -p tcp -j LOG --log-prefix "input tcp"
#iptables -A INPUT -p icmp -j LOG --log-prefix "input icmp"
#логи входящих tcp udp icmp
#iptables -A INPUT -j LOG --log-level 4
#разрешаем все входящие пакеты на интрефейс замыкания на себя иначе ничего не работает
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#РАЗРЕШЕНЫ ТОЛЬКО ВХОДЯЩИЕ СОЗДАННЫЕ НАШИМИ ИСХОДЯЩИМИ
iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT
#разрешаем любые входящие и исходящие по icmp
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
#разрешаем подключение по ssh INPUT разрешаем для того чтобы было можно конектится с любой #тачки посети
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
#разрешаем ntpdate-синхронизация времени
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
#разрешаем ftp без пассивного режима
iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 20 -j ACCEPT
#разрешаем входящие и исходящие на на порт 80 инет и 53 - dns
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
#разрешаем исходящий на локальное зеркало
sysctl net.ipv4.ip_forward = 1 # Разрешаем шлюзу передавать транзитный трафик
iptables -A FORWARD -m conntrack --ctstate NEW -i eth0 -s 192.168.3.0/24 -j ACCEPT # Разрешаем исходящие соединения из локальной сети к интернет-хостам
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE # Маскарадим весь трафик, идущий через eth0
Правила iptables для прокси сервера
хорошая конфигурация
новая версия
ppp0-нет
eth0- локалка
Прокси 192.168.3.25 порт 8080
#!/bin/bash
#этот модуль позволяет работать с ftp в пассивном режиме
modprobe nf_conntrack_ftp
#очищаем цепочки
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t mangle -F
# Задаем политики по умолчанию
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
# Создаем пользовательские цепочки.
iptables -N ppp0-eth0
iptables -N eth0-ppp0
iptables -N eth0-out
iptables -N ppp0-out
iptables -N eth0-in
iptables -N ppp0-in
iptables -N icmp_packets
# Направляем все входящие пакеты в соответствующие цепочки.
iptables -A INPUT -d ppp0 -j ppp0-in
iptables -A INPUT -d 192.168.3.25 -j eth0-in
# Направляем все исходящие пакеты в соответствующие цепочки.
iptables -A OUTPUT -s ppp0 -j ppp0-out
iptables -A OUTPUT -s 192.168.3.25 -j eth0-out
# Разрешаем весь трафик с петлевого интерфейса.
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Разрешаем следующие типы icmp пакетов.
iptables -A icmp_packets -p icmp --icmp-type 0 -j ACCEPT
iptables -A icmp_packets -p icmp --icmp-type 3 -j ACCEPT
iptables -A icmp_packets -p icmp --icmp-type 8 -j ACCEPT
iptables -A icmp_packets -p icmp --icmp-type 11 -j ACCEPT
# Для удобства фильтрации, направляем все транзитные пакеты,
# в соответствующие цепочки.
# ppp0-eth0 мир -> локальная сеть
# eth0-ppp0 локальная сеть -> мир
iptables -A FORWARD -i ppp0 -o eth0 -j ppp0-eth0
iptables -A FORWARD -i eth0 -o ppp0 -j eth0-ppp0
# ppp0-eth0. В данную цепочку попадают все транзитные пакеты,
# направленные из мира в локальную сеть.
iptables -A ppp0-eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A ppp0-eth0 -j DROP
# eth0-ppp0. В данную цепочку попадают все транзитные пакеты,
# направленные из локальной сети в мир.
iptables -A eth0-ppp0 -p icmp -j icmp_packets
iptables -A eth0-ppp0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A eth0-ppp0 -j DROP
# eth0-in. В данной цепочке открываем порты тех служб, которые
# должны быть доступны на сервере из локальной сети.
iptables -A eth0-in -p icmp -j icmp_packets
iptables -A eth0-in -p udp --dport 53 -j ACCEPT #DNS
iptables -A eth0-in -p tcp --dport 80 -j ACCEPT #http
iptables -A eth0-in -p tcp --dport 8080 -j ACCEPT #SQUID
iptables -A eth0-in -j DROP
# ppp0-in. В данной цепочке открываем порты тех служб, которые
# должны быть доступны на сервере из мира. Например www, smtp, ftp
iptables -A ppp0-in -p icmp -j icmp_packets
iptables -A ppp0-in -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A ppp0-in -j DROP
# eth0-out.
iptables -A eth0-out -p icmp -j icmp_packets
iptables -A eth0-out -p udp --dport 53 -j ACCEPT
iptables -A eth0-out -p tcp -m multiport --dport 22,80,443 -j ACCEPT
iptables -A eth0-out -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A eth0-out -j DROP
# ppp0-out.
iptables -A ppp0-out -p icmp -j icmp_packets
iptables -A ppp0-out -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A ppp-out -j DROP
# Производим сетевую трансляцию адресов (NAT)
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# "Заварачиваем" весь http трафик на squid.
iptables -t nat -A PREROUTING -s 192.168.3.0/24 -i eth1 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-ports 8080
drac753, используйте тег [ code ] ваш текст [/ code ] без пробелов, придайте вашим сообщениям читабельный вид. Уважайте себя, гостей и пользователей linuxforum.ru
аууу народ пишите отзывы плиз smile , это мой первый фаер для шлюза wink , так что может где касяков понаделал и не вижу их
iptables v1.4.8: host/network `ppp0' not foundTry `iptables -h' or 'iptables --help' for more information
делаю ifconfig ppp0 есть , вчем прикол?