你好我现在的网络是这样的
[Raspberry]--eth0--------p3p1-[Laptop]-wlp3s0------[Router]-------INTERNET
eth0 = 10.10.10.1
p3p1 = 10.10.10.2
wlp3s0 = 192.168.2.11
Router = 192.168.2.1
我想让 Raspberry 访问互联网。我在笔记本电脑上打开了端口转发
[kamil@laura ~]$ cat /proc/sys/net/ipv4/ip_forward
1
我检查了 Raspberry 上的路由表
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.10.10.1 0.0.0.0 UG 0 0 0 eth0
10.10.10.0 * 255.255.255.0 U 0 0 0 eth0
我在笔记本电脑上设置了路线:
Destination Gateway Genmask Flags Metric Ref Use Iface
default router 0.0.0.0 UG 0 0 0 wlp3s0
10.10.10.0 0.0.0.0 255.255.255.0 U 1 0 0 p3p1
192.168.2.0 0.0.0.0 255.255.255.0 U 9 0 0 wlp3s0
但是我的 Raspberry 无法 ping 路由器 IP 地址,它一直在等待。我遗漏了什么,请帮忙!
两台机器上的 IPTables 都已关闭。
答案1
尝试这个:
将笔记本电脑p3p1接口上的IP地址更改为10.10.10.1。
在笔记本电脑上启用 IP 转发(不是端口转发)。如果是 Linux,请使用:sysctl -w net.ipv4.ip_forward=1
向您的路由器添加一条路由:10.10.10.0 255.255.255.0 下一跳:192.168.2.11
您可能需要在路由器上设置 NAT,才能将 10.xxx 地址转换为 NAT。这取决于路由器的品牌。
答案2
有很多原因导致这种方法行不通。以下是其中两个:
路由器不知道它应该对具有 10.x 地址的机器进行 NAT。它认为其客户端具有 192.168.x 地址。
路由器不知道应该将发往 10.10.10.2 的数据包(即使是本地生成的数据包)发送到笔记本电脑。然而,它没有其他 IP 地址可以用作将数据包发送到 pi 的目的地。因此路由器不能到达圆周率。完全到达。无论如何。就这样。
您需要先设计这一切的工作方式,然后实施。它不会自动发生。在笔记本电脑上实施 NAT 可能是最简单的方法。