Itt a jelenlegi változat (ami még mindig nem enged ki a netre):
#!/bin/sh
# Home standalone gép.
# A lánc kiürítése.
iptables -F
###############
# Alap policy #
###############
# Mindent tiltunk, amit külön nem engedélyezünk.
iptables -P INPUT DROP
iptables -P OUTPUT DROP
# FORWARD most nem kell, de lehetőségként itt hagyjuk.
#iptables -P FORWARD DROP
###################
# INPUT szabályok #
###################
# loopback engedélyezése
iptables -A INPUT -i lo -j ACCEPT
# Engedélyezzük befelé, ami tőlünk származik.
iptables -A INPUT -i eth0 -m state --state ESTABLISHED, RELATED -j ACCEPT
# Invalid sync bites csomagok kiszórása.
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
# ssh engedélyezése - majd ha kell. Most még nem kell.
#iptables -A INPUT -p tcp --dport ssh -j ACCEPT
# A hamis IP címeket kiszűrjük.
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
# Kiegészítés paranoidoknak (by mavo)
iptables -A INPUT -i eth0 -s 255.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 0.0.0.0/8 -j DROP
# Pingelés tiltása.
iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
####################
# OUTPUT szabályok #
####################
# A loopback-en engedélyezzük a forgalmat.
iptables -A OUTPUT -o lo -j ACCEPT
# Egy kis magyarázat a következő sorokhoz, hogy tudjam, melyik port mi.
# 20 port - FTP
# 21 port - FTP
# 22 port - SSH
# 25 port - SMTP
# 53 port - DNS
# 80 port - HTTP
# 110 port - POP
# 443 port - HTTPS
# 465 port - SMTPS (Gmail)
# 995 port - POPS (Gmail)
# 1863 port - GAIM (az MSN-hez)
# 36013 port - SKYPE
iptables -A OUTPUT -o eth0 -p tcp -m multiport --dports 20,21,22,25,53,80,110,443,465,995,1863,36013 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -m multiport --dports 20,21,22,25,53,443 -j ACCEPT
# A kifelé menő ping-re szükség lehet.
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
A szkript indítása: root:~# /usr/sbin/my_firewall
iptables v1.3.5: Bad state `'
Try `iptables -h' or 'iptables --help' for more information.
Az iptables lista:root:~# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
DROP all -- 192.168.0.0/16 anywhere
DROP all -- 172.16.0.0/12 anywhere
DROP all -- 10.0.0.0/8 anywhere
DROP all -- 255.0.0.0/8 anywhere
DROP all -- 0.0.0.0/8 anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere multiport dports ftp-data,ftp,ssh,smtp,domain,http,pop3,https,
smtps,pop3s,msnp,36013 state NEW,ESTABLISHED
ACCEPT udp -- anywhere anywhere multiport dports ftp-data,ftp,ssh,smtp,domain,https state NEW,ESTABLISHED
A ping-re meg ezt mondja:root:~# ping -c 1 217.20.131.2
PING 217.20.131.2 (217.20.131.2) 56(84) bytes of data.
--- 217.20.131.2 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
SP
Utolsó kommentek