web-dev-qa-db-ja.com

netplanを使用してPPPoEを構成するにはどうすればよいですか?

pppによって作成されたスクリプトを使用して、インターフェイスをpppoeconfに自動的に接続するために、作業中の01-netcfg-yamlファイルに行を追加します。

しかし、ガイドや例が見つかりません。

これを行うための「ハウツー」ヘルプをいただければ幸いです。

前もって感謝します。

1
AndrewG

あなたがいじくり回して喜んでいるならオプションがあります。 networkd-dispatcherは、独自のスクリプトを実行して必要なことを実行するのに役立ち、おおよそ/ etc/network /にあるスクリプトの構文に従います。

https://github.com/craftyguy/networkd-dispatcher

また、これは「ユニバース」リポジトリのBionic(18.04)で受け入れられるようになりました。

https://launchpad.net/ubuntu/+source/networkd-dispatcher/1.7-0ubuntu1

# Install
Sudo apt install networkd-dispatcher

# Documentation
man networkd-dispatcher

通常のイーサネットインターフェイスにはnetplanを使用し、PPPoEインターフェイスにはsystemdを直接使用して、Ubuntuを実行するPPPoEルーターを構成しました。

PPP部分では、PPPoEインターフェイスをネットプランから完全に除外し、次のように/etc/systemd/system/ppp.serviceファイルを作成しました。 ens7は、PPPoEモデムに接続されているインターフェイスであり、ケースに合わせて(発生するたびに)変更する必要があります。 MTUを1508に設定して、ベビージャンボフレームも使用しています。NICまたはISPがこれを処理できない場合は、その行を削除する必要があります。

[Unit]
BindsTo=sys-subsystem-net-devices-ens7.device
After=sys-subsystem-net-devices-ens7.device

[Service]
ExecStartPre=/sbin/ip link set mtu 1508 dev ens7
ExecStartPre=/sbin/ip link set up dev ens7
ExecStart=/usr/sbin/pppd call provider
Type=forking
SuccessExitStatus=5
PIDFile=/run/ppp-pppoe.pid

[Install]
WantedBy=sys-subsystem-net-devices-ens7.device

私の/etc/ppp/peers/providerは次のようになります。再び、ens7は私のPPPoEインターフェースです。 my_username_with_my_ispとともに、以下にある独自のものに変更する必要があります。ハードウェア(またはISP)がベビージャンボフレームを処理できず、上記のmtu行を削除した場合、以下のmtuおよびmruも1492に変更します。ここでipv6も有効にします。 ISPが提供するDNSサーバーを(静的に構成する代わりに)使用する場合は、usepeerdnsを追加します。

user my_username_with_my_isp
plugin rp-pppoe.so
ens7
noipdefault
defaultroute
hide-password
lcp-echo-interval 20
lcp-echo-failure 3
noauth
persist
maxfail 0
mtu 1500
mru 1500
noaccomp
default-asyncmap
+ipv6
linkname pppoe

私の/etc/ppp/chap-secretsは次のようになります。 ISPがCHAPをサポートしていない場合は、代わりに/etc/ppp/pap-secretsを使用する必要があります。

* * my_password_with_my_isp

18.04にすべてをまとめるには:

  1. pppパッケージをインストールします。

  2. 上記のように/etc/systemd/system/ppp.service/etc/ppp/peers/providerおよび/etc/ppp/chap-secretsを作成/編集します。

  3. Sudo systemctl daemon-reloadSudo systemctl enable ppp、次にSudo systemctl start pppを実行します。

  4. PPPステータスには、systemctl status pppを使用し、/var/log/syslogを表示します。

1
Robie Basak