PDA

View Full Version : Problemi con IPTABLES


nightfly
26-04-2009, 14:13
Salve a tutti. Sto provando a configurare un piccolo firewall per la mia rete domestica. Sostanzialmente le interfacce di rete sono due, ovvero:
eth0, cioè la scheda di rete interna;
eth1, cioè la scheda di rete esterna, quella direttamente connessa al router.
Le regole che sto utilizzando attualmente sono le seguenti (in rc.local):

IPTABLES -F
IPTABLES -P INPUT DROP
IPTABLES -P OUTPUT ACCEPT
IPTABLES -P FORWARD DROP
IPTABLES -A INPUT -i eth0 -j ACCEPT
IPTABLES -A INPUT -i eth1 -p tcp --dport 1024:65535 -j ACCEPT
IPTABLES -A INPUT -i eth1 -p udp --dport 1024:65535 -j ACCEPT
IPTABLES -A FORWARD -i eth1 -o eht0 -m state ESTABLISHED,RELATED -j ACCEPT
IPTABLES -A FORWARD -i eht0 -o eth1 -j ACCEPT
IPTABLES -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Con questa configurazione, però, riesco a collegarmi a navigare (mediante http proxy in ascolto sull'IP della scheda eth1) ma non riesco più a leggere la posta elettronica (pop3) ad inviare email oppure ad usare messenger.
Vorrei che da dentro la LAN potessi sfruttare un qualunque servizio verso l'esterno, senza dover, di volta in volta, settare il port forwarding per ogni singola porta sfruttata da una determinata applicazione.
Grazie per la risposta, saluti.

Pardo
26-04-2009, 20:13
IPTABLES -A INPUT -i eth0 -j ACCEPT
ok


IPTABLES -A INPUT -i eth1 -p tcp --dport 1024:65535 -j ACCEPT
IPTABLES -A INPUT -i eth1 -p udp --dport 1024:65535 -j ACCEPT

ko. perche`?


IPTABLES -A FORWARD -i eth1 -o eht0 -m state ESTABLISHED,RELATED -j ACCEPT
IPTABLES -A FORWARD -i eht0 -o eth1 -j ACCEPT
IPTABLES -t nat -A POSTROUTING -o eth1 -j MASQUERADE

ok a parte gli errori ortografici eth/eht...


Con questa configurazione, però, riesco a collegarmi a navigare (mediante http proxy in ascolto sull'IP della scheda eth1) ma non riesco più a leggere la posta elettronica (pop3) ad inviare email oppure ad usare messenger.
Ti manca echo 1 > /proc/sys/net/ipv4/ip_forward
Oppure banalmente non hai settato il dns e/o il default gateway nel pc.
Oppure (ancora piu` banalmente) hai gli stessi errori ortografici anche nel file...

Ultima cosa il proxy dovrebbe stare sull'interfaccia interna, non c'e` motivo di aprirlo verso fuori.

nightfly
26-04-2009, 21:23
Ciao e grazie per la risposta. Gli errori ortografici non ci sono nel file, ho solo sbagliato a trascrivere la regola. Ho anche abilitato il forwarding tra le due schede, ovvero ho già inserito la regola echo 1 > /proc/sys/net/ipv4/ip_forward. Dal bastion host che voglio adibire a firewall (quello con le due interfacce) riesco a navigare e ad utilizzare tutte le applicazioni, comprese quelle di posta ed instant messaging. Il problema riguarda esclusivamente gli host della LAN, ovvero quelli che hanno come gateway l'indirizzo IP della scheda interna (eth0 per intenderci).
Infine, per quanto riguarda le regole:
IPTABLES -A INPUT -i eth1 -p tcp --dport 1024:65535 -j ACCEPT
IPTABLES -A INPUT -i eth1 -p udp --dport 1024:65535 -j ACCEPT
hanno come scopo quello di accettare in ingresso le risposte dei web server (ed altri tipi di server) contattati dagli host della LAN.
Qualche suggerimento?

Pardo
26-04-2009, 22:51
...hanno come scopo quello di accettare in ingresso le risposte dei web server (ed altri tipi di server) contattati dagli host della LAN.
Quello lo fa l'ottava riga. Le connessioni relative agli altri pc sono sulla FORWARD.
La INPUT ha solo le connessioni destinate al pc stesso (anche al netto del masquerading).
Cmq suggerirei di metterne una con: -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT al posto di quelle due.

Per il resto, non hai confermato di aver settato il dns sugli altri pc, e` fondamentale.
Altrimenti non saprei !

nightfly
27-04-2009, 09:16
Mancava --state prima di ESTABLISHED,RELATED. Grazie comunque per l'aiuto, a presto.