web-dev-qa-db-fra.com

Comment utiliser netplan pour configurer PPPoE?

Je souhaite ajouter des lignes à un fichier 01-netcfg-yaml fonctionnel pour connecter automatiquement une interface à ppp à l'aide d'un script créé par pppoeconf.

Mais je ne trouve aucun guide ou exemple.

J'apprécierais beaucoup l'aide "howto" pour ce faire.

Merci d'avance.

1
AndrewG

Il y a une option si vous voulez faire du bricolage. networkd-dispatcher peut vous aider à exécuter vos propres scripts pour faire ce dont vous avez besoin et suit approximativement la syntaxe des scripts dans/etc/network /.

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

De plus, cela est maintenant accepté dans Bionic (18.04) dans le référentiel "univers":

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

# Install
Sudo apt install networkd-dispatcher

# Documentation
man networkd-dispatcher

J'ai configuré mon routeur PPPoE exécutant Ubuntu à l'aide de netplan pour l'interface Ethernet standard et directement à l'aide de systemd pour l'interface PPPoE.

Pour la partie PPP, j'ai laissé l'interface PPPoE hors de netplan entièrement et créé un fichier /etc/systemd/system/ppp.service comme suit. ens7 est mon interface connectée à mon modem PPPoE, que vous devrez modifier (à chaque occurrence) en fonction de votre cas. J'utilise également des cadres bébé géants en réglant mon MTU sur 1508. Si votre NIC ou votre FAI ne peut pas gérer cela, vous devez supprimer cette ligne:

[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

Mon /etc/ppp/peers/provider ressemble à ceci. Encore une fois, ens7 est mon PPPoE _ interface; vous devrez le remplacer par le vôtre ci-dessous, avec my_username_with_my_isp. Si votre matériel (ou votre FAI) ne peut pas gérer les trames jumbo et si vous avez supprimé la ligne mtu ci-dessus, changez également mtu et mru ci-dessous en 1492. J'active également ipv6 ici. Ajoutez usepeerdns si vous souhaitez que les serveurs DNS fournis par votre fournisseur de services Internet soient utilisés (au lieu de les configurer de manière statique).

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

Mon /etc/ppp/chap-secrets ressemble à ceci. Vous devrez peut-être utiliser /etc/ppp/pap-secrets à la place si votre FAI ne prend pas en charge CHAP.

* * my_password_with_my_isp

Pour tout rassembler le 18.04:

  1. Installez le package ppp.

  2. Créez/modifiez /etc/systemd/system/ppp.service, /etc/ppp/peers/provider et /etc/ppp/chap-secrets comme ci-dessus.

  3. Exécutez Sudo systemctl daemon-reload, Sudo systemctl enable ppp puis Sudo systemctl start ppp.

  4. Utilisez systemctl status ppp et affichez /var/log/syslog pour le statut PPP.

1
Robie Basak