TShopping

 找回密碼
 註冊
搜索
查看: 503|回復: 0
打印 上一主題 下一主題

[CentOS] CentOS8 用雙網卡 PPPOE 撥號並做 NAT

[複製鏈接]
跳轉到指定樓層
1#
發表於 2022-12-10 21:10:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook
我用nmcli可以成功建立pppoe連線
: (在下列例子中,我將pppoe連線命名為ppp0,刻意設定為需要時才手動進行撥接,
: 網卡的裝置名稱為對外enp1s0f0, 對內enp1s0f1)

安裝模組
  1. dnf install NetworkManager-ppp -y
  2. dnf install ppp -y
複製代碼
下載re-pppoe rpm
載點

安裝rpm
  1. rpm -ivh rp-pppoe-3.14-7.el8.lux.x86_64.rpm
複製代碼





# nmcli connection edit type pppoe con-name "ppp0"
: ===| nmcli 互動式連線編輯程式 |===
: 新增一項「pppoe」連線
: 輸入「help」或是「?」以取得可用指令。
: 鍵入“print”以顯示所有連接屬性。
: 輸入「describe [<setting>.<prop>]」以取得詳細的內容描述。
: 您可編輯以下設定:connection, pppoe, 802-3-ethernet (ethernet), ppp, 802-1x,
: ethtool, match, ipv4, ipv6, tc, proxy
nmcli> set connection.autoconnect yes
nmcli> set connection.interface-name ppp0
nmcli> set pppoe.parent enp1s0f0
nmcli> set pppoe.username (您的帳號名稱)
nmcli> set pppoe.password (您的連線密碼)
nmcli> save persistent
: 雖說可以成功撥接連線,但還是開機後有時候撥接會出狀況,還要重開一次
# nmcli connection up ppp0

架設 NAT 需要有兩個網路孔,一個負責 WAN,一個負責 LAN,先修改網卡的 zone 分別為   External (WAN) 跟 Internal (LAN),我的 enp1s0f0 ppp0負責 WAN,enp1s0f1 負責 LAN。

  1. nmcli c mod enp1s0f1 connection.zone internal
  2. nmcli c mod enp1s0f0 connection.zone external
  3. firewall-cmd --zone=external --change-interface=ppp0 --permanent
複製代碼




然後確認一下有沒有成功
  1. firewall-cmd --get-active-zone
複製代碼

WAN 設定 IP masquerad是 IP 偽裝。

  1. firewall-cmd --zone=external --add-masquerade --permanent
  2. firewall-cmd --zone=internal --add-masquerade --permanent
  3. firewall-cmd --reload
複製代碼



檢查一下 ip fordwarding 是否啟用,如果啟用的話結果為 1

  1. cat /proc/sys/net/ipv4/ip_forward
複製代碼


通過 WAN 的 port 22/tcp 轉發到 WAN 本身的  port 9487/tcp

  1. firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=9487
  2. firewall-cmd --list-all --zone=external
複製代碼




通過 WAN 的 port 22/tcp 轉發到 192.168.0.31

  1. firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=22:toaddr=192.168.0.31
  2. firewall-cmd --list-all --zone=external
複製代碼



允許封包轉送

  1. firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o ppp0 -j MASQUERADE
  2. firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i enp1s0f1 -o ppp0 -j ACCEPT
  3. firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ppp0 -o enp1s0f1 -m state --state RELATED,ESTABLISHED -j ACCEPT
  4. firewall-cmd --reload
複製代碼


如要刪除規則
  1. firewall-cmd --direct --remove-rule
複製代碼
如要刪除ZONE內偽裝
  1. firewall-cmd --zone=external --remove-masquerade
複製代碼

這時已經能連線但是還是NAT不能正常
請看這兩篇
用IPTABLES
CentOS 8 如何關閉firewalld 並打開iptables
CENTSOS 8-9 PPPoE 在 iptables 中 TCPMSS 網路封包設定問題



參考文章https://www.ptt.cc/bbs/Linux/M.1638160821.A.F86.html
http://www.tshopping.com.tw/thread-264219-1-2.html
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-8






 

臉書網友討論
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-5-10 07:03 , Processed in 0.095213 second(s), 22 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表