GNU/Linux >> Linux の 問題 >  >> Linux

Android - Linux でインターネット パススルー (リバース テザー) を設定するにはどうすればよいですか?

以下はしばらくの間動作しますが、ブラウザのみです。

携帯電話を USB 経由で接続し、インターネット パススルーを選択すると、新しい RNDIS デバイス (usb0 または usb1) を取得する必要があります。ubuntu の場合は、/etc/network/interfaces を編集して次の行を追加します:

iface usb0 inet dhcp
iface usb1 inet dhcp

これにより、デバイスの追加時に IP が自動的に割り当てられます。ネットワーク アドレスが usb0 または usb1 に自動的に割り当てられない場合は、手動で行う必要があります。

次に、Linux コンピューターで NAT をセットアップする必要があります。次のようなもの:

sudo iptables -A POSTROUTING -t nat -j MASQUERADE
sudo echo 1 > /proc/sys/net/ipv4/ip_forward 

DNS サーバーも必要です:

sudo apt-get install bind9

これは数分間機能しますが、しばらくすると電話は HTC Sync の検索をあきらめて切断します。

ルート化された電話の場合

ルート化された電話を持っている場合は、永続的に接続できます (fre3vo が機能しました)。adb で次のコマンドを実行します。

ネットワークと adb の USB モードを有効にします:

adb shell echo 6 > /sys/devices/platform/msm_hsusb/usb_function_switch

電話の usb0 デバイスに IP を割り当てます:

adb shell ifconfig usb0 192.168.99.5 netmask 255.255.255.0 up

デフォルトルートを追加します。 IP は、Linux で usb0 に割り当てられた IP である必要があります:

adb shell route add default gw 192.168.99.1 dev usb0

DNS サーバーを設定します。これは Google のオープン DNS サーバーですが、DNS サーバーがある場合は Linux コンピューターの IP にすることができます:

adb shell setprop net.dns1 8.8.8.8

A は、すべてを自動化するためにこの小さな bash を作成しました。携帯電話を充電モードでコンピューターに接続し、この bash を実行するだけです。

#!/bin/bash
/opt/android-sdk-update-manager/platform-tools/adb shell 'echo 6 > /sys/devices/platform/msm_hsusb/usb_function_switch'
sleep 1
/opt/android-sdk-update-manager/platform-tools/adb shell ifconfig usb0 192.168.99.5 netmask 255.255.255.0 up
sleep 1
/opt/android-sdk-update-manager/platform-tools/adb shell setprop net.dns1 8.8.8.8

get_ip ()
{
ifconfig usb0 | grep inet | awk '{print $2}' | sed 's/addr://' | grep .
}

echo "waiting for IP on computer usb0"
while [[ `get_ip` < 192 ]];do sleep 2; done
ip=`get_ip`
echo "IP adress is $ip "
/opt/android-sdk-update-manager/platform-tools/adb shell route add default gw $ip dev usb0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Linux
  1. Linuxでシェルを変更する方法

  2. Linuxで使用しているシェルを見つける方法

  3. Linux でハードウェア クロックをプログラムで設定するにはどうすればよいですか?

  1. Linuxでシステムホスト名を設定または変更する方法

  2. Linux/Unix で $PATH を永続的に設定するには?

  3. Android と Linux の間で Wifi-Direct 接続をセットアップする方法

  1. Linuxで$PATH変数を設定する方法

  2. Linuxで環境変数とシェル変数を設定/作成する方法

  3. Linuxで$Path変数を設定する方法