连接问题

连接问题

我有 2 台电脑(anuin 和 hed),都运行 Linux,通过以太网连接(192.168.1.1 和 192.168.1.3)。

两台 PC 均能互相 ping 通。

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

说什么ip route get 8.8.8.8?如果答案错误,则可能存在从之前的连接尝试缓存的旧转发信息。 ip route flush cache 在这种情况下应该是补救措施。

相关内容