Pagina 1 di 2
Iptables :: Problemi in tutte le salse
Inviato: mar 14 feb , 2006 3:56 pm
da Ir0nfl4m3
Ciao a tutti,
ho un problema che non riesco a risolvere.
Dunque ho una macchina (Slackware Linux 10.1) con due interfaccie di rete
eth0 (che ha ip di rete LAN locale) e eth1 (che ha ip pubblico).
Ho tentato in tutte le maniere di impostare iptables in modo che accettasse tutto dalla rete locale (eth0) e solo le porte http e ssh dall'esterno (eth1) ma non c'è verso....
Ho provato anche con webmin usando il suo modulo firewall e con turtlefirewall ma non sono riuscito ad ottenere nessun buon risultato.
Una cosa strana è che se metto down la scheda eth1 (quella esterna) la macchina non risponde più neanche dalla lan interna....
Aiutatemi vi prego!
Inviato: mar 14 feb , 2006 5:28 pm
da TheIrish
Potresti postare cos'hai creato fino ad adesso?
Inviato: mar 14 feb , 2006 6:21 pm
da Ir0nfl4m3
#!/bin/sh
echo "1" > /proc/sys/net/ipv4/ip_forward
#modprobe iptables
modprobe iptable_mangle
modprobe ip_conntrack
modprobe ipt_conntrack
modprobe iptable_nat
modprobe ipt_MASQUERADE
modprobe ipt_TOS
modprobe ipt_mark
#modprobe ipt_tos
#modprobe ipt_ecn
#modprobe ipt_dscp
#modprobe ipt_ttl
#modprobe ip_nat_irc
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#INPUT CHAIN
iptables -A INPUT -s 127.0.0.1/8 -j ACCEPT
iptables -A INPUT -i eth0 -s 10.0.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -i eth1 -s 0/0 -p tcp --syn --dport http -j ACCEPT
iptables -A INPUT -i eth1 -s 0/0 -p tcp --syn --dport ssh -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p udp -m state --state NEW -j DROP
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 5/s -j ACCEPT
iptables -t nat -A POSTROUTING -d 10.0.0.0/24 -j MASQUERADE
iptables -A FORWARD -j DROP
Inviato: mer 15 feb , 2006 11:01 am
da TheIrish
Aspetta aspetta, c'è una cosa che non ho capito:
eth0 (che ha ip di rete LAN locale) e eth1 (che ha ip pubblico).
[...]
iptables -t nat -A POSTROUTING -d 10.0.0.0/24 -j MASQUERADE
Ma questa macchina dovrebbe fare anche da gateway?
Inviato: mer 15 feb , 2006 11:33 am
da Ir0nfl4m3
Si, però solo per alcune macchine della lan.
Inviato: mer 15 feb , 2006 2:37 pm
da TheIrish
eh, allora, manca completamente la catena di forward.
Facciamo così, spiegami per filo e per segno (con indirizzi ip e tutto) cosa vorresti ottenere da questo gateway, io ti faccio una conf di prova e poi ne discutiamo.
Inviato: mer 15 feb , 2006 4:28 pm
da Ir0nfl4m3
Allora il firewall ha 2 schede di rete ed è connesso ad internet e alla lan.
eth1 ->ip pubblico -> router -> internet
eth0 ->ip classe C -> lan
-> router (nat) -> internet
sul firewall girano dei servizi che devono essere accessibili dalla lan e altri che devono essere accessibili anche dall'esterno
eth0 -> accetta tutto dalla lan
eth1 -> blocca tutto tranne http e ssh
Questo è quanto...Confido in te ^_^
Inviato: mer 15 feb , 2006 4:57 pm
da andrewp
Da come hai scritto la cosa risulta così:
internet <-router(nat) <- LAN <- eth0|FW|eth1 ->ip pubblico -> router -> internet
Se non è così, ti spieghi una chiavica.
Inviato: mer 15 feb , 2006 5:06 pm
da Ir0nfl4m3
Si é così.
Mi sono fatto capire ^_^
Inviato: gio 16 feb , 2006 12:52 am
da diegomac
In un caso simile al tuo, io ho risolto così:
#!/bin/sh
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
#azzero iptables
iptables -F
iptables -F -t nat
#blocco tutto da fuori!!
iptables -I INPUT -p tcp -i eth1 -m state -s 0/0 --dport 1:65535 --state INVALID,NEW -j DROP
iptables -I INPUT -p icmp -i eth1 -m state -s 0/0 --state INVALID,NEW -j DROP
iptables -I INPUT -p udp -i eth1 -m state -s 0/0 --state INVALID,NEW -j DROP
#apro quello che serve (nel mio caso)
iptables -I INPUT -p tcp -i eth1 -m multiport -s 0/0 --dport 22,25,110,80,10000 -j ACCEPT
#gateway
iptables -t nat -I POSTROUTING -s 192.168.10.0/255.255.255.0 -o eth1 -j MASQUERADE
#proxy trasparente (se serve)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to port 3128
Ciao
Inviato: gio 16 feb , 2006 9:38 am
da Ir0nfl4m3
Ho provato anche questa soluzione e "sembra" che le porte vengano chiuse correttamente, ma il NAT non funziona
#!/bin/sh
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
#schede di rete
lan=eth0
inet=eth1
#webserver=x.x.x.x
#azzero iptables
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
#politiche
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#nat
iptables -t nat -I POSTROUTING -s 10.0.0.0/255.255.255.0 -o $inet -j MASQUERADE
#iptables -t nat -A PREROUTING -p tcp --dport 80 -$inet -j DNAT --to-destination $webserver
iptables -A FORWARD -i $lan -o $inet -j ACCEPT
iptables -A FORWARD -i $inet -o $lan -m state --state ESTABLISHED,RELATED -j ACCEPT
#input
iptables -A INPUT -p ICMP --icmp-type echo-request -i $inet -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p ICMP -i $lan -j ACCEPT
iptables -A INPUT -p tcp -i $lan -j ACCEPT
iptables -A INPUT -p tcp -i $inet --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -i $inet --dport 22 -j ACCEPT
#output
list di ipt
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT icmp -- anywhere anywhere icmp echo-request limit: avg 1/sec burst 5
ACCEPT icmp -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Risolvero mai questo problema?

Inviato: gio 16 feb , 2006 9:46 am
da TheIrish
Un'ultima cosa poi vedo di prendere al situazione a due mani:
la connessione a internet è effettuata da un router o dal server stesso?
Inviato: gio 16 feb , 2006 9:55 am
da Ir0nfl4m3
La connessione è effettuata da un router che appunto fa nat sulla lan.
Inviato: gio 16 feb , 2006 10:24 am
da diegomac
Scusa la domanda banale......ma dal server riesci ad uscire su internet?
Inviato: gio 16 feb , 2006 11:09 am
da Ir0nfl4m3
Quando il firewall è attivo no, se è disattivato si...