фаервол
#!/bin/bash
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe iptable_nat
#этот модуль позволяет работать с ftp в пассивном режиме
modprobe ip_nat_ftp
modprobe ip_nat_irc
#очистка цепочек
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 ACCEPT
iptables -P FORWARD DROP
#разрешаем все входящие пакеты на интрефейс замыкания на себя иначе ничего не работает
iptables -A INPUT -i lo -j ACCEPT
#РАЗРЕШЕНЫ ТОЛЬКО ВХОДЯЩИЕ СОЗДАННЫЕ НАШИМИ ИСХОДЯЩИМИ
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#Правила повышающие безопасность
#Блочим входящие tcp соединения не syn пакетом (либо ошибка либо атака)
iptables -I INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP
iptables -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT
#разрешаем любые входящие и исходящие по icmp
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
#разрешаем доступ из локальной сети на порты 21(ftp),22(ssh),53(dns),9999(внутрисетевой репозитраий),110 и 143 - pop3 smtp, 995 и 993 - pops smtps
iptables -A INPUT -i eth0 -p tcp -m multiport --dport 22,53,80,3128 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
#Разрешаем хождение через цепочку форвард пакетов идущих в ответ на пакеты с eth0
iptables -A FORWARD -i ppp0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#Комп главбуха каменск газа
iptables -A FORWARD -s 192.168.4.66 -o ppp0 -j ACCEPT
#Компы и другие устройства цепляющиеся через WiFi
#Маскарадим то что прошло через цепочку forward
iptables -t nat -I POSTROUTING -s 192.168.4.0/24 -o ppp0 -j MASQUERADE