[gl-como] Iptables

Luca Tettamanti kronos.it@gmail.com
Mar 8 Giu 2010 11:28:46 CEST


2010/6/8 Carlo Filippetto <carlo.target@tiscali.it>:
> ho un server con 2 IP, uno interno ed uno esterno..
> devi impedire che dalla interfaccia interna acceda a tutta la rete,
> mentre deve accedere solo ad 1 singolo server e ricevere 'comandi'
> solo da quest'ultimo
>
> allora:
> eth0 -> 151.1.1.1         IP PUBBLICO
> eth1 -> 10.0.255.10
>
> SERVER 2=eth0 -> 10.0.255.99

Quindi server1 deve poter solo accettare dati da server 2 e deve poter
inviare dati solo a server 2?

>
> iptables -N FIREWALL
> iptables -A FIREWALL -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
> iptables -A FIREWALL -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
> iptables -A FIREWALL -i lo -j ACCEPT
> iptables -A INPUT -j FIREWALL
> iptables -A FIREWALL -i eth1 -s  10.0.255.99 -j ACCEPT
> iptables -A FIREWALL -i eth1 -j DROP
>
>
> Fin qui limito le richieste in ingresso verso eth1, ma come faccio a
> limitare le richieste in uscita da eth1?
>
> Non mi accetta il comando
>      iptables -A OUTPUT -i eth1 -d 10.0.255.99 -j ACCEPT
> non so come specificare che solo per quella interfaccia deve limitarne il range

-i specifica l'interfaccia in input, ti serve -o:

iptables -A OUTPUT -o eth1 -d 10.0.255.99 -j ACCEPT

> Domanda 2:
> c'è un modo per 'bloccare' la eth0, o per meglio dire per impedirmi di
> fare casini e bloccarne i servizi mentre 'gioco' con iptables
> (qualcosa tipo trusted)?

AFAIK non si può, se sei root hai la possibilità di distruggere la macchina ;-)
Come approssimazione puoi creare che chain separate per le interfacce
e lavorare solo su quella di eth1, eg:

iptables -A INPUT -i eth0 -j publicInput
iptables -A INPUT -i eth1 -j privateInput
iptables -A OUTPUT -o eth0 -j publicOutput
iptables -A OUTPUT -o eth1 -j privateOutput

L


Maggiori informazioni sulla lista gl-como