Android テザリング
テザリングとはスマートフォンのネットワーク接続を使って PC からインターネットにアクセスする手法です。Android 2.2 (Froyo) から USB テザリングと Wi-Fi アクセスポイントテザリングがネイティブでサポートされています。
目次
Wi-Fi アクセスポイント
Android 2.2 "Froyo" から (3G/4G モバイルネットワークに接続して) Android スマートフォンを Wi-Fi アクセスポイントとして使うことができるようになっています。
以下の設定で有効にすることができます:
- Settings > Wireless & networks > Internet tethering > Wi-Fi access point
- Settings > More... > Tethering & mobile hotspot > Mobile Wi-Fi hotspot
USB テザリング
Froyo (Android 2.2) 以降ではネイティブで USB テザリングが可能です。
- USB ケーブルを使ってスマートフォンをコンピュータに接続します (USB 接続モード -- Phone Portal, メモリカードまたは充電のみ -- は重要ではありませんが、テザリング中に USB モードを変更することはできないので注意してください)
- スマートフォンからテザリングオプションを有効にします。以下の設定で有効にできます:
- Settings --> Wireless & Networks --> Internet tethering (最近のバージョンでは
Tethering & portable hotspot
) - Settings -> More... -> Tethering & mobile hotspot -> USB tethering
- Settings --> Wireless & Networks --> Internet tethering (最近のバージョンでは
- ネットワーク設定 に従って設定します。
- モバイルデータ通信を使用して、かつ次の課金期間に入ったばかりの場合は、課金後にスマートフォンの再起動が必要になることがあります。
systemd-networkd と udev を使う
systemd-networkd を使うことで接続した携帯をゲートウェイとして自動的に使うようにネットワークを設定できます。
/etc/udev/rules.d/90-android-tethering.rules
# Execute pairing program when appropriate ACTION=="add|remove", SUBSYSTEM=="net", ATTR{idVendor}=="18d1" ENV{ID_USB_DRIVER}=="rndis_host", SYMLINK+="android", RUN+="/usr/bin/systemctl restart systemd-networkd.service"
idVendor
の値はあなたの使用している携帯に合わせて変更してください。udevadm を使うことで確認できます:
$ udevadm info /sys/class/net/enp0s26u1u2
そして適当な systemd-networkd ファイルを作成:
/etc/systemd/network/50-enp0s26u1u2.network
[Match] Name=enp0s26u1u2 [Network] DHCP=ipv4
EasyTether を使って USB テザリング
Linux の easytether クライアントソフトウェアを入手してください。以下のように設定・実行してください:
# pacman -U easytether-0.8.5-2-x86_64.pkg.tar.xz # easytether-usb # dhcpcd tap-easytether
EasyTether アンドロイドアプリが携帯電話にインストールされていることを確認してください。注意:Lite アプリは一部の接続を無効にするので、完全な機能を得るには有料アプリが必要です。このため、代わりに AziLink セットアップを使用することをお勧めします。
Reverse tethering
Reverse tethering is to provide internet connection to Android through PC. gnirehtetAUR provides reverse tethering.
Connect your phone to your computer via USB like mentioned above and start:
$ gnirehtet run
Bluetooth でテザリング
Android (4.0 以降。前のバージョンでも出来ることあり) はアクセスポイントモードの Bluetooth パーソナルエリアネットワーク (PAN) に対応しています。
NetworkManager がこのアクションを実行できネットワークの初期化を処理します。詳しくはドキュメントを見て下さい。
もしくは: Bluetooth の記事の記述に従って、ペアリングをしてコンピュータと Android デバイスを接続できるようにしてから、次を実行 (デバイスのアドレス (AA_BB_CC_DD_EE_FF
) は置き換えて下さい):
$ dbus-send --system --type=method_call --dest=org.bluez /org/bluez/hci0/dev_AA_BB_CC_DD_EE_FF org.bluez.Network1.Connect string:'nap'
これでネットワークインターフェース bnep0
が作成されます。最後に、このインターフェースでネットワーク接続を設定してください。Android はデフォルトで DHCP を提供します。
SOCKS プロクシを使ってテザリング
このテザリング方法はスマートフォンから PC へのポートフォワーディングによって行います。ブラウジングだけに使うことができます。Firefox の場合、about:config
で network.proxy.socks_remote_dns
を true
に設定してください。
必要なツール
- android-tools と android-udev パッケージ
- スマートフォンから PC に接続するための USB 接続ケーブル
- Tetherbot または Proxoid のどちらか
手順
Tetherbot
[1] の Using the Socks Proxy の指示に従って下さい。
Proxoid
[2] で説明されている手順に従って下さい。