Ubuntu虚拟机上搭建PPPoE服务器并进行本地验证
本地环境环境说明实验拓扑环境说明环境搭建对PPPoE服务器进行配置并验证全局配置关于PPPoE Server的配置添加测试用的账户启用forward状态启用PPPoE Server设置iptables并验证本地环境
环境说明
在Ubuntu 14.04 LTS 系统上搭建 PPPoE 服务器,另外使用两台win7虚拟机作为客户机,从而完成本地认证。
实验拓扑
环境说明
Ubuntu虚拟机和物理主机之间采用桥接方式连接,此处桥接在物理主机的WiFi网卡(你用哪张网卡上网就桥接在哪张网卡上面)。
Ubuntu虚拟机和两个win7之间通过新增网络适配器,选择LAN区段进行连接,这样的好处是在没有进行PPPoE认证之前,win7客户机不会有IP地址,方便PPPoE服务器对其分配IP。
环境搭建
安装PPPoE server软件
(1).检查安装ppp
首先要检查安装ppp软件,因为PPPoE需要封装在ppp帧中,不过大部分情况下虚拟机都带有ppp,留意系统提示。
sudo apt-get install ppp
(2).安装rp-pppoe
wget -c /files/download/rp-pppoe-3.15.tar.gzsudo tar zxvf rp-pppoe-3.15.tar.gz -C /opt/sudo chown -R root:root /opt/rp-pppoe-3.15/
如果不能再虚拟机中直接进行下载,可以在物理主机中下载后拖入虚拟机中,双击压缩包后将文件夹拖入opt文件夹中,这也是上面代码的意义。
(3). 安装软件开发函数库
sudo apt-get install libc6-dev
(4). 生成所需的PPPoE程序
sudo /opt/rp-pppoe-3.15/go
过程中保持默认,防火墙会有0-2的选项,选择0:不需要。
对PPPoE服务器进行配置并验证
全局配置
首先我们需要对ppp进行全局配置
sudo gedit /etc/ppp/options
------------------/etc/ppp/options-----------------------------ms-dns 114.114.114.114 //这是三家运营商都支持的一个公用DNS服务器asyncmap//异步字符映射auth//需要进行认证crtscts//使用硬件流量控制local//不使用调制解调器控制线。lock //启用UUCP样式的文件锁定hide-password //记录PAP报文内容时不展示密码modem #使用调制解调器控制线-pap //禁用PAP认证方式+chap//启用CHAP认证方式proxyarp //启用代理ARP协议lcp-echo-interval 30//每30秒发送一个LCP echo-requestlcp-echo-failure 4//4次发送request后都没收到reply,则断开连接noipx //禁用ipxcp和ipx协议
ppp只是对PPPoE进行封装,所以PPPoE的具体细节要在下面的一个文件中配置。
关于PPPoE Server的配置
sudo gedit /etc/ppp/pppoe-server-options
----------------------/etc/ppp/pppoe-server-options-------------------# PPP options for the PPPoE server# LIC: GPLrequire-chap//采用chap方式进行认证auth#login//如果启用login,那么要通过PPPoE认证的用户名需要和虚拟机中的一个用户名相同才能验证成功,否则会出现734错误lcp-echo-interval 10lcp-echo-failure 2ms-dns 114.114.114.114
添加测试用的账户
sudo gedit /etc/ppp/chap-secrets
---------------/etc/ppp/chap-secrets------------------# Secrets for authentication using CHAP# client serversecretIP addressesname *"passwd" *test * "123456" *# 最后的* 不能少,代表可用任意ip连接至任一服务器
启用forward状态
cd ..//回到主目录sudo echo "1">/proc/sys/net/ipv4/ip_forward
或者修改文件,使其永久生效:
gedit /etc/sysctl.conf
---------------/etc/sysctl.conf------------------# net.ipv4.ip_forward = 1//把前面的#删去,启用转发功能
退出文件,输入sysctl -p
使配置生效。
启用PPPoE Server
sudo pppoe-server -I eth1 -L 192.168.11.233 -R 192.168.11.5 -N 20
其中eth1表示开启PPPoE服务的网卡,192.168.11.233代表PPPoE服务器的IP地址,此地址可以任意,-R后面的地址为地址池的起始地址,-N后写地址池中含有地址的数目,默认为64,最大为65534。
设置iptables并验证
sudo iptables -A POSTROUTING -t nat -s 192.168.11.0/24 -j MASQUERADE
开启NAT转发策略,注意要和PPPoE服务器的地址池相匹配。
接下来就可以在win7上进行宽带拨号,连接PPPoE服务器,并且可以上网,至此完成PPPoE服务器的搭建和本地验证。
如果觉得《Ubuntu虚拟机上搭建PPPoE服务器并进行本地验证》对你有帮助,请点赞、收藏,并留下你的观点哦!