一、前言
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