在 CentOS 7 上搭建 PPPoE 服务器


一、前言

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM