我想使用我的 Android 手机提供的无线热点从远程设备连接到我的 Pi。以下是网络配置:
Pi<->192.168.42.112<->192.168.42.129<->电话<->192.168.43.1<->192.168.43.x<->PC
- 192.168.42.112(Pi 上的 usb0)
- 192.168.42.129(手机上的 rndis0)
- 192.168.43.1(手机上的 wlan0)
- 192.168.43.x(PC 上的 wlan0)
我的 Pi 使用 USB 网络共享连接到手机。我可以从 Pi ping 到 192.168.43.1(手机上的 wlan0 接口)。我也可以从 PC ping 到 192.168.42.129(手机上的 rndis0 接口)。手机可以与 Pi 和 PC 通信,但我的 Pi 和 PC 无法相互通信。我该如何解决这个问题?(我的手机已 root,因此任何需要 root 权限的解决方案都可以。)
答案1
好的,我刚刚发现 Android 默认禁用了 IP 转发。要启用它,请输入以下内容:
sysctl -w net.ipv4.ip_forward=1
以上操作将启用 IP 转发,但仍需做更多操作:
iptables -F -t filter #Deletes all previous rules in filter table
iptables -P FORWARD ACCEPT #Allows IP forwarding
现在,我不知道删除以前的规则是否是个好主意,或者是否有必要这样做,但好消息是这些规则不是持久的。下次启动 Android 设备时,规则将恢复到原来的状态。这也意味着您每次启动设备时都必须重复此操作。