プロジェクト

全般

プロフィール

NICs on macOS

複数NIC(例えば、Wi-Fiと有線LANとをそれぞれ別のネットワークに接続)を使用した時のネットワーク設定です。

Wi-FiネットワークとEthernetネットワーク

MacBookの本体Wi-Fiをインターネットに接続可能なネットワークに接続しているとします。
ここに、有線のEthernetを追加で接続します。このEthernetのネットワークはインターネットとは繋がらないLANとします。

ここで、Wi-Fiと有線のEthernetと双方にデフォルトゲートウェイが設定されていると、優先度の高いインタフェースのゲートウェイが使われます。
Wi-Fiより有線のEthernetの優先度が高い場合、Wi-Fiからインターネットへ接続するはずのパケットが、Wi-Fiのデフォルトゲートウェイ宛ではなく、有線のEthernetのデフォルトゲートウェイ宛に送られ、インターネット接続ができなくなります。

設定例

このような場合、デフォルトゲートウェイを1つとし、ルーティングを設定します。

インターネット接続(例ではWi-Fi)のある側のデフォルトゲートウェイ設定を残し、ローカルなネットワーク接続(例では有線LAN)のデフォルトゲートウェイ設定を削除します。

macOSでは、システム環境設定 > ネットワーク で、有線LANの設定からルーターの記述を削除します。

  • 注)DHCPでアドレスを割り当てる設定の場合、デフォルトゲートウェイ情報をどのように除外するかはT.B.D.

ただし、デフォルトゲートウェイ設定を削除しただけでは、同じネットワークセグメント内の機器としか通信できなくなってしまいます。そこで、ローカルなネットワーク接続で使用するルータを超えるネットワークアドレスを削除した有線LANのデフォルトゲートウェイ宛にルーティングさせる設定を追加します。

有線LANのサービス名(インタフェース名)を調べます。

~% networksetup -listnetworkserviceorder
(1) USB 10/100 LAN
(Hardware Port: USB 10/100 LAN, Device: en6)
  :
(3) Wi-Fi
(Hardware Port: Wi-Fi, Device: en0)
  :

有線LANにルーティング設定を追加します。

~% sudo networksetup -setadditionalroutes "USB 10/100 LAN" 192.168.2.0 255.255.255.0 192.168.1.254

有線LANが192.168.1.0/24に接続され、ルータ経由で192.168.2.0/24に接続される場合で、ルータが192.168.1.254としたときの例です。

routeコマンドでも静的ルーティング情報を設定できますが、routeコマンドの設定はテンポラリなのでmacを再起動する都度設定をしなくくてはなりません。そこで、networksetupコマンドで設定します。