このブログはURLが変更になりました

新しいブログはこちら→ https://matsuu.hatenablog.com/

Android端末+Gentooでテザリングする方法

WindowsではPdaNetというアプリを使えばAndroid端末+Windowsマシンでテザリングができるようだが、PdaNetはWindows用アプリのようでLinuxではダメ。
Linuxでテザリングする方法ないかなーと調べていたところ、AziLinkを発見。adbのTCP forwardでOpenVPNトンネルを張ってJava NATを使って通信する模様。あーなるほど。

手順はオフィシャルサイトに載っているのだが、Gentoo流手順を簡単に解説。

注意事項

PCやAndroid端末が動かなくなっても、ケータイ会社から多額の通信代を請求されても私は責任を負いません。すべて自己責任でお願いします。

用意するもの

  • OpenVPN
  • AziLinkから最新のapkファイルとazilink.ovpn
  • Android端末

事前準備

Android端末の設定

Android端末で野良アプリをインストールできるようにする。

設定→アプリケーション→提供元不明のアプリ

Android端末でUSBデバッグを有効にする。

設定→アプリケーション→開発→デバッグ

udevの設定

Linux側で /etc/udev/rules.d/51-android.rules を作成し、以下を記載。0bb4はHTCのidVendor。他のメーカーの場合は適宜変更。

# vi /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
adb接続確認

Linux側でAndroid SDKをダウンロードし解凍。tools/adbでデバイス認識できることを確認。

# unzip android-sdk-linux_x86-1.5_r3.zip
# cd android-sdk-linux_x86-1.5_r3/tools
# ./adb devices
List of devices attached 
XXXXXXXXXXXX	device

認識されない場合は、Android端末とLinuxをUSB接続を挿抜するとか、udevを再起動するとか。

OpenVPNインストールと設定

Linux側にOpenVPNをインストールする。

# emerge openvpn

Linux側でazilink.ovpnをダウンロード、/etc/openvpn/azilink.confに保存。

# curl http://azilink.googlecode.com/files/azilink.ovpn > /etc/openvpn/azilink.conf

Linux側で起動スクリプトを作成。

# cd /etc/init.d
# ln -s openvpn openvpn.azilink

接続しよう

Android端末とLinuxをUSBケーブルで接続する。

Linux側でadbを使ってTCPポートフォワード。

# ./adb forward tcp:41927 tcp:41927

Android端末でAziLinkを起動し、service activeをチェックする。StatusがWaiting for connectionになったのを確認。

Linux側でopenvpnを開始。

# /etc/init.d/openvpn.azilink start

Android端末側でStatusがConnected to hostになったのを確認。ならなければ設定を見直す。

その他

Linuxでの手順を書いたが、OpenVPNはWindowsにもMac OS Xにもあるので可能。オフィシャルでもWindows、Mac OS X、Linuxでテストしているらしい。

udevをもっとちゃんと設定したら、USB接続で自動テザリングとかもできそうだ。やらないけど。