Skip to content

Nuface Blog

隨意隨手記 Casual Notes

Menu
  • Home
  • About
  • Services
  • Blog
  • Contact
  • Privacy Policy
  • Login
Menu

Troubleshooting PPPoE Issues After Upgrading to Ubuntu 24

Posted on 2025-10-302025-10-30 by Rico

After upgrading from Ubuntu 22 to Ubuntu 24, many users have found that PPPoE tools—such as pppoeconf, pppoe-discovery, or pppd-pppoe—no longer work properly.
This is mainly due to changes in pppd behavior and kernel module handling introduced in newer Ubuntu releases.


🔍 Why PPPoE Fails on Ubuntu 24

1. pppoeconf Has Been Removed

Starting from Ubuntu 22, the classic pppoeconf package is no longer maintained and has been removed from the repository.
After upgrading, you might find that the command no longer exists or is marked as obsolete.

2. Kernel Module Changes

PPPoE relies on several kernel modules:
ppp_generic, pppoe, and pppox.
After upgrading to Ubuntu 24.04 (with a newer kernel), these modules may not be automatically loaded, causing PPPoE to fail to connect.

3. NetworkManager and systemd Integration

In newer Ubuntu versions, PPP functionalities are integrated into NetworkManager.
If you previously used manual methods like /etc/ppp/peers/ with pon/poff, you’ll need to adjust your configuration.


🧪 Diagnostic Steps

1️⃣ Check if PPP Packages Are Installed

dpkg -l | grep ppp

If not installed:

sudo apt install ppp pppoe

2️⃣ Verify Kernel Modules

lsmod | grep ppp

If you don’t see pppoe or pppox, load them manually:

sudo modprobe pppoe
sudo modprobe pppox

3️⃣ Test PPPoE Discovery

pppoe-discovery -I eth0

If there is no response, the module may not be loaded properly, or your ISP line is unreachable.

4️⃣ Check System Logs

journalctl -xe | grep ppp

Look for any related pppd or pppoe error messages.


🧰 Solutions

🅰️ Method 1: Continue Using Classic pppd

Create the configuration file /etc/ppp/peers/dsl-provider:

noipdefault
defaultroute
replacedefaultroute
hide-password
lcp-echo-interval 20
lcp-echo-failure 3
noauth
persist
mtu 1492
plugin rp-pppoe.so
eth0
user "your-ISP-username"

Store your password in /etc/ppp/pap-secrets or /etc/ppp/chap-secrets:

"your-ISP-username" * "your-password"

Start the connection:

sudo pon dsl-provider

Disconnect:

sudo poff dsl-provider

🅱️ Method 2: Use NetworkManager (Recommended for Desktop)

If NetworkManager is active, you can easily set up a DSL connection through its interface:

nm-connection-editor

Then:

  1. Add a new DSL (PPPoE) connection
  2. Enter your account and password
  3. Select the correct network interface (e.g., eth0)

This method integrates smoothly with systemd and desktop networking tools.


🅾️ Method 3: Automate via systemd Service

You can create a custom systemd unit to bring up the PPPoE connection automatically:

[Unit]
Description=PPPoE connection
After=network.target

[Service]
ExecStart=/usr/bin/pon dsl-provider
ExecStop=/usr/bin/poff dsl-provider
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Save this file as /etc/systemd/system/pppoe.service, then enable it:

sudo systemctl enable pppoe.service
sudo systemctl start pppoe.service

⚙️ Common Root Cause

After upgrading to Ubuntu 24, the pppoe and pppox kernel modules are often not loaded automatically.
Always verify with:

lsmod | grep ppp

If missing, load them manually before troubleshooting further.


✅ Summary

IssueCauseSolution
pppoeconf command missingDeprecated packageInstall ppp and pppoe manually
No PPPoE responseKernel module not loadedRun modprobe pppoe pppox
Manual pon/poff not workingSystemd & NM changesUse NetworkManager or systemd service
Log shows pppd errorPermission or plugin issueCheck /etc/ppp/peers and rp-pppoe.so path

💡 Tip: For server environments that do not use NetworkManager,
the pppd + systemd approach is still the most reliable and controllable way to maintain stable PPPoE connections.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Postfix + Let’s Encrypt + BIND9 + DANE Fully Automated TLSA Update Guide
  • Postfix + Let’s Encrypt + BIND9 + DANE TLSA 指紋自動更新完整教學
  • Deploying DANE in Postfix
  • 如何在 Postfix 中部署 DANE
  • DANE: DNSSEC-Based TLS Protection

Recent Comments

  1. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on High Availability Architecture, Failover, GeoDNS, Monitoring, and Email Abuse Automation (SOAR)
  2. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on MariaDB + PostfixAdmin: The Core of Virtual Domain & Mailbox Management
  3. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Daily Operations, Monitoring, and Performance Tuning for an Enterprise Mail System
  4. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Final Chapter: Complete Troubleshooting Guide & Frequently Asked Questions (FAQ)
  5. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Network Architecture, DNS Configuration, TLS Design, and Postfix/Dovecot SNI Explained

Archives

  • December 2025
  • November 2025
  • October 2025

Categories

  • AI
  • Apache
  • Cybersecurity
  • Database
  • DNS
  • Docker
  • Fail2Ban
  • FileSystem
  • Firewall
  • Linux
  • LLM
  • Mail
  • N8N
  • OpenLdap
  • OPNsense
  • PHP
  • QoS
  • Samba
  • Switch
  • Virtualization
  • VPN
  • WordPress
© 2025 Nuface Blog | Powered by Superbs Personal Blog theme