Pang
02-07-2003, 19:52
Ciao a tutti,
dopo essermi letto parecchia documentazione su netfilter non riesco a venire a capo di un piccolo dubbio.
Sulla macchina c'è installata Debian 3.0r1 che fà da firewall tra la lan e internet, con in mezzo un router di fastweb.
Questo è il file di configurazione di iptables (semplicissimo):
#!/bin/bash
# pulizia delle catene standard
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
# abilitazione del nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# 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
iptables -N lanfw
iptables -N fwlan
iptables -N fwinet
iptables -N inetfw
# inserimento delle nuove catene in quelle principali, con la specificazione dell'interfaccia
iptables -A FORWARD -i eth0 -o eth1 -j inetlan
iptables -A FORWARD -i eth1 -o eth0 -j laninet
iptables -A INPUT -i eth1 -j lanfw
iptables -A OUTPUT -o eth1 -j fwlan
iptables -A INPUT -i eth0 -j inetfw
iptables -A OUTPUT -o eth0 -j fwinet
# dalla lan a internet
iptables -A laninet -p tcp --dport www -j ACCEPT
iptables -A laninet -p tcp --dport pop3 -j ACCEPT
iptables -A laninet -p tcp --dport smtp -j ACCEPT
iptables -A laninet -p tcp --dport ftp -j ACCEPT
iptables -A laninet -p tcp --dport 8383 -j ACCEPT
iptables -A laninet -p tcp --dport domain -j ACCEPT
iptables -A laninet -p udp --dport domain -j ACCEPT
iptables -A laninet -p tcp --dport domain -j ACCEPT
iptables -A laninet -p udp --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 REJECT
# da internet alla lan
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 REJECT
# dalla lan al firewall
iptables -A lanfw -p tcp --dport ssh -j ACCEPT
iptables -A lanfw -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A lanfw -p tcp -j REJECT --reject-with tcp-reset
iptables -A lanfw -p ucp -j REJECT
# dal firewall alla lan
iptables -A fwlan -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A fwlan -p tcp -j REJECT --reject-with tcp-reset
iptables -A fwlan -p udp -j REJECT
# da internet al firewall
iptables -A inetfw -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A inetfw -p tcp -j REJECT --reject-with tcp-reset
iptables -A inetfw -p udp -j REJECT
# dal firewall a internet
iptables -A fwinet -p tcp --dport www -j ACCEPT
iptables -A fwinet -p tcp --dport domain -j ACCEPT
iptables -A fwinet -p udp --dport domain -j ACCEPT
iptables -A fwinet -p tcp --dport domain -j ACCEPT
iptables -A fwinet -p udp --dport domain -j ACCEPT
iptables -A fwinet -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A fwinet -p tcp -j REJECT --reject-with tcp-reset
iptables -A fwinet -p udp -j REJECT
Vorrei riuscire ad aggiungere una regola nella catena inetlan in modo che dall'esterno verso l'interno io possa collegarmi a una macchina della rete con ssh. Aggiungendo una regola del tipo iptables -A inetlan -p tcp --dport ssh -j ACCEPT, linux dovrebbe far passare tutte le richieste che da internet vanno alla lan sulla porta 22 tcp, e in questo caso dovrei farmi nattare da fastweb l'ip interno di quella macchina con uno pubblico?
dopo essermi letto parecchia documentazione su netfilter non riesco a venire a capo di un piccolo dubbio.
Sulla macchina c'è installata Debian 3.0r1 che fà da firewall tra la lan e internet, con in mezzo un router di fastweb.
Questo è il file di configurazione di iptables (semplicissimo):
#!/bin/bash
# pulizia delle catene standard
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
# abilitazione del nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# 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
iptables -N lanfw
iptables -N fwlan
iptables -N fwinet
iptables -N inetfw
# inserimento delle nuove catene in quelle principali, con la specificazione dell'interfaccia
iptables -A FORWARD -i eth0 -o eth1 -j inetlan
iptables -A FORWARD -i eth1 -o eth0 -j laninet
iptables -A INPUT -i eth1 -j lanfw
iptables -A OUTPUT -o eth1 -j fwlan
iptables -A INPUT -i eth0 -j inetfw
iptables -A OUTPUT -o eth0 -j fwinet
# dalla lan a internet
iptables -A laninet -p tcp --dport www -j ACCEPT
iptables -A laninet -p tcp --dport pop3 -j ACCEPT
iptables -A laninet -p tcp --dport smtp -j ACCEPT
iptables -A laninet -p tcp --dport ftp -j ACCEPT
iptables -A laninet -p tcp --dport 8383 -j ACCEPT
iptables -A laninet -p tcp --dport domain -j ACCEPT
iptables -A laninet -p udp --dport domain -j ACCEPT
iptables -A laninet -p tcp --dport domain -j ACCEPT
iptables -A laninet -p udp --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 REJECT
# da internet alla lan
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 REJECT
# dalla lan al firewall
iptables -A lanfw -p tcp --dport ssh -j ACCEPT
iptables -A lanfw -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A lanfw -p tcp -j REJECT --reject-with tcp-reset
iptables -A lanfw -p ucp -j REJECT
# dal firewall alla lan
iptables -A fwlan -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A fwlan -p tcp -j REJECT --reject-with tcp-reset
iptables -A fwlan -p udp -j REJECT
# da internet al firewall
iptables -A inetfw -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A inetfw -p tcp -j REJECT --reject-with tcp-reset
iptables -A inetfw -p udp -j REJECT
# dal firewall a internet
iptables -A fwinet -p tcp --dport www -j ACCEPT
iptables -A fwinet -p tcp --dport domain -j ACCEPT
iptables -A fwinet -p udp --dport domain -j ACCEPT
iptables -A fwinet -p tcp --dport domain -j ACCEPT
iptables -A fwinet -p udp --dport domain -j ACCEPT
iptables -A fwinet -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A fwinet -p tcp -j REJECT --reject-with tcp-reset
iptables -A fwinet -p udp -j REJECT
Vorrei riuscire ad aggiungere una regola nella catena inetlan in modo che dall'esterno verso l'interno io possa collegarmi a una macchina della rete con ssh. Aggiungendo una regola del tipo iptables -A inetlan -p tcp --dport ssh -j ACCEPT, linux dovrebbe far passare tutte le richieste che da internet vanno alla lan sulla porta 22 tcp, e in questo caso dovrei farmi nattare da fastweb l'ip interno di quella macchina con uno pubblico?