У меня есть 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).

Может ли кто-нибудь помочь мне здесь?

1 ответ1

1

Что говорит ip route get 8.8.8.8 ? Если это неправильный ответ, может быть старая информация о пересылке, сохраненная в кэше от предыдущих попыток подключения. ip route flush cache должен быть решением в этом случае.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .