PDA

View Full Version : Aiuto con iptables


SystemR89
10-11-2010, 16:41
Il mio computer (A) ha quattro interfacce di rete ognuna con ip e sottorete
differente:

lo - loopback
lan - lan (a cui è collegato B)
wan - internet
tap0 - vpn

Avrei bisogno di configurare iptables in modo che:
0) il computer A deve navigare
1) il computer B collegato a LAN deve navigare
2) tutte le connessioni in ingresso da e sull'ip dell'interfaccia TAP0
devono essere redirette (nat? dmz?) a B dentro LAN
3) tutte le connessioni in ingresso su WAN devono essere rifiutate tranne
quelle sulla porta 80 che devono essere redirette a B dentro LAN

se possibile fare una leggera variante alla regola 2 mi piacerebbe che le
connessioni su una determinata porta all'ip di TAP0 (ad esempio 65000 che di
sicuro non viene utilizzata) venga rediretta alla 80 della macchina stessa
(A)

Qualcuno ha idea di come posso fare?

gargamella
13-11-2010, 19:29
0)

ip route add default dev interfaccia_wan

o "change" se esiste già una default route.

1)
iptables -t nat -A POSTROUTING -s ip_computer_B -o interfaccia_wan -j MASQUERADE
ovviamente il computer B dovrà avere l'IP (lan) di A come default route

2)

iptables -t nat -A PREROUTING -i tap0 -j DNAT --to-destination ip_computer_B
iptables -A FORWARD -i tap0 -d ip_computer_B -j ACCEPT


3)

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i interfaccia_wan -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -j DROP


Per la variante anteporre quanto segue alla regola 2:

iptables -t nat -A PREROUTING -i tap0 -p tcp -m tcp --dport 65000 -j DNAT --to-destination ip_computer_A_lan:80
iptables -A FORWARD -i tap0 -d ip_computer_A_lan -j ACCEPT


Si presuppone che net.ipv4.ip_forward sia impostato ad 1 e che le default policies siano ACCEPT.

Inoltre sono stanco e non so come sia messo il tuo firewall in questo momento, perciò prova e fa sapere (volendo ci sarebbero altre finezze da aggiungere).

Ciao