Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

SUSE / openSUSE 配置 ADSL PPPoE 撥號上網完整步驟

編輯:Linux 教學

環境準備

  • 系統:openSUSE Leap / Tumbleweed / SLES
  • 物理:ADSL Modem 橋接模式,網線直連 Linux 主機 eth0 (或 enpXsY)。
  • 帳號:ISP 提供的 PPPoE 用戶名/密碼。

方案一:NetworkManager 圖形/命令列配置 (推薦,桌面/筆記本)

nmcli con add type pppoe ifname eth0 con-name adsl username "your_user@isp" password "your_pass"
nmcli con up adsl
# 開機自動撥號
nmcli con mod adsl connection.autoconnect yes

圖形界面:系統設置 → 網絡 → + → DSL → 填寫用戶名/密碼 → 勾選「自動連接」。

方案二:wicked 服務 (傳統服務器/無桌面環境)

1. 安裝必要包

zypper in ppp rp-pppoe wicked

2. 配置 PPPoE 接口文件

# /etc/sysconfig/network/ifcfg-ppp0
STARTMODE=auto
BOOTPROTO=pppoe
USERCONTROL=no
PPPOE_DEVICE=eth0
PPPOE_USER="your_user@isp"
PPPOE_PASSWORD="your_pass"
# 可選:自定義 MTU/MRU
PPPOE_MTU=1492
PPPOE_MRU=1492
# 可選:自定義 DNS(不使用 ISP 推送)
# NETCONFIG_DNS_STATIC_SERVERS="1.1.1.1 9.9.9.9"
# NETCONFIG_DNS_POLICY="STATIC"

3. 配置 CHAP/PAP 密鑰文件 (wicked 會自動生成,亦可手動)

# /etc/ppp/chap-secrets
"your_user@isp"  *  "your_pass"  *

# /etc/ppp/pap-secrets
"your_user@isp"  *  "your_pass"  *

4. 啟用 wicked 並啟動接口

systemctl enable --now wicked
wicked ifup ppp0
# 查看狀態
wicked ifstatus ppp0
ip addr show ppp0

方案三:systemd-networkd + pppd (現代極簡)

1. 網絡接口配置

# /etc/systemd/network/20-eth0.network
[Match]
Name=eth0
[Network]
DHCP=no
IPv6AcceptRA=no

2. PPPoE netdev 單元

# /etc/systemd/network/25-ppp0.netdev
[NetDev]
Name=ppp0
Kind=ppp
[PPP]
LocalIP=0.0.0.0
RemoteIP=0.0.0.0

3. PPPoE 協議配置

# /etc/ppp/peers/provider
plugin rp-pppoe.so
eth0
name "your_user@isp"
usepeerdns
defaultroute
persist
maxfail 0
holdoff 10
lcp-echo-interval 30
lcp-echo-failure 4
noauth
nobsdcomp
nodeflate
nopcomp
noaccomp

4. 密鑰文件

# /etc/ppp/chap-secrets (權限 600)
"your_user@isp"  *  "your_pass"  *

5. 啟動

systemctl enable --now systemd-networkd
systemctl start systemd-networkd-wait-online
# ppp0 將由 systemd-networkd 自動啟動 pppd

驗證與故障排查

ip addr show ppp0              # 獲取公網 IP
ping -c 3 8.8.8.8              # 連通性
cat /var/log/messages | grep pppd  # 撥號日誌
pppd call provider debug nodetach  # 前台調試輸出

常見問題

  • MTU 導致大包丟包:PPPoE 開銷 8 字節,MTU 設 1492。若仍有問題,嘗試 1480/1472 (Ping 測試:ping -M do -s 1472 8.8.8.8)。
  • ISP 強制特定 MAC:ip link set dev eth0 address xx:xx:xx:xx:xx:xx 在 ppp0 啟動前執行 (wicked 可用 LLADDR 參數)。
  • 雙 WAN/負載均衡:需策略路由 + ip rule + ip route,超出單 PPPoE 範圍,建議使用專用路由器設備或 OpenWrt/OPNsense。

總結

桌面用戶首選 NetworkManager (nmcli) 一條命令搞定;服務器環境推薦 wicked (傳統穩定) 或 systemd-networkd (現代聲明式);核心均為 rp-pppoe 插件 + pppd 守護進程。關鍵點:正確填寫用戶名/密碼、綁定物理接口、MTU 1492、開啟 persist/lcp-echo 保持長連接。

Copyright © Windows教程網 All Rights Reserved