2013-02-14 16 views
5

Ho un apparato sperimentale, di 4 Linux (CentOS) macchineLinux configurazione NAT/iptables per questa configurazione

enter image description here

Tutti 4 macchine sono collegate internamente utilizzando reti diverse e possono ping vicenda interfacce collegate direttamente . Tuttavia, solo PC4 ha accesso a Internet.

Sto tentando di impostare regole iptable che consentano a PC1 di accedere a Internet tramite PC4, ma non ho idea di come farlo.

Ho provato ad aggiungere NAT in un'interfaccia in uscita su PC2, PC3 e PC4:

iptables -t nat -F POSTROUTING 
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

Tuttavia, questo non funziona, mi puoi dare qualche idea di come in una tale impostazione che posso rendere l'accesso PC1 10.0 .0.1 rete ??

risposta

14

abilitare l'inoltro IP.

echo 1 > /proc/sys/net/ipv4/ip_forward 

impostazione permanente modificare /etc/sysctl.conf e impostare 0 a 1

net.ipv4.ip_forward = 1 

Per abilitare le modifiche apportate in sysctl.conf è necessario eseguire il comando

sysctl -p /etc/sysctl.conf 

iptables Regole per NAT

# /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
# /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 
# /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT 
+0

ringraziamento ma ogni volta che ottenere Destinazione Host vietati errore, quello che potrebbe essere il motivo ?? –

+0

ho controllato, per esempio i ping da PC1 (1.1.1.1) per PC3 (2.1.1.2), ma non v'è nessun pacchetto trasmessa ulteriore destro da PC2 fuori interfaccia, sembra esserci un problema o esso è solo ping ?? –

+3

OK, ho capito, ho bisogno di NAT solo all'ultimo PC, mentre per il resto ho solo bisogno di ip forwarding abilitato e ho dovuto cancellare la regola di rifiuto predefinita nell'inoltro del chaing, usando iptables -D FORWARD 1 e funziona –