2013-02-14 9 views
5

mam układzie eksperymentalnym 4 Linux (CentOS) maszyny:Linux konfiguracji NAT/iptables tej konfiguracji

enter image description here

Wszystkie 4 maszyny są wewnętrznie połączone za pomocą różnych sieci i może ping siebie nawzajem bezpośrednio związane interfejsy . Jednak tylko PC4 ma dostęp do Internetu.

Próbuję konfiguracji iptable zasad, które pozwalają PC1 może być w stanie uzyskać dostęp do Internetu poprzez PC4, ale nie mam pojęcia jak to zrobić.

Próbowałem dodać NAT na wychodzącego interfejsu na PC2, PC3 i PC4:

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

Jednak to nie zadziała, możesz dać mi jakiś pomysł, jak w takiej konfiguracji można uczynić dostęp PC1 10,0 .0.1 sieć?

Odpowiedz

14

Włącz przekazywanie IP.

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

Permanent edit ustawienie /etc/sysctl.conf i ustawić 0 do 1

net.ipv4.ip_forward = 1 

Aby włączyć zmian wprowadzonych zmiennych w pliku sysctl.conf trzeba będzie uruchomić polecenie

sysctl -p /etc/sysctl.conf 

iptables zasady dla 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

dziękuję, ale za każdym razem, gdy dostaję błąd Host docelowy, jaki może być powód? –

+0

Sprawdziłem, na przykład ja ping z PC1 (1.1.1.1) i PC3 (2.1.1.2), ale nie ma pakiet trasmitted dalsze prawo od PC2 poza interfejsem, nie wydaje się być problemem lub jest z tylko ping ?? –

+3

OK mam go, surprisngly i wystarczy NAT w ostatniej PC, natomiast dla reszty Potrzebowałem tylko przekazywanie IP włączony i musiał usunąć domyślnego odrzucić reguły w spedycja Chaing za pomocą iptables -D FORWARD 1 i to działa –

Powiązane problemy