Linux機器に複数のNICを装備する場合に、特定のNICはLANのみに接続したいケースがあります。たとえば、Wifiインターフェースではインターネット接続したいが、有線イーサネットはLANアクセスのみの構成としたい利用例が考えられます。
Linuxのデフォルト挙動は、すべてのインターフェースにデフォルトゲートウェイを設定し、外部ネットワークに接続しようとします。現在の構成はip [-6|-4] route
で確認できます。
リストのうちdefault
から始まる行が外部にルーティングする設定です。
Netplan on NetworkManagerの場合
近年のDebian系のデスクトップディストリビューションは、config規約に Netplan、ネットワークデーモンにNetworkManagerを採用しています。
Netplanのconfigは/etc/netplan/
にデバイスごとに作成されます。
外部ルーティングをdisableしたいデバイスのconfigの
dhcp4-overwrites.use-routesの値をfalse
に指定すると、デフォルトルートなしの構成になります。IPv6の場合は、dhcp6-overwrites.use-routes
です。
どう見てもDHCP用の設定ですが、スタティックにIP設定する場合にも参照されます。ただし、NetworkManagerの特定バージョンの実装がNetplanのconfigをそのように解釈しているだけの可能性が高く、将来別のフィールドが追加されるかもしれません。
Netplanには下層のconfigも書けますが、networkmanager.passthrough.ipv4.ignore-auto-routes
という設定はNetworkManagerに直接指定するconfigのようです。
対応するGUI管理ツールも各デバイスのIPv4/IPv6設定の「Routes」などから指定できるケースがありますが、これはツールとバージョンによるでしょう。GUIの出力は/etc/netplan/
に保存されるため、各configファイルで確認できます。
Chuma Takahiro