Я хочу подключиться к своему Pi с удаленного устройства с помощью беспроводной точки доступа, предоставляемой моим телефоном Android. Ниже приведена конфигурация сети:

Pi <-> 192.168.42.112 <-> 192.168.42.129 <-> Телефон <-> 192.168.43.1 <-> 192.168.43.x <-> PC

  1. 192.168.42.112 (usb0 на Pi)
  2. 192.168.42.129 (rndis0 по телефону)
  3. 192.168.43.1 (wlan0 по телефону)
  4. 192.168.43.x (wlan0 на ПК)

Мой Pi подключен к моему телефону через USB-модем. Я могу пинговать с Пи до 192.168.43.1 (интерфейс wlan0 на телефоне). Я также могу пинг с ПК на 192.168.42.129 (интерфейс rndis0 на телефоне). Телефон может общаться как с Pi, так и с ПК, но мой Pi и ПК не могут общаться друг с другом. Как мне решить эту проблему? (Мой телефон рутирован, поэтому любое решение, требующее прав суперпользователя, подойдет.)

1 ответ1

0

Хорошо, я только что узнал, что в 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, правила вернутся туда, где они были. Это также означает, что вам придется повторять это каждый раз при загрузке устройства.

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