一、前言
PPPoE 是一款運行在以太網之上的點到點協議。
PPPoE 可用於在以太網上的兩個節點之間建立一條點到點的隧道。
PPPoE 目前常用於以太網的接入控制,比如寬帶連接。
本文將介紹如何在 CentOS 7 系統上搭建 PPPoE 服務器。
二、網絡拓撲圖及說明
如圖,某園區需要在其出口網關上部署 PPPoE 服務器來確保只有授權的用戶才能訪問外網。
為了確保密碼不被嗅探,PPPoE 服務器將使用 CHAP 作為認證協議。
網關側 PPPoE 接口使用的 IP 地址固定為 192.168.1.1
;用戶側 PPPoE 接口將被隨機分配一個 192.168.1.0/24
網段中未被使用的地址。
園區內網主機使用 NAT 連接外網。
園區的出口網關使用 CentOS 7.5.1804 系統。
PPPoE 服務器搭建完成后,選擇內網中的一台主機使用以下認證信息來測試連接:
用戶名 | 密碼 |
test | 123456 |
三、配置步驟
3.1 安裝所需軟件
yum -y install rp-pppoe
3.2 修改配置文件
vim /etc/ppp/pppoe-server-options
require-chap auth logfile /var/log/ppp/pppoe-server.log ms-dns 8.8.8.8 ms-dns 8.8.4.4
vim /etc/ppp/pppoe-server-env
INT=eth1 LOCAL=192.168.1.1 START=192.168.1.2 NUMBER=253
3.3 添加 PPPoE 用戶
vim /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
"test1" * "123456" *
3.3 創建服務文件
vim /etc/systemd/system/pppoe-server.service
[Unit] Description=PPPoE Server. After=syslog.target [Service] Type=forking EnvironmentFile=/etc/ppp/pppoe-server-env ExecStart=/sbin/pppoe-server -I $INT -L $LOCAL -R $START -N $NUMBER [Install] WantedBy=multi-user.target
3.4 開啟 NAT 功能(基於 iptables)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
3.5 開啟 IPv4 地址轉發功能
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \ sysctl -p
3.6 開啟 PPPoE 服務器
systemctl start pppoe-server
systemctl enable pppoe-server