iPhone テザリング
関連記事
事業者によって無効にされていなければ WiFi, USB, Bluetooth を使って iPhone の モバイルデータ通信を共有することができます。脱獄する必要はありません。
- WiFi テザリングの場合、コンピュータからワイヤレスネットワークに接続できていれば特別な設定は不要です。
- 以下では USB と Bluetooth でのテザリングを使う方法を解説しています。
目次
USB でテザリング
USB による直のテザリングは、Bluetooth や WiFi よりも接続が安定しバッテリーの消費量も少ないので一番賢い選択肢です。
USB で iPhone をテザーするには、次のパッケージをインストールしてください: usbmuxd, libimobiledevice, ifuseAUR。
そして、ipheth モジュールをロードしてください (モジュールは Arch Linux のデフォルトカーネルと LTS カーネルに含まれています):
# modprobe ipheth
パッケージのインストールとモジュールのロードが恙無く完了したら、iPhone でパーソナルホットスポットを有効にして iPhone をコンピュータに接続しましょう。この段階で新しいイーサネットデバイスが認識されますが、まだインターネットに接続することはできません。何らかの理由で、ipheth モジュールが動作するのは iPhone のファイルシステムが ifuse によってマウントされているときのみに限られています。iPhone を接続したら自動的にファイルシステムをマウントするようにしていない場合、手動でマウントする必要があります:
# ifuse /path/to/mountpoint
手動でアンマウントするには、次を実行:
# fusermount -u /path/to/mountpoint
iPhone のファイルシステムをマウントしたら、他のイーサネット接続と全く同じように、様々なネットワークマネージャを使って新しい iPhone のイーサネットデバイスからインターネットに接続することができるはずです。
systemd-networkd と udev を使う
systemd-networkd を利用して iPhone をゲートウェイとして使うようにネットワークを設定できます。
/etc/udev/rules.d/90-iphone-tethering.rules
# Execute pairing program when appropriate ACTION=="add|remove", SUBSYSTEM=="net", ATTR{idVendor}=="05ac", ENV{ID_USB_DRIVER}=="ipheth", SYMLINK+="iphone", RUN+="/usr/bin/systemctl restart systemd-networkd.service"
次のような .network
ファイルを作成します。enp0s26u1u2c4i2 は iPhone によって作成されたネットワークデバイスの名前に置き換えて下さい。networkctl list
で確認できます。
/etc/systemd/network/30-tethering.network
[Match] Name=enp0s26u1u2c4i2 [Network] DHCP=yes
トラブルシューティング
デバイスリストに iPhone が表示されているのに接続できない場合、接続する前に iPhone とコンピュータをペアリングする必要がある場合があります (iPhone が PIN ロックを使っている場合など):
# idevicepair pair
Bluetooth でテザリング
Bluetooth によるテザリングはバッテリーを素早く消費してしまいますが、テザリングしながら USB 端末から充電することが可能です。
ハードウェア要件
- テザリングが有効な iOS 3.0 以上の iPhone。Settings > General > Network からテザリングのオプションをオンにしてください。
- Bluetooth アダプタ。それなりの速度を出すためには EDR (Enhanced Data Rate) に対応している必要があります。Belkin F8T016NE でテスト済み。
設定
Bluetooth の記事を見て bluetooth デーモンを設定してください。
Gnome/XFCE
Blueman GTK+ Bluetooth マネージャをインストールしてください。
通知エリアに Bluetooth アイコンが表示されます。起動時に bluetooth がオンになっていなかった場合、アイコンは表示されないことがあります。アイコンをクリックして、付近のデバイスを検索して、iPhone を追加してください (iPhone が認識されるようにするには、iPhone 側で Bluetooth の設定画面を出しておく必要があります)。
iPhone をデバイスリストに追加したら、Device メニューを開いてペアリングを選択してください。まずコンピュータで、次に iPhone で PIN を入力する必要があります。ペアリングしたら、Device メニューを再度開いて、Network Access > Network Access Point を選択してください。ここまで問題がなければ、Blueman が接続に成功したと表示し、iPhone のステータスバーが青色になって、テザリングが上手くいったのが確認できます。
Blueman は新しいネットワークインターフェイス (例: bnep0) を作成します。インターフェイスに接続するには、root で以下のコマンドを実行:
# dhcpcd bnep0