重開機建議要執行這 5 個指令以取得固網如(114.35.70.6)及區網如(192.168.50.3)
[root@RockyLinux8WP ~]#/usr/sbin/pppd call hinet
[root@RockyLinux8WP ~]#ip route del default via 192.168.50.1 dev enp6s0
[root@RockyLinux8WP ~]#ip route add default dev ppp0
[root@RockyLinux8WP ~]#firewall-cmd –zone=public –add-interface=ppp0 –permanent
[root@RockyLinux8WP ~]# ip addr show ppp0
1️⃣ sudo ip route del default via 192.168.50.1 dev enp6s0
用途功能:刪掉原本的「預設路由」,這個路由是走區網的 ASUS RT-AX68U 路由器 (192.168.50.1)。
就像你家有兩條出口,一條是小巷子 (LAN),一條是大馬路 (PPPoE 公網),系統開機時會自動選小巷子當主要出口,結果外部流量都跑錯路,這個指令就是把「錯的出口」拆掉,避免流量繞回區網 NAT。

NAT 原文
Network Address Translation (NAT) 是一種網路技術,用來在封包通過路由器或防火牆時,修改 IP 封包的來源或目的位址,它的主要用途是讓多台內部主機共用一個公共 IP 位址,並提升網路安全性。
NAT 說明
NAT 就像一個「翻譯員」:
- 家裡有很多電腦,但對外只有一個門牌號碼(公共 IP)。
- 當你上網時,NAT 會把你家電腦的「房間號碼」換成門牌號碼,讓外面的人只看到門牌,不會知道你家裡有幾台電腦。
- 如果有人要寄信給你家某個人(例如連線到伺服器),NAT 會把信件送到正確的房間。
簡單來說,NAT 幫助:
- 省 IP:多台電腦共用一個公共 IP。
- 保護隱私:外部看不到內部真實位址。
- 方便管理:可以控制哪些服務能被外部存取。
2️⃣ sudo ip route add default dev ppp0
用途功能:新增一條新的「預設路由」,指定所有外部流量都走 PPPoE (ppp0)。
這就像告訴系統:「以後要出門,請走大馬路 (ppp0),不要再走小巷子」,這樣外部訪客才能透過固定 IP 114.35.70.6 找到你的伺服器。
3️⃣ sudo firewall-cmd --zone=public --add-interface=ppp0 --permanent
用途功能:把 PPPoE 介面 (ppp0) 加入防火牆的 public zone,並且永久保存。
防火牆就像門口的保全,你要告訴保全:「這個新大門 (ppp0) 也要管,並且允許 HTTP/HTTPS/SSH 進來」,如果沒加,外部雖然能找到門牌號碼,但保全不認這個門,訪客就進不來。
4️⃣ ip addr show ppp0
用途功能:檢查 PPPoE 介面是否真的拿到固定 IP。
這就像確認門口的招牌是不是已經掛上「114.35.70.6」。如果沒有這個招牌,外部訪客就算走大馬路也找不到你家。
✅結果
重開機後補上這四個指令,就能恢復內外網都通:
- 刪掉錯的出口 (LAN default route)。
- 加上正確出口 (ppp0 default route)。
- 防火牆認得新大門 (ppp0)。
- 確認門牌號碼 (固定 IP)。
✅四個指令整合成開機自動執行腳本
建立一個腳本 /usr/local/bin/pppoe-autofix.sh:
#!/bin/bash
# PPPoE 自動撥號 + 路由修正腳本
# Step 1: 撥號 (確保 ppp0 起來)
pppd call hinet &
# Step 2: 等待 ppp0 介面建立
sleep 10
# Step 3: 移除原本 LAN 預設路由
ip route del default via 192.168.50.1 dev enp6s0 2>/dev/null
# Step 4: 新增 PPPoE 預設路由
ip route add default dev ppp0
# Step 5: 防火牆綁定 ppp0 並 reload
firewall-cmd --zone=public --add-interface=ppp0 --permanent
firewall-cmd --reload
設定可執行:
[root@RockyLinux8WP ~]#sudo chmod +x /usr/local/bin/pppoe-autofix.sh
📋驗證流程
重開機後檢查:
[root@RockyLinux8WP ~]# ip addr show ppp0
[root@RockyLinux8WP ~]# ip route
[root@RockyLinux8WP ~]# curl ifconfig.me
應該會看到:
ppp0有固定 IP (114.35.70.6)- 預設路由走
ppp0 - LAN (192.168.50.3) 仍然存在
很多人自架網站主機時會遇到一個經典難題:
- 我想要讓伺服器拿到 ISP 提供的固定公網 IP,讓外部訪客能直接連到我的網站。
- 同時,我又希望伺服器在如 ASUS RT-AX68U 區網(LAN) 裡有一個區網 IP,方便設定防火牆及 Port Forwarding(通訊埠轉發)
問題如數據機 NAT 及 DHCP 要不要關?PPPoE 撥號要用 nmcli 還是傳統 pppd?路由表會不會把 LAN 弄斷?防火牆要怎麼設定?
這篇文章就是完整紀錄我在 Rocky Linux 8 上,使用 單一網卡(enp6s0),同時跑 PPPoE 固定IP (114.35.70.6) 與 區網IP (192.168.50.3) 的過程。
第一章:數據機 Bridge 模式與 NAT 的抉擇
- 數據機如果開 NAT,就會變成「半橋接」,後端設備拿不到真正的公網 IP。
- 建議把數據機設成 Bridge 模式,並且關掉 NAT、DHCP、防火牆。
- 這樣 Rocky Linux 8.10 就能直接透過 PPPoE 撥號,拿到 ISP 分配的固定 IP(114.35.70.6)。
第二章:建議用傳統 pppd
這樣會建立 ppp0 介面,拿到固定 IP。
傳統 pppd 方式
建立 /etc/ppp/peers/hinet:
plugin rp-pppoe.so
enp6s0
user “77542*612@ip.hinet.net”
defaultroute
usepeerdns
persist
noauth
然後在 /etc/ppp/pap-secrets 與 /etc/ppp/chap-secrets 加入:
“77542*612@ip.hinet.net” * “rdhx*mdur”
撥號:
[root@RockyLinux8WP ~]#sudo pppd call hinet
第三章:成功拿到固定IP
確認:
[root@RockyLinux8WP ~]#ip addr show ppp0
輸出:
[root@RockyLinux8WP ~]#inet 114.35.70.6 peer 168.95.98.254/32 scope global ppp0
伺服器已經有了真正的公網 IP。
第四章:路由表的調整
[root@RockyLinux8WP ~]#sudo ip route del default via 192.168.50.1 dev enp6s0
[root@RockyLinux8WP ~]#sudo ip route add default dev ppp0
再測試:
[root@RockyLinux8WP ~]#curl ifconfig.me
結果回傳連線到網路時所使用的公共 IP 左測顯示:

本站固定 IP 114.35.70.6
第五章:防火牆設定
確保 ppp0 在防火牆 zone:
[root@RockyLinux8WP ~]#sudo firewall-cmd –zone=public –add-interface=ppp0 –permanent
[root@RockyLinux8WP ~]#sudo firewall-cmd –reload
確認:
[root@RockyLinux8WP ~]#sudo firewall-cmd –list-all
輸出顯示 ssh、http、https 都已經放行。
第六章:SSH 與 WinSCP 測試
[root@RockyLinux8WP ~]#ss -tlnp | grep 22
顯示:
LISTEN 0 128 0.0.0.0:22
LISTEN 0 128 0.0.0.0:2222
代表 sshd 在所有介面監聽 22 與 2222 port。
外部測試:

成功取得固定 IP 114.35.70.6
第七章:區網與外網共存
- 區網電腦 (192.168.50.225) 可以透過 192.168.50.3 連到 Rocky Linux。
- 外部訪客可以透過 114.35.70.6 連到 Rocky Linux。
- 這就是單網卡同時跑 LAN 與 PPPoE 的完美狀態。
第八章:WordPress 6.9 .1 架站
有了固定 IP,我們就能在 Rocky Linux 上安裝 WordPress 6.9.1:
[root@RockyLinux8WP ~]#sudo dnf install httpd mariadb-server php php-mysqlnd
[root@RockyLinux8WP ~]#sudo systemctl enable –now httpd mariadb
下載 最新 WordPress 6.9.1:
[root@RockyLinux8WP ~]#wget https://wordpress.org/latest.tar.gz
[root@RockyLinux8WP ~]#tar -xvzf latest.tar.gz
[root@RockyLinux8WP ~]#sudo mv wordpress /var/www/html/
設定資料庫、修改 wp-config.php,然後瀏覽器打開 https://114.35.70.6,就能看到 WordPress 6.9.1 安裝畫面。
第九章:生動有趣的過程回顧
- 數據機 NAT 沒關 → 拿不到公網 IP。
- 路由表沒改 → 外部出口還是走 ASUS NAT。
- 防火牆沒放行 → WinSCP 連不上。
經過這一些有趣的過程,讓我們更懂網路的底層運作。
第十章:給讀者的建議
- 如果你要自架網站主機,固定 IP 是必須的。
- 建議數據機設成橋接(Bridge)
- PPPoE 撥號後要檢查路由表,確保預設路由走 ppp0。
- 防火牆要記得放行 ppp0,不然外部連不進來。
- 最後 WordPress 6.9.1 架站只是開始,安全性與維護才是長期挑戰。
小編小語: PPP0 小故事
魔法水管與門牌號碼
📖阿寬與魔法水管
在一個叫「網路村」的地方,住著一位叫阿寬的年輕人。
第一章:混亂的水管
以前,網路村的每戶人家都有一條直接連到「網路海」的大水管,但問題是:
- 水管太多太亂,經常接錯
- 不知道誰用了多少水
- 有人偷接別人的水管
村長很頭痛:「這樣下去,網路海的水會亂成一團!」
第二章:智慧發明
有一天,智慧老人提出了「魔法水管系統」(PPPoE)
- 第一層:普通水管(乙太網路)
- 每條街鋪設一條大水管
- 所有人家都連到這條街管上
- 第二層:魔法計量表(PPPoE 客戶端)
- 每戶門口裝上一個魔法計量表
- 要用水時,先對計量表說通關密語
- 魔法水廠(PPPoE 伺服器)
- 水廠有神奇的認證系統
- 只有正確的「用戶名+密碼」能開啟專用水流
第三章:阿寬的初體驗
阿寬搬新家後,第一次使用:
- 探索階段:他對水管喊:「有人在嗎?我想上網!」
→ 水廠回應:「我在這裡!我是中華水廠!」 - 認證階段:阿寬說出魔法密語:「用戶名:阿寬家,密碼:123456」
→ 水廠檢查:「密碼正確!為你開啟專屬水道!」 - 建立隧道:一條發光的魔法水管出現了!
- 外表看起來跟鄰居的水管一樣
- 但內部是阿寬專用的加密通道
暢快用水:現在阿寬可以:
- 看網路電視(水流穩定)
- 玩線上遊戲(低延遲)
- 同時多人上網(水管會自動分配)
第四章:意外的好處
有一天,網路村發生了大事件:
- 隔壁老王想偷接阿寬的水管,但魔法計量表立即阻擋!
- 村長要統計用水量,魔法系統自動生成報表!
- 水管維修時,只要重新念密語就能恢復,不用重新鋪管!
第五章:現代啟示
阿寬現在明白了:
「PPPoE就像給網路裝上了智慧水錶 + 專用隧道,外表大家共用一條街管 (乙太網路),但內裡每戶都有自己獨立的、安全的、可管理的魔法水道 PPP 點對點協定)。」
小知識補充:
- 很多家庭寬頻(如ADSL、光纖)都使用 PPPoE
- 每次重開數據機時,就是在重新進行「魔法認證」
- 那個「連線帳號密碼」就是開啟魔法水管的鑰匙
這個系統讓 ISP 能管理數百萬用戶,就像水公司能管理整個城市用水一樣,既有效率又安全!🚰✨
這篇文章完整紀錄了我在 Rocky Linux 8 上,用單網卡同時跑 LAN 與 PPPoE 固定 IP 的過程,從數據機設定、PPP 撥號、路由表調整
✅ 結論
這份 systemd 服務會在開機時:
- 自動執行 PPPoE 撥號 (pppd call hinet)
- 等待 ppp0 起來後自動修正路由
- 確保防火牆綁定 ppp0
- 保留 LAN (192.168.50.3) 同時存在
很重要:先斷掉舊連線,避免殘留
在 Linux 系統裡,如果你要「斷掉舊的 ppp0 連線,避免殘留」,正確的做法是透過 網路管理工具或 pppd 來停止連線,而不是直接刪檔案。以下是安全的操作流程:
🔹斷線指令
- 使用 ip 指令
ip link set ppp0 down這會把 ppp0 介面關閉。 - 使用 ifconfig (如果系統有安裝 net-tools)
ifconfig ppp0 down - 使用 pppd 如果是透過
pppd建立的撥號連線,可以用:killall pppd或者找到 pppd 的 PID:ps -ef | grep pppd kill <PID>
🔹查詢是否斷線成功
- 查看網路介面
ip addr show如果 ppp0 不再顯示,代表已經斷線。 - 檢查路由表
ip route確認 ppp0 的路由是否消失。 - 檢查連線狀態
ifconfig或ip link看 ppp0 是否還存在。
✅ 建議流程
- 先用
ip addr show確認 ppp0 是否存在。 - 如果存在,用
ip link set ppp0 down或killall pppd斷線。 - 再次用
ip addr show或ip route確認已經清除。
附錄:建議備份 WordPress 6.9.1 方法及7 分割區架構圖_Rocky Linux 8.10 + WordPress 6.9.1
WordPress 6.9.1-[root@RockyLinux8WP ~]#tar -czvf /home/wordpress_files_$(date +%F).tar.gz /var/www/html
WordPress 6.9.1 SQL 資料庫-[root@RockyLinux8WP ~]#
mariadb-dump -u root -p’sbisn896s93s743′ wordpress > /home/wordpress_backup_$(date +%F).sql
7 分割區架構圖_Rocky Linux 8.10 + WordPress 6.9.1

