ひとりぶろぐ

価値ある情報をユーザー視点で発信するブログ

iOSのインターネット共有(テザリング)をUSB経由だけオフにしたい

   

USB経由のインターネット共有だけをオフにする方法がない

便利なiOSのインターネット共有(テザリング)。

IMG 0646

インターネット共有は、Bluetooth経由、USB経由、Wi-Fi経由と三つのネットワークを経由して接続できるようになっています。

IMG 0647

これをオンにしても、Bluetooth、Wi-Fiを個別にオフにすれば、Bluetooth経由、Wi-Fi経由は個別にオンオフをコントロール可能です。

IMG 0648

しかし、インターネット共有をオンにした状態で、残るUSB経由のインターネット共有だけをオフにする手段はありません。(続きは[Read More]から)

充電、同期のためにMacに接続するとインターネット共有(テザリング)が始まってしまうのが気になる

従って、インターネット共有をオンにした状態でMacにUSBケーブルで接続すると、そのつもりがなくともインターネット共有が始まってしまいます。

R0128211

Macの、ネットワークを使ったデータ転送量は場合によっては激しくなるので、データ転送量が爆発的に伸びて、キャリアからペナルティの通信速度の制御を食らってしまう可能性が出てきてしまいます。


インターネット共有はオンにしたまま対処したい

この状況をどうにかするために、iOS側のインターネット共有をオフにする対処をする人がほとんどではないでしょうか。

IMG 0649

でも、インターネット共有はコントロールセンターからオンオフできず、少々操作が面倒。

また、Bluetooth経由でインターネット共有をしようと子機側からつなごうとするも、iOS側のインターネット共有をオフにしたことを忘れていて接続失敗になると、折角のBluetoothテザリングの快適度が落ちてしまいます。

iPhoneユーザーが1枚のSIMでAndroid端末を併用するのに凄く具合のいい設定

MacBookに3G/LTE通信機能が搭載されたらいいのにな。そんな願いにアプローチするLidSyncPAN

ASUS VivoTab Note 8の著しく偏った使いこなし

できればiOS側のインターネット共有は、オンにしっぱなしにしたい。その上でMacにUSB接続してもインターネット共有が開始されない状態を作りたい。

OS X側で対処する

Mac(OS X)側で対処しましょう。(@makonnu さん提案)

インターネット共有をオンにしたiOS機をMacにUSBケーブルで接続し、とりあえずインターネット共有を開始。

インターネット共有経由の接続になっているかどうか確認する方法

ここで、インターネット共有経由のネットワーク接続なのかどうかを確認する方法をおさらい。

こちらの「確認くん」にWebブラウザでアクセスして、クライアントホスト名を見る。

確認くん

クライアントホスト名が携帯キャリアのものになっていれば、インターネット共有経由です。

USB経由のインターネット共有の順序を下げる

「システム環境設定>ネットワーク」を起動して、左カラムのサービスのリストの下端の歯車アイコンをクリック。

「サービスの順序を設定…」を選択し、iPhone USBをドラッグ。普段使っているサービスの下まで下げる。下げたら「OK」ボタンをクリック。

Skitched 20140912 232459

「適用」ボタンをクリックし、適用されるのを待つ。

この設定の場合、Wi-FiやEthernetなど、iPhone USB、即ちUSB経由のインターネット共有より上位に有効なサービスがあれば、そちらを使って通信されることになります。

Skitched 20140912 232747

Wi-FiとiPhone USBが両方有効、かつiPhone USBが下位にある状態で「確認くん」にアクセスしてみます。

クライアントホスト名は、Wi-Fi側、インターネットサービスプロバイダのものになっているはずで、iPhone USBは使われていません。

ただ、この設定の場合、何らかの理由で上位のサービスが切断されるとiPhone USBが繰り上がって、iPhone USBが使われることになる余地を残してしまいます。

USB経由のインターネット共有を無効化する

「システム環境設定>ネットワーク」を起動して、「ネットワーク環境>ネットワーク環境を編集…」を選択。

Skitched 20140912 233358

「+」ボタンで設定を増やし、適当に命名。例えば「NO_USB_TETHERING」とし、「完了」ボタンをクリック。「適用」ボタンをクリックし、適用されるのを待つ。

Skitched 20140912 233615

左カラムのサービスのリストにあるiPhone USBを選択。リスト下端の歯車アイコンをクリック。「サービスを無効にする」を選択。「適用」ボタンをクリック。

Skitched 20140912 233856

これで、以降このネットワーク環境「NO_USB_TETHERING」を選択している間は、ネットワーク共有をオンにしたiOS機をUSBケーブルでつないでも、USB経由のインターネット共有は有効にならず、意図せずUSB経由のインターネット共有を使ってしまうことを防止できることになります。

Skitched 20140912 234025

ネットワーク環境の切り替えをワンタッチで

USB経由のインターネット共有の意図しない利用を防ぐために「サービスを無効にする」を使う手は確実で安心できますが、時にはUSB経由のインターネット共有も使いたい人の前に、ネットワーク環境の切り替えが面倒という課題が新たに立ちはだかることになります。

Skitched 20140912 234115

そこで、デフォルトのネットワーク環境と、USB経由のインターネット共有を無効にした「NO_USB_TETHERING」とを交互に切り替えるスクリプトを作ってみました。

以下をダウンロード。

zipを解凍して、「デフォルトのネットワーク環境名にリネームする.app」を得る。

「デフォルトのネットワーク環境名にリネームする.app」をデフォルトのネットワーク環境名にリネーム。僕の場合は「AUTO」なので、「AUTO.app」にリネームしました。

すると、「AUTO.app」を実行するたびに「AUTO」と「NO_USB_TETHERING」とを交互に切り替えるようになります。「NO_USB_TETHERING」の名前は固定です。

OS X Mavericksのデフォルトの設定ではネットからダウンロードしてきたAppleScriptの実行がブロックされるので、一度実行した後、「システム環境設定>セキュリティとプライバシー」からブロックを解除してください。

また、デフォルトのネットワーク環境名はアルファベットにリネームしておきます。

今がどっちの状態なのだか分からないので、iOS機のインターネット共有が始まっているかどうかでどちらか判断してください。

  • 動作確認環境: OS X 10.9.4

 - iOS, iPad, iPhone, OS X