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コマンドで設定します。