「Android テザリング」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(Pkg/AUR テンプレートの更新)
 
(3人の利用者による、間の6版が非表示)
1行目: 1行目:
[[Category:ネットワーク]]
+
[[Category:Android]]
[[Category:携帯端末]]
+
[[Category:ネットワーク共有]]
 
[[en:Android tethering]]
 
[[en:Android tethering]]
 
[[fr:Modem attache Android]]
 
[[fr:Modem attache Android]]
 
[[ru:Android tethering]]
 
[[ru:Android tethering]]
テザリングとはスマートフォンのネットワーク接続を使って PC からインターネットにアクセスする手法です。Android Froyo (2.2) から USB テザリングと Wi-Fi アクセスポイントテザリングがネイティブでサポートされています。古いバージョンの Android OS でも、非公式の ROM にはこのオプションが有効になっているものが多く存在します。
+
[[Wikipedia:ja:テザリング|テザリング]]とはスマートフォンのネットワーク接続を使って PC からインターネットにアクセスする手法です。Android 2.2 (Froyo) から USB テザリングと Wi-Fi アクセスポイントテザリングがネイティブでサポートされています。
   
 
== Wi-Fi アクセスポイント ==
 
== Wi-Fi アクセスポイント ==
Android スマートフォンを Wi-Fi アクセスポイントとして使う (3G を使用) ことは Froyo (Android 2.2) からデフォルト root 化する必要なく出来るようになっています。加えて、この方法は USB による方法と違って、バッテリーを急速に消費し、著しい発熱をすることがあります。
+
Android 2.2 "Froyo" から (3G/4G モバイルネットワークに接続して) Android スマートフォンを Wi-Fi アクセスポイントとして使うことるようになっています。
   
  +
以下の設定で有効にすることができます:
参照: '''menu/wireless & networks/Internet tethering/Wi-Fi access point'''
 
  +
  +
* ''Settings > Wireless & networks > Internet tethering > Wi-Fi access point''
  +
* ''Settings > More... > Tethering & mobile hotspot > Mobile Wi-Fi hotspot''
  +
  +
{{Note|一部のスマートフォンでは、Wi-Fi アクセスポイントを有効にするとバッテリーを急速に消費し、著しい発熱をすることがあるので注意してください。}}
   
 
== USB テザリング ==
 
== USB テザリング ==
   
  +
Froyo (Android 2.2) 以降ではネイティブで USB テザリングが可能です。
===必要なツール===
 
* スマートフォンの root 権限 (Android のバージョンが古い場合。Froyo (Android 2.2) 以降ではネイティブで可能です)
 
* スマートフォンから PC に接続するための USB 接続ケーブル
 
   
=== 手順 ===
 
* コンピュータをあらゆる無線・有線ネットワークから切断します
 
 
* USB ケーブルを使ってスマートフォンをコンピュータに接続します (USB 接続モード -- Phone Portal, メモリカードまたは充電のみ -- は重要ではありませんが、テザリング中に USB モードを変更することはできないので注意してください)
 
* USB ケーブルを使ってスマートフォンをコンピュータに接続します (USB 接続モード -- Phone Portal, メモリカードまたは充電のみ -- は重要ではありませんが、テザリング中に USB モードを変更することはできないので注意してください)
* スマートフォンからテザリングオプションを有効にします。通常は {{ic|Settings --> Wireless & Networks --> Internet tethering}} (最近バージョンは {{ic|Tethering & portable hotspot}}) から有効にます
+
* スマートフォンからテザリングオプションを有効にします。以下設定で有効にできます:
  +
** ''Settings --> Wireless & Networks --> Internet tethering'' (最近のバージョンでは {{ic|Tethering & portable hotspot}})
* 次のコマンドを使って USB インターフェースがシステムによって認識されているか確認します:
 
  +
** ''Settings -> More... -> Tethering & mobile hotspot -> USB tethering''
: {{bc|$ ip link}}
 
  +
* [[ネットワーク設定]] に従って設定します。
: 以下のように {{ic|usb0}} または {{ic|enp?s??u?}} デバイスが表示されるはずです (ここでは enp0s20u3 デバイス):
 
{{hc|# ip link|
 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
 
link/ether ##:##:##:##:##:## brd ff:ff:ff:ff:ff:ff
 
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
 
link/ether ##:##:##:##:##:## brd ff:ff:ff:ff:ff:ff
 
5: enp0s20u3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
 
link/ether ##:##:##:##:##:## brd ff:ff:ff:ff:ff:ff
 
}}
 
   
  +
{{Warning|使用する USB ポートによってネットワークインタフェース名は変わることがあります。[[ネットワーク設定#デバイス名の変更|インターフェース名を変更]]して USB ポートと無関係な固有の名前をデバイスに付けると良いでしょう。}}
<!--{{Note|Take care to use the device name from your own system in the following commands.}}-->
 
{{Note|以下のコマンドでは、お持ちのシステムの環境に合わせてデバイスの名前を使用してください。}}
 
   
  +
* モバイルデータ通信を使用して、かつ次の課金期間に入ったばかりの場合は、課金後にスマートフォンの再起動が必要になることがあります。
{{Warning|使用する usb ポートによって名前は変わることがあります。[[ネットワーク設定#デバイス名の変更|デバイス名を変更]]して usb ポートと無関係な固有の名前をデバイスに付けると良いでしょう。}}
 
 
* 最後に、このインターフェースを使って[[ネットワーク設定#IP アドレスの設定|ネットワーク接続を設定]]します。例:
 
: {{bc|# dhcpcd enp0s20u3}}
 
   
 
==== systemd-networkd と udev を使う ====
 
==== systemd-networkd と udev を使う ====
58行目: 45行目:
 
そして適当な systemd-networkd ファイルを作成:
 
そして適当な systemd-networkd ファイルを作成:
   
{{hc|/etc/systemd/network/enp0s26u1u2.network|<nowiki>
+
{{hc|/etc/systemd/network/50-enp0s26u1u2.network|<nowiki>
 
[Match]
 
[Match]
 
Name=enp0s26u1u2
 
Name=enp0s26u1u2
66行目: 53行目:
 
</nowiki>}}
 
</nowiki>}}
   
==OpenVPN を使って USB テザリング==
+
==EasyTether を使って USB テザリング==
この方法はどんな古いバージョンの Android でも使うことができ、スマートフォンの root 化や改造を必要としません (Android 2.2 以降でも使えますが、あまり意味はありません)。
 
   
  +
Linux の [http://www.mobile-stream.com/easytether/drivers.html easytether] クライアントソフトウェアを入手してください。以下のように設定・実行してください:
ブラウザに変更をすることはありません。それどころか、全てのネットワークトラフィックはあらゆる PC アプリケーションにおいて透過的に処理されます (ICMP の ping は除く)。多少、スマートフォンの CPU を酷使することになります (パワフルな Acer Liquid でも 500 kBytes/sec のデータ通信をするには CPU を 50% 以上使うことになります)。
 
   
  +
# pacman -U easytether-0.8.5-2-x86_64.pkg.tar.xz
===必要なツール===
 
  +
# easytether-usb
Arch では、{{pkg|openvpn}} パッケージを[[インストール]]する必要があります。また、Android SDK のインストールも必須です (AUR や [http://developer.android.com/sdk/index.html ここ] から取得できます)。スマートフォン側では、[http://code.google.com/p/azilink/ azilink] アプリケーションが必要になります。コンピュータの OpenVPN と通信するための Java ベースの NAT です。
 
  +
# dhcpcd tap-easytether
   
  +
EasyTether アンドロイドアプリが携帯電話にインストールされていることを確認してください。注意:Lite アプリは一部の接続を無効にするので、完全な機能を得るには有料アプリが必要です。このため、代わりに AziLink セットアップを使用することをお勧めします。
====Arch Linux で携帯電話の接続を設定====
 
   
  +
== Reverse tethering ==
Android SDK をインストールしたら、SDK に入っているツールを使うためにスマートフォンを [[udev]] で適切に設定してあなたの使用している Linux ユーザーに権限を与える必要があります。この設定を行わない場合、Android SDK を使用するのに root 権限が必要になりますが、root を使うのは推奨されていません。設定を行うために、スマートフォンから USB デバッグを有効にして (Settings -> Applications -> Development -> USB debugging)、USB ケーブルでスマートフォンと PC を接続し、{{ic|lsusb}} コマンドを実行してください。デバイスが記載されているはずです。Acer Liquid の場合の出力例:
 
 
Bus 001 Device 006: ID '''0502''':3202 Acer, Inc.
 
 
それから、以下のファイルを作成してください (''ciri'' はあなたの Linux ユーザーの名前に、'''0502''' はあなたのスマートフォンのベンダー ID に置き換えてください):
 
 
{{hc|/etc/udev/rules.d/51-android.rules|<nowiki>
 
SUBSYSTEM=="usb", ATTR(idVendor)=="0502", MODE="0666" OWNER="ciri"
 
</nowiki>}}
 
 
変更を適用するために root で {{ic|udevadm control restart}} コマンドを実行します (もしくはコンピュータを再起動してください)。
 
 
Linux PC から (root 以外の) 通常ユーザーで Android SDK の {{ic|adb shell}} コマンドを実行すると、携帯電話の方に unix プロンプトが表示されるはずです。
 
 
===手順===
 
携帯電話で AziLink アプリケーションを実行して下部の "About" を選択すると手順が表示されます。大筋は以下の通りです:
 
 
# 携帯電話の USB デバッグを有効にしてください (Settings -> Applications -> Development -> USB debugging)。
 
# 携帯電話を USB ケーブルで PC に接続してください。
 
# AziLink を実行して上部の '''Service active''' オプションにチェックを入れてください。
 
# Linux PC で以下のコマンドを実行:
 
: {{bc|$ adb forward tcp:41927 tcp:41927}}
 
: {{bc|# openvpn AziLink.ovpn}}
 
 
{{hc|AziLink.ovpn|<nowiki>
 
dev tun
 
remote 127.0.0.1 41927 tcp-client
 
ifconfig 192.168.56.2 192.168.56.1
 
route 0.0.0.0 128.0.0.0
 
route 128.0.0.0 128.0.0.0
 
socket-flags TCP_NODELAY
 
keepalive 10 30
 
dhcp-option DNS 192.168.56.1
 
</nowiki>}}
 
   
  +
Reverse tethering is to provide internet connection to Android through PC. {{aur|gnirehtet}} provides reverse tethering.
===トラブルシューティング===
 
   
  +
Connect your phone to your computer via USB like mentioned above and start:
====DNS====
 
[[resolv.conf]] の中身を以下のように手動で更新する必要があります:
 
   
  +
$ gnirehtet run
{{hc|/etc/resolv.conf|
 
nameserver 192.168.56.1
 
}}
 
   
  +
{{Note|{{aur|gnirehtet}} currently only supports USB.}}
====NetworkManager====
 
NetworkManager を使っている場合、OpenVPN を実行する前に停止させる必要があります。
 
   
 
==Bluetooth でテザリング==
 
==Bluetooth でテザリング==
140行目: 90行目:
   
 
===必要なツール===
 
===必要なツール===
* [[AUR]] の {{AUR|android-sdk}} と {{AUR|android-sdk-platform-tools}}、[[公式リポジトリ]]の {{Pkg|android-udev}}
+
* {{Pkg|android-tools}} と {{Pkg|android-udev}} パッケージ
 
* スマートフォンから PC に接続するための USB 接続ケーブル
 
* スマートフォンから PC に接続するための USB 接続ケーブル
 
* [http://graha.ms/androidproxy/ Tetherbot] または [https://code.google.com/p/proxoid/ Proxoid] のどちらか
 
* [http://graha.ms/androidproxy/ Tetherbot] または [https://code.google.com/p/proxoid/ Proxoid] のどちらか
149行目: 99行目:
   
 
====Proxoid====
 
====Proxoid====
[http://androidcommunity.com/forums/f23/android-usb-tethering-for-linux-using-proxoid-24875/] で説明されている手順に従って下さい。
+
[http://www.linux-magazine.com/Online/Blogs/Productivity-Sauce/Tether-an-Android-Phone-Using-Proxoid] で説明されている手順に従って下さい。
 
== ClockworkMod Tether==
 
 
Clockworkmod Tether は Android のテザリングアプリです。デスクトップ PC にソフトウェアをインストールする必要があります。Linux アプリケーションは [http://download.clockworkmod.com/tether/tether-linux.tgz clockworkmod.com] からダウンロードできます。
 
 
* {{ic|/usr/local/bin/python}} から {{ic|/usr/bin/python2}} に一時的にシンボリックリンクを作成して python2 が参照されるようにしてください。それから README ファイルの手順に従ってください。
 
 
* 含まれている ''adb'' バイナリを使うには [[Multilib]] が必要です。また、{{Pkg|lib32-stdc++5}}{{Broken package link|パッケージが存在しません}} と {{AUR|lib32-ncurses5-compat-libs}} パッケージを[[インストール]]してください。他の欠けているライブラリは ''ldd'' を使って検索してください。
 
 
''adb'' を動作させると、コマンドラインは "Checking phone status..." という出力を繰り返します。そこで Android アプリも起動してください。
 

2024年5月10日 (金) 19:31時点における最新版

テザリングとはスマートフォンのネットワーク接続を使って 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
ノート: 一部のスマートフォンでは、Wi-Fi アクセスポイントを有効にするとバッテリーを急速に消費し、著しい発熱をすることがあるので注意してください。

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
  • ネットワーク設定 に従って設定します。
警告: 使用する USB ポートによってネットワークインタフェース名は変わることがあります。インターフェース名を変更して USB ポートと無関係な固有の名前をデバイスに付けると良いでしょう。
  • モバイルデータ通信を使用して、かつ次の課金期間に入ったばかりの場合は、課金後にスマートフォンの再起動が必要になることがあります。

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
ノート: gnirehtetAUR currently only supports USB.

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:confignetwork.proxy.socks_remote_dnstrue に設定してください。

必要なツール

手順

Tetherbot

[1]Using the Socks Proxy の指示に従って下さい。

Proxoid

[2] で説明されている手順に従って下さい。