本地环境
环境说明实验拓扑环境说明 环境搭建对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 http://www.roaringpenguin.com/files/download/rp-pppoe-3.15.tar.gz sudo 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-request lcp-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: GPL require-chap//采用chap方式进行认证 auth #login//如果启用login,那么要通过PPPoE认证的用户名需要和虚拟机中的一个用户名相同才能验证成功,否则会出现734错误 lcp-echo-interval 10 lcp-echo-failure 2 ms-dns 114.114.114.114添加测试用的账户
sudo gedit /etc/ppp/chap-secrets
---------------/etc/ppp/chap-secrets------------------ # Secrets for authentication using CHAP # client server secret IP addresses name * "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 Serversudo 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服务器的搭建和本地验证。



