使用 Android 手機作為無線卡連接到 Raspberry Pi

使用 Android 手機作為無線卡連接到 Raspberry Pi

我想使用 Android 手機提供的無線熱點從遠端裝置連接到我的 Pi。下面是網路配置:

Pi<->192.168.42.112<->192.168.42.129<->電話<->192.168.43.1<->192.168.43.x<->電腦

  1. 192.168.42.112(樹莓派上的 usb0)
  2. 192.168.42.129(電話上的 rndis0)
  3. 192.168.43.1(手機上的 wlan0)
  4. 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 裝置時,規則將恢復到原來的狀態。這也意味著您每次啟動裝置時都必須重複此操作。

相關內容