NetworkManager で PPPoE マルチセッション接続&同じ NIC を LAN接続と併用する


むかしはできなかったみたいだけど、いつの間にか実装されたようです。

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-connectmultiple にセットすればよいです。

nmcli connection modify openadjp connection.multi-connect multiple