NetworkManagerのpppoeコネクションをeth0と併用するには

IPv6 IPoE接続した環境の中から。

PPPoEパススルー機能を使用して。

IPv4 PPPoE接続したい場合。

NetworkManagerではできなかった。という記録です。でもちゃんとできました。

※23.9.24追記:1週間前、できなかったという記事で公開しましたが、その後、設定を調整してできるようになりました。


NetworkManagerのPPPoE設定例

NetworkManagerでPPPoE接続したい場合の手順です。

Raspberry Pi 4 Rocky Linux 9の更新

マシンは、Raspberry Pi 4のRocky Linux 9を使用しました。

dnfコマンドでOSを更新しました。


NetworkManager-pppのインストール

pppパッケージのほか、メニュー形式で設定が可能になるtuiをインストールしました。

sudo dnf install NetworkManager-ppp NetworkManager-tui

特に問題なくインストールできました。


nmtui-editによるPPPoEコネクション作成

PPPoEコネクションの作成は、nmtui-editコマンドを使用しました。Addメニューから

「DSL」を追加します。

  • Profile nameを「PPPoE」に変更
  • Username欄にIPv4 PPPoE接続のユーザ名を入力
  • Password欄にパスワードを入力
  • MTU欄に1454を入力

※23.9.26追記:フレッツ網、NGN網を使用する場合は、ETHERNET→MTU欄に1454を入力します。パケットサイズを適正に設定することで、パケットの分割がなくなり通信の効率化に繋がります。

右下の<OK>を選択。

「DSL PPPoE」コネクションが追加されました。


PPPoEパススルーの確認

IPv6 IPoE接続しているルータの設定を確認します。

PPPoEパススルーを有効にすることで、IPv6 IPoE接続したネットワークの内側から、地域IP網またはNGNを経由したPPPoE接続が可能になります。


PPPoEコネクションの有効化

こちらも、tuiから。

※23.9.24追記:Activateせずに、この後の併用設定を行って下さい。

先程作成した、PPPoEコネクションを有効にします。

はい。接続はされます。

しかし、PPPoEに接続した瞬間、「Wired connection 1」が使用できなくなります。


NetworkManagerの既定の設定では、eth0とppp0の併用ができない?

NetworkManagerが想定した、PPPoEの接続形態は

  • eth0をWAN端子として使用する、つまりONU(地域IP網またはNGN)に接続する
  • eth1等、イントラネットは別のデバイス経由で接続
  • ppp0接続すると、eth1からppp0、つまりIPv4 PPPoEネットワークに接続可能となる。
  • eth0であるWAN端子は、ppp0接続専用。

一方、やろうとしたことは。

  • eth0はイントラネットで使用。
  • ONU(地域IP網またはNGN)への接続は、eth0を経由して、PPPoEパススルー(トンネル)を使用する。
  • ppp0接続した後でも、eth0はイントラネットへの接続で使用したい
  • しかし、NetworkManagerは、ppp0接続すると、eth0はWAN端子として稼働し、使用できなくなる。

という感じでしょうか。

※23.9.24追記:このあとの併用の設定を行えば、eth0経由でppp0設定できるようになりました。


NetworkManagerでeth0とppp0を併用する設定

※23.9.24追記

こちらの公式マニュアルを参考にさせて頂きました。

PPP-over-Ethernet Settingとして、pppoe.parentという設定項目があります。

こちらが、ppp接続を行う場合のインタフェースの指定のようです。こちらにeth0を指定したいと思います。

またマニュアルには、こちらを使用する場合は、「NMSettingConnectionのinterface-name」を記述するように記載があります。

というわけで、その2つの設定を行います。

sudo nmcli connection modify PPPoE pppoe.parent eth0
sudo nmcli connection modify PPPoE connection.interface-name ppp0
sudo nmcli c show PPPoE |grep pppoe.parent
sudo nmcli c show PPPoE |grep connection.interface-name

PPPoEのセッションは必ず1つにする必要があります。

このため、マルチコネクトの設定は既定から変えていません。

既定では、1回の接続のみ有効になります。(Singleに変えても良いのかも?

PPPoE接続

# 接続
sudo nmcli connection up PPPoE
# 確認
ip address show dev ppp0
# 切断
sudo nmcli connection down PPPoE

nmcli c upコマンドで、PPPoE接続を有効にしました。

確かにppp0デバイスが作成されて、(私の場合)グローバルIPアドレスが割り当てられました。(割当はPPPoE接続先のISP契約により異なります

PPPoE設定の確認

nmcliまたはnmtuiコマンドでコネクションを作成した結果として、/etec/NetworkManager/system-connectionsディレクトリ内のファイルに、設定内容が格納されています。

しかしこれは結果であり、このファイルを編集しても、設定は変更できません。

nmtuiコマンドでは、pppoe.parent等の細かい設定はできませんでした。

どうしてもnmcliコマンドで設定を行う必要があると思います。

sudo nmcli c show PPPoE

このあたりの設定の難易度は、たとえばCockpit等のWeb系管理ツールで、細かい設定が可能なGUIの提供を待つ感じでしょうか。(確認していないだけで、既に提供されてる?

※23.9.26追記:ethernet.mtu、pppoe-parent、connection.interface-nameを設定した場合のPPPoE.nmconnectionファイルはこのような内容になりました。


というわけで。

IPv6 IPoE環境の中から、IPv4 PPPoE接続したい場合は、以前に作らせて頂いた2つの記事。

rp-pppoeを使用するパターン

Raspberry Pi 4のFedora 37でPPPoE接続するには
先日、Fedora 37 Serverのサポート対象として、Raspberry Pi 4が正式サポートされました。 またRaspber...

pppoeconfを使用するパターン

v6プラス環境からRaspberry Pi 4でIPv4 PPPoE接続するには
v6プラス(IPv6 IPoE)環境はインターネットアクセスが高速な反面、たとえば自宅サーバ公開や自宅VPN接続等、IPv6 IPo...

が依然有効のようです。

※23.9.24追記:第3番目のパターンとして、NetworkManagerでもPPPoEパススルーを使用して、問題なくPPPoE接続できるようになりました。

もしも、NetworkManagerでPPPoE接続したい場合は、このあたりにご注意頂ければと思います。

スポンサーリンク

フォローする

スポンサーリンク