Подключитесь к Raspberry Pi, используя телефон Android в качестве беспроводной карты

Подключитесь к Raspberry Pi, используя телефон Android в качестве беспроводной карты

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

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

  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-модема. Я могу выполнить ping с Pi на 192.168.43.1 (интерфейс wlan0 на телефоне). Я также могу выполнить ping с ПК на 192.168.42.129 (интерфейс rndis0 на телефоне). Телефон может общаться как с Pi, так и с ПК, но мой Pi и ПК не могут общаться друг с другом. Как решить эту проблему? (Мой телефон имеет права root, поэтому подойдет любое решение, требующее прав root.)

решение1

Ладно, я только что узнал, что в Android IP Forwarding отключен по умолчанию. Чтобы включить его, введите следующее:

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

Связанный контент