Ubuntu 搭建PPPOE Server

本文详细介绍了如何在Ubuntu系统中搭建PPPOE服务器,包括安装ppp和依赖库,配置pppoe-server,设置认证和路由,以及开启IP转发和NAT转发。此外,还提供了开机启动PPPOE Server的方法和关闭服务的命令,以及验证拨号成功和流量转发的步骤。
摘要由CSDN通过智能技术生成

PPPOE Server环境搭建

安装ppp和依赖库

apt-get install ppp

apt-get install libc6-dev

安装pppoe服务器

直接下载软件源码rp-pppoe-3.8.tar.gz

解压

tar –xvf rp-pppoe-3.8.tar.gz

安装

cd rp-pppoe-3.8/src

./configure

make

make install

修改配置文件

修改/etc/ppp/options

开启以下选项

-pap

+chap

local

ms-dns 202.96.134.111

ms-dns 192.168.16.1

修改/etc/ppp/chap-secrets

#client    server   secret    IP address

test    *      123456     *

备注:用户名为test,服务名为任意,密码为123456,IP地址为任意,如果使用pap验证则修改/etc/pap-secrets内容一样

修改/etc/ppp/pppoe-server-options

增加以下内容

       require-chap

       auth

       lcp-echo-interval 10

       lcp-echo-failure 2

       ms-dns 202.96.134.111

       ms-dns 192.168.16.1

       logfile /var/log/pppd.log

备注

1)如果使用pap验证方式,windowsxp以上系统自带的pppoe拨号,无法拨通。可能原因是pap使用明文密码验证,而windows保存的密码是加密的,而且是不可恢复的加密,所以windows无法提供密码明文。
2/etc/ppp/pppoe-server-options/etc/ppp/options,配置无论写在哪个文件中,都能够起到作用

开启ip_forward

临时开启

echo “1” >/proc/sys/net/ipv4/ip_forward

注意: 这条命令一定要用root身份执行,sudo都没用,否则会提示权限不够。 如果不启用forward, client即使拿到IP, traffic也不能出去,只能到server而已

查看是否生效

#cat /proc/sys/net/ipv4/ip_forward

# 1      表示生效

永久开启

修改/etc/sysctl.conf文件

       net.ip_forward = 1   #启用转发功能

修改之后执行以下命令立即生效

       #sysctl –p

给PPPOE服务器添加默认网关使之能访问外网

#route add default gw 192.168.16.1 dev eth0

增加nat转发pppoe上的数据到外网上

#iptable –t nat –A POSTROUTING –s 192.168.8.0/24 –o eth0 –j MASQUERADE

备注:PPPOE服务器IP为192.168.8.1

启动PPPOE服务器

#pppoe-server –l eth0 –L 192.168.8.1 –R 192.168.8.10 –N 20

备注:

-I eth1 指定pppoe服务器在哪个网卡接口监听连接请求
-L 192.168.8.1 指定pppoe服务器的ip地址。(注意:此IP地址不是网卡的IP地址,而是PPPOE服务器的虚拟IP,和网卡eth1的地址无关,实际网卡eth1没有IP也可以)
-R 192.168.8.10 pppoe服务器分配给客户端的IP地址,从192.168.8.10开始,递增。
-N 20 指定最多可以连接pppoe服务器的客户端数量

PPPOE Server测试

使用带有PPPOE Client的PC或者设备拨号,输入用户名:test密码:123456

测试拨号结果

经验证可以打开百度

浏览器打开百度

在pppoe client所在PC doc命令

tracert www.baidu.com

可以看到路径是先走到192.168.8.1即PPPOE服务器网关,之后再走到路由网关192.168.16.1之后再出去

查看ubuntu是否多出ppp0接口

在ubuntu下使用ifconfig命令可以看到多出ppp0即表示拨号成功

开机启动PPPOE Server

修改/ect/rc.local实现开机自动启动pppoe服务器,同时完成相关配置

route add default gw 192.168.16.1 dev eth0

iptable –t nat –A POSTROUTING –s 192.168.8.0/24 –o eth0 –j MASQUERADE

pppoe-server –l eth0 –L 192.168.8.1 –R 192.168.8.10 –N 20

关闭PPPOE Server方法

       #killall pppoe-server

好的,以下是详细的搭建PPPoE-Server的过程以及配置文件解释: 1. 首先,确保你的Ubuntu系统已经安装了pppoepppoe-server软件包。如果没有安装,可以通过以下命令安装: ``` sudo apt-get update sudo apt-get install pppoe pppoe-server ``` 2. 创建一个pppoe服务器的配置文件,可以在/etc/ppp/pppoe-server-options文件中进行编辑。以下是一个示例配置文件: ``` require-chap require-mschap require-pap refuse-pap refuse-chap refuse-mschap mtu 1492 mru 1492 asyncmap 0 auth crtscts lock hide-password novj novjccomp nologfd plugin /usr/lib/pppd/2.4.7/radius.so plugin /etc/ppp/radiusplugin.conf ``` 解释: - require-chap, require-mschap, require-pap表示只允许使用CHAP、MSCHAP和PAP认证。 - refuse-chap, refuse-mschap, refuse-pap表示禁止使用CHAP、MSCHAP和PAP认证。 - mtu和mru表示最大传输单元和最大重组单元的大小。 - asyncmap 0表示禁用异步映射。 - auth表示启用认证。 - crtscts表示启用硬件流控制。 - lock表示在使用PPP设备时锁定设备。 - hide-password表示在日志中隐藏密码。 - novj和novjcomp表示禁用VJ压缩。 - nologfd表示禁用日志文件。 - plugin /usr/lib/pppd/2.4.7/radius.so表示启用radius插件。 - plugin /etc/ppp/radiusplugin.conf表示radius插件的配置文件路径。 3. 编辑/etc/ppp/chap-secrets文件,添加用户和密码信息: ``` # Secrets for authentication using CHAP # client server secret IP addresses user1 * password1 192.168.1.100 user2 * password2 192.168.1.101 ``` 解释: - user1和user2表示用户名。 - password1和password2表示密码。 - *表示允许任何主机连接到服务器。 - 192.168.1.100和192.168.1.101表示允许连接的客户端IP地址。 4. 编辑/etc/ppp/pap-secrets文件,添加用户和密码信息: ``` # Secrets for authentication using PAP # client server secret IP addresses user1 * password1 192.168.1.100 user2 * password2 192.168.1.101 ``` 解释: - user1和user2表示用户名。 - password1和password2表示密码。 - *表示允许任何主机连接到服务器。 - 192.168.1.100和192.168.1.101表示允许连接的客户端IP地址。 5. 编辑/etc/ppp/ip-up.d/0dns-up文件,添加DNS服务器信息: ``` #!/bin/sh # Update resolv.conf with DNS information from pppoe [ -x /sbin/resolvconf ] || exit 0 case "$5" in pppoe) /sbin/resolvconf -a "${IFACE}.ppp" ;; *) ;; esac exit 0 ``` 解释: - /sbin/resolvconf -a "${IFACE}.ppp"表示添加DNS服务器信息到pppoe接口。 6. 编辑/etc/ppp/pap-secrets文件,添加用户和密码信息: ``` # Secrets for authentication using PAP # client server secret IP addresses user1 * password1 192.168.1.100 user2 * password2 192.168.1.101 ``` 解释: - user1和user2表示用户名。 - password1和password2表示密码。 - *表示允许任何主机连接到服务器。 - 192.168.1.100和192.168.1.101表示允许连接的客户端IP地址。 7. 启动pppoe服务器: ``` sudo pppoe-server -I eth0 -C /etc/ppp/pppoe-server-options -L 192.168.1.1 -R 192.168.1.100-192.168.1.200 ``` 解释: - -I eth0表示pppoe服务器使用的网络接口。 - -C /etc/ppp/pppoe-server-options表示pppoe服务器配置文件路径。 - -L 192.168.1.1表示pppoe服务器IP地址。 - -R 192.168.1.100-192.168.1.200表示pppoe服务器分配的IP地址范围。 8. 如果需要使用Radius认证,可以编辑/etc/ppp/radiusplugin.conf文件,添加Radius服务器信息: ``` # radiusplugin.conf # # This file contains the configuration for the radius plugin # # The format of the file is: # keyword argument1 argument2 ... # # The keyword is the name of the radius attribute to be set. # The arguments are the values of the attribute. # # For a complete list of radius attributes, see the dictionary file # (usually /usr/share/freeradius/dictionary). server = 192.168.1.1 login = user password = password nas-ip-address = 192.168.1.1 nas-port-type = Virtual nas-port = 0 service-type = Framed-User framed-protocol = PPP ``` 解释: - server = 192.168.1.1表示Radius服务器IP地址。 - login = user表示Radius服务器用户名。 - password = password表示Radius服务器密码。 - nas-ip-address = 192.168.1.1表示NAS IP地址。 - nas-port-type = Virtual表示NAS端口类型。 - nas-port = 0表示NAS端口号。 - service-type = Framed-User表示服务类型。 - framed-protocol = PPP表示使用的协议。 至此,PPPoE-Server的安装与配置就完成了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wellnw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值