Pang
05-09-2003, 23:48
Ciao! Ho preparato un mini script di configurazione per cercare di prendere dimistichezza con iptables, per un ipotetico firewall tra lan e internet. Ai client è concesso navigare in internet, mandare e ricevere posta e collegarsi in ftp, mentre da internet è possibile solo collegarsi ad una macchina che fa da server openssh.
Che ne pensate?
Sintatticamente come lo trovate?
#!/bin/bash
iptables -F # Pulizia catene standard
iptables -X # Pulizia catene create
iptables -Z # Azzeramente contatori
# Se un pacchetto non si può associare a una regola, questo dev'essere buttato via
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Creazione di nuove catene
iptables -N laninet
iptables -N inetlan
# Inserimento delle nuove catene in quelle principali, con la specificazione dell'interfaccia
iptables -A FORWARD -i eth1 -o eth0 -j laninet
iptables -A FORWARD -i eth0 -o eth1 -j inetlan
# Prerouting
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to indirizzoipserver2k:33
# Dalla lan a internet
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport www -j ACCEPT
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport pop3 -j ACCEPT
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport smtp -j ACCEPT
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport ftp -j ACCEPT
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport domain -j ACCEPT
iptables -A laninet -p udp -s 192.168.254.0/24 --dport domain -j ACCEPT
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport domain -j ACCEPT
iptables -A laninet -p udp -s 192.168.254.0/24 --dport domain -j ACCEPT
iptables -A laninet -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A laninet -p tcp -j REJECT --reject-with tcp-reset
iptables -A laninet -p udp -j DROP
# Da internet alla lan
iptables -A inetlan -p tcp -s indirizzoipsorgente -d ipserver2k --dport ssh -j ACCEPT
iptables -A inetlan -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A inetlan -p tcp -j REJECT --reject-with tcp-reset
iptables -A inetlan -p udp -j drop
# Postrouting
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to indirizzoipfirewall
Grazie per l'attenzione!
Ciao
:)
Che ne pensate?
Sintatticamente come lo trovate?
#!/bin/bash
iptables -F # Pulizia catene standard
iptables -X # Pulizia catene create
iptables -Z # Azzeramente contatori
# Se un pacchetto non si può associare a una regola, questo dev'essere buttato via
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Creazione di nuove catene
iptables -N laninet
iptables -N inetlan
# Inserimento delle nuove catene in quelle principali, con la specificazione dell'interfaccia
iptables -A FORWARD -i eth1 -o eth0 -j laninet
iptables -A FORWARD -i eth0 -o eth1 -j inetlan
# Prerouting
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to indirizzoipserver2k:33
# Dalla lan a internet
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport www -j ACCEPT
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport pop3 -j ACCEPT
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport smtp -j ACCEPT
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport ftp -j ACCEPT
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport domain -j ACCEPT
iptables -A laninet -p udp -s 192.168.254.0/24 --dport domain -j ACCEPT
iptables -A laninet -p tcp -s 192.168.254.0/24 --dport domain -j ACCEPT
iptables -A laninet -p udp -s 192.168.254.0/24 --dport domain -j ACCEPT
iptables -A laninet -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A laninet -p tcp -j REJECT --reject-with tcp-reset
iptables -A laninet -p udp -j DROP
# Da internet alla lan
iptables -A inetlan -p tcp -s indirizzoipsorgente -d ipserver2k --dport ssh -j ACCEPT
iptables -A inetlan -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A inetlan -p tcp -j REJECT --reject-with tcp-reset
iptables -A inetlan -p udp -j drop
# Postrouting
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to indirizzoipfirewall
Grazie per l'attenzione!
Ciao
:)