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!
Iptables :: Problemi in tutte le salse
Moderatore: Federico.Lagni
-
- Cisco fan
- Messaggi: 62
- Iscritto il: mar 14 feb , 2006 3:39 pm
- Contatta:
- TheIrish
- Site Admin
- Messaggi: 1840
- Iscritto il: dom 14 mar , 2004 11:26 pm
- Località: Udine
- Contatta:
Potresti postare cos'hai creato fino ad adesso?
-
- Cisco fan
- Messaggi: 62
- Iscritto il: mar 14 feb , 2006 3:39 pm
- Contatta:
#!/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
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
- TheIrish
- Site Admin
- Messaggi: 1840
- Iscritto il: dom 14 mar , 2004 11:26 pm
- Località: Udine
- Contatta:
Aspetta aspetta, c'è una cosa che non ho capito:
Ma questa macchina dovrebbe fare anche da gateway?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
-
- Cisco fan
- Messaggi: 62
- Iscritto il: mar 14 feb , 2006 3:39 pm
- Contatta:
Si, però solo per alcune macchine della lan.
- TheIrish
- Site Admin
- Messaggi: 1840
- Iscritto il: dom 14 mar , 2004 11:26 pm
- Località: Udine
- Contatta:
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.
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.
-
- Cisco fan
- Messaggi: 62
- Iscritto il: mar 14 feb , 2006 3:39 pm
- Contatta:
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 ^_^
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 ^_^
-
- Cisco fan
- Messaggi: 62
- Iscritto il: mar 14 feb , 2006 3:39 pm
- Contatta:
Si é così.
Mi sono fatto capire ^_^
Mi sono fatto capire ^_^
-
- n00b
- Messaggi: 9
- Iscritto il: lun 05 set , 2005 5:22 pm
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
#!/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
-
- Cisco fan
- Messaggi: 62
- Iscritto il: mar 14 feb , 2006 3:39 pm
- Contatta:
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?
#!/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?
- TheIrish
- Site Admin
- Messaggi: 1840
- Iscritto il: dom 14 mar , 2004 11:26 pm
- Località: Udine
- Contatta:
Un'ultima cosa poi vedo di prendere al situazione a due mani:
la connessione a internet è effettuata da un router o dal server stesso?
la connessione a internet è effettuata da un router o dal server stesso?
-
- Cisco fan
- Messaggi: 62
- Iscritto il: mar 14 feb , 2006 3:39 pm
- Contatta:
La connessione è effettuata da un router che appunto fa nat sulla lan.
-
- Cisco fan
- Messaggi: 62
- Iscritto il: mar 14 feb , 2006 3:39 pm
- Contatta:
Quando il firewall è attivo no, se è disattivato si...