Skip to content

Nuface Blog

隨意隨手記 Casual Notes

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

PPPoE 問題處理

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

在 Ubuntu 22 升級到 Ubuntu 24 之後,pppoe(通常指 pppoeconf / pppoe-discovery / pppd-pppoe 等工具)會遇到無法正常運作的情況。這主要和 pppd 與內核模組的變化 有關。

為什麼 Ubuntu 24 之後 PPPoE 會失效?

  1. pppoeconf 套件被移除
    • 在 Ubuntu 22 之後,官方已經不再維護 pppoeconf,因此升級後系統裡可能已經沒有這個指令。
    • 相關套件也可能被標記為 obsolete。
  2. 內核驅動差異
    • PPPoE 依賴 ppp_generic、pppoe、pppox 這些內核模組。
    • Ubuntu 24.04 升級 kernel 後,這些模組有時沒有自動載入,導致 pppoe 無法連線。
  3. NetworkManager 與 systemd 影響
    • 在新版本中,PPP 相關功能整合到了 NetworkManager。
    • 如果你原本是用 /etc/ppp/peers/ + pon/poff 的方式,升級後需要調整。

檢查與排錯步驟

  1. 確認 PPP 套件是否還在
    • dpkg -l | grep ppp

      如果沒有,請安裝:

      sudo apt install ppp pppoe
  2. 檢查內核模組
    • lsmod | grep ppp

      如果沒有看到 pppoe、pppox,請手動載入:

      sudo modprobe pppoe

      sudo modprobe pppox
  3. 測試 PPPoE 探測
    • pppoe-discovery -I eth0

      如果沒有任何回應,表示模組沒載入或 ISP 不通。
  4. 確認日誌
    • journalctl -xe | grep ppp

      查看是否有 pppd 或 pppoe 相關錯誤訊息。

解決方案

方法一:繼續用傳統 pppd

  1. 建立設定檔 /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 “你的ISP帳號”
  2. 把密碼放在 /etc/ppp/pap-secrets 或 /etc/ppp/chap-secrets
    • “你的ISP帳號” * “你的密碼”
  3. 啟動連線
    • sudo pon dsl-provider
  4. 斷線
    • sudo poff dsl-provider

方法二:改用 NetworkManager

如果是桌面或伺服器有啟用 NetworkManager,可以直接用:

nm-connection-editor

  • 新增 DSL (PPPoE) 連線
  • 輸入帳號/密碼
  • 選擇介面(例如 eth0)

方法三:使用 systemd service 自動化

建立一個 systemd unit

[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

儲存為 /etc/systemd/system/pppoe.service,然後啟用:

先檢查 pppoe 模組是否有載入(lsmod | grep ppp),這通常是 Ubuntu 24 升級後最常見的問題。

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