むかしはできなかったみたいだけど、いつの間にか実装されたようです。
Fedora で旧来の ifup
をすると 'network-scripts' will be removed from distribution in near future.
と出るようになったし、いい加減に NetworkManager を覚えないといけませんね...
同じネットワークデバイスを、PPPoE と LAN とで併用する
こんな構成にして、1枚のネットワークカードで PPPoE によるインターネット接続と、LAN 内へのアクセスを同時に行いたいとき。
(手段1) nm-connection-editor を使用する
nm-connection-editor
から "DSL/PPPoE" 接続を作成し、"Claim インターフェース" のチェックを外す
選択された場合、接続はインターフェースを排他制御し、別の接続を有効化することはできません。このオプションは、Ethernet のインターフェースでのみ使用可能です。このオプションが選択されている場合に限り、nm-applet は接続を有効化できます。
(手段2) nmcli を使用する
上の方法で設定した前後で nmcli connection show [name]
の diff を取ると、
@@ -5 +5 @@
-connection.interface-name: ens33
+connection.interface-name: ppp1
@@ -85 +85 @@
-pppoe.parent: --
+pppoe.parent: ens33
となっていることがわかるので、この通りに nmcli connection modify
で設定しましょう。
PPPoE マルチセッション接続を行う
NTT フレッツ光ネクストでは、PPPoE セッションを複数確立し(無料では2セッションまで)、複数のプロバイダと接続することができます。また、フレッツのサービス情報サイト(フレッツ・スクエア)への IPv4 接続の際にも、インターネット接続と併用するにはマルチセッション接続が必要です。
単に2つの ppp connection を作って有効化しようとすると、
エラー: 接続のアクティベーションに失敗: Failed to find a compatible device for this connection
と表示されるかと思います。
これを解決するためには、上節の方法で PPPoE 仮想デバイスをネットワークインターフェースから切り離したあとに、 ppp デバイスの connection.multi-connect
を multiple
にセットすればよいです。
nmcli connection modify openadjp connection.multi-connect multiple
- 設定ドキュメント https://developer.gnome.org/NetworkManager/stable/settings-connection.html
- 対応する NetworkManager のソースコード
- 当該エラーメッセージの生成箇所 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/fc837cbb6f43c3718752ac4c8884c18b64fdec7c/src/nm-manager.c#L5230
- この前に呼び出している関数で、 multi-connect の設定を参照している https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/fc837cbb6f43c3718752ac4c8884c18b64fdec7c/src/nm-manager.c#L3602