У меня есть 2 ПК (anuin и hed), оба работают под управлением Linux, которые подключены через Ethernet (192.168.1.1 и 192.168.1.3).
Оба компьютера могут пинговать друг друга.
Anuin подключен к Интернету через USB-флешку (устройство ppp0).
Я хочу получить доступ к Интернету через Anuin.
Это должно быть очень легко, но, кажется, я очень глупый ...
Вот моя таблица маршрутизации на hed:
hed>sudo route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default anuin 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
hed>ping anuin
PING anuin (192.168.1.1) 56(84) bytes of data.
64 bytes from anuin (192.168.1.1): icmp_req=1 ttl=64 time=0.218 ms
64 bytes from anuin (192.168.1.1): icmp_req=2 ttl=64 time=0.191 ms
^C
В anuin я сбросил все правила iptables и просто добавил правило маскировки:
anuin> sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
anuin> cat /proc/sys/net/ipv4/ip_forward
1
anuin> sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
К сожалению, это не работает, когда я пытаюсь:
hed> ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 8.8.8.8 icmp_seq=1 Destination Host Unreachable
From 8.8.8.8 icmp_seq=2 Destination Host Unreachable
From 8.8.8.8 icmp_seq=3 Destination Host Unreachable
^C
hed> traceroute anuin
traceroute to anuin (192.168.1.1), 30 hops max, 60 byte packets
1 anuin (192.168.1.1) 0.203 ms 0.119 ms 0.450 ms
hed> traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 8.8.8.8 (8.8.8.8) 3003.607 ms !H 3003.600 ms !H 3003.592 ms !H
Вот чего я не понимаю: даже когда маскарадинг не работает - я не должен хотя бы увидеть один переход на шлюз по умолчанию (anuin).
Может ли кто-нибудь помочь мне здесь?