PDA

View Full Version : iptables e problemi [noob]


Manuelix
16-11-2004, 17:38
Ciao a tutti, st๒ studiando l'iptables e ho incontarto diversi problemi, che dopo vari giorni di tentativi non sono ancora riuscito a risolvere. La rete ่ costituita da 3 pc:
- uno che fa da server web, firewall, server dns e server dhcp
- uno ่ una semplice workstation con normali programmi di ufficio
- uno ่ un portatile

Il firewall/gateway ha 2 schede di rete una eth0 (10.0.0.0/24) e una eth1(192.168.1.0/24) sul quale gira una distro Gentoo. La rete 192.168.1x ่ collegata ad un altro router che fa anche da server di stampa e modem adsl.
Posto di seguito quello che ho fatto:
[CODE]
#!/bin/sh

# Fermo i demoni relativi alle schede di rete
/etc/init.d/net.eth0 stop
/etc/init.d/net.eth1 stop

# Impostazioni preliminari del firewall
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

for a in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $a
done

echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 0 > /proc/sys/net/ipv4/tcp_ecn
echo 1 > /proc/sys/net/ipv4/ip_forward

# Resetto tute le regole nella tabella filter che ่ di default, nella tabella nat e nella tabella mangle

for table in nat mangle filter
do
iptables -t $table -F
iptables -t $table -X
done

# Configure le schede di rete
dhcpcd eth1
/etc/init.d/net.eth0 start
/etc/init.d/net.eth1 start

echo "Configurazione delle interfacce di rete


*** Interfaccia eth0 ind: "
ifconfig eth0 | grep inet | cut -d ":" -f 2 | cut -d " " -f 1

echo "
*** Intefraccia eth1 ind: "
ifconfig eth1 | grep inet | cut -d ":" -f 2 | cut -d " " -f 1


#ifconfig eth0 10.0.0.1 netmask 255.0.0.0
#ifconfig eth1 192.168.1.10 netmask 255.255.255.0
#route add default gw 192.168.1.1

# Imposto le politiche di dafault
iptables -P INPUT DROP # Drop di tutto quello che entra
iptables -P OUTPUT DROP # Drop di tutto quello che esce
iptables -P FORWARD DROP # Drop di tutto quello che viene deviato

# Creo le chains
iptables -N lanint #dalla scheda di rete eth0 alla scheda di rete eth1
iptables -N intlan #dalla scheda di rete eth1 alla scheda di rete eth0

iptables -A FORWARD -i eth0 -o eth1 -j lanint
iptables -A FORWARD -i eth1 -o eth0 -j intlan

# Regole LAN INTERNET
iptables -A lanint -s ! 10.0.0.0/24 -j DROP
iptables -A lanint -p tcp -d 192.168.1.0/24 --dport www -j ACCEPT
iptables -A lanint -p tcp -d 192.168.1.0/24 --dport domain -j ACCEPT
iptables -A lanint -p udp -d 192.168.1.0/24 --dport domain -j ACCEPT
iptables -A lanint -p tcp -d 192.168.1.0/24 --dport ssh -j ACCEPT
iptables -A lanint -p tcp -d 192.168.1.0/24 --dport smtp -j ACCEPT
iptables -A lanint -p tcp -d 192.168.1.0/24 --dport 631 -j ACCEPT
iptables -A lanint -p tcp -d 192.168.1.0/24 --dport ftp -j ACCEPT
iptables -A lanint -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A lanint -s 192.168.1.0/24 -m state --state NEW -j ACCEPT
iptables -A lanint -p tcp -j REJECT --reject-with tcp-reset

# Regole INTERNET LAN
iptables -A intlan -s 10.0.0.0/24 -j DROP
iptables -A intlan -s ! 192.168.1.0/24 -j DROP
iptables -A intlan -p tcp -d 10.0.0.0/24 --dport ssh -j ACCEPT
iptables -A intlan -p tcp -d 10.0.0.0/24 --dport www -j ACCEPT
iptables -A intlan -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A intlan -p tcp -j REJECT --reject-with tcp-reset

# Traffico per il firewall
iptables -A INPUT -m limit --limit 10/min -p tcp --syn --dport ssh -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-destination-unrechable
iptables -A lanint -p tcp -d 10.0.0.0/24 --dport ssh -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT -m OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset

# Redirigo il traffico dall' interfaccia eth0 a eth1 e viceversa
#ptables -I intlan -i eth1 -o eth0 -d 10.0.0.0/24 -j DROP
#ptables -A intlan -i eth1 -o eth0 -s 10.0.0.0/24 -j ACCEPT
#ptables -A lanint -i eth0 -o eth1 -d 192.168.1.0/24 -j ACCEPT
#iptables -t nat -A PREROUTING -p tcp -i eth1 -j DNAT --to 10.0.0.10-10.0.0.50
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
[/CODDE]
I problemi principali sono il blocco degli icmp e in pratica il quasi blocco della rete.