这段时间,包括我自己测试OTT盒子 PPPOE的时候比较痛苦,要不就是在别人的位置上测试,要不就是借用PPPOE的设备,觉得还是自己搭建一个PPPOE真实拨号上网的环境多好!但是坑爹的win7找不到好用的pppoe服务软件,公共机器xp已经搭建好的PPPOE环境没有双网卡也验证不了拨号后网络共享是否OK。最后还是以自己的笔记本(win7)双网卡(无线、有线)的机器上搭建一个环境来做下实验(聪明的你也可以使用任何双网卡的机器搭建哦)。
介绍话不多说,给各位直接介绍。
搭建主要工具:virtualbox 、unbuntu12.04ios
搭建主要软件:rp-ppoe 、iptables
参考文档:
http://blog.chinaunix.net/uid-9525959-id-4008338.html
http://fp-moon.iteye.com/blog/1756466
http://askubuntu.com/questions/161551/how-to-start-stop-iptables-in-ubuntu-12-04
https://help.ubuntu.com/community/IptablesHowTo
安装好Virtualbox虚拟机后,按照提示选择安装ubuntu12.04 64bits版本,由于我们的机器只是要最低程度的验证PPPOE问题,硬盘请尽量选择足够小,我的是8G.
虚拟机最为重要的一步:配置网卡及网络模式!
Rp-pppoe链接: https://github.com/sammaple/rp-pppoe-3.11下载使用(rp-pppoe-3.6版本太低,会有问题,建议直接使用最新版本)
步骤:
1、sudo apt-get installppp
2、解压rp-pppoe
3、sudo chown -Rroot:root /xx/rp-pppoe-3.11-master/
4、sudo apt-get installlibc6-dev
5、sudo /xx/rp-pppoe-3.11-master/go(configure,make, make install一条龙脚本)
ps:最好将go脚本的最后一句注释掉,这个是客户端的配置
注释掉改句 #sh../scripts/pppoe-setup
6、安装完成后可以whereispppoe-server查看安装是否成功。/usr/sbin/pppoe-server
7、配置pap-secrets、pppoe-server-options文件
直接贴出pap-secrets内容:
jhy* jhy *(第一个jhy 是拨号使用的用户名 ,第二jhy是拨号密码)
直接贴出pppoe-server-options内容:
#PPP options for the PPPoE server
#LIC: GPL
require-pap
#login
lcp-echo-interval10
lcp-echo-failure2
ms-dns xx.xx.xx.xx
#这个dns以你实际网络为准
8、启动pppoeserver服务
sudopppoe-server -I eth1 -L 192.168.5.1 -R 192.168.5.5 -N 10
意思就是,获得pppoe地址信息如下
-I eth1 指定pppoe服务器在那个网卡接口监听连接请求(我们在虚拟机中设置的eth1为有线网卡);
-L 192.168.5.1 指定pppoe服务器的ip地址。(注意:此IP地址不是网卡的IP地址,而是PPPOE服务器的虚拟IP)(此地址可以任意);
-R 192.168.5.5 pppoe服务器分配给客户端的IP地址,从192.168.5.5开始,递增;
-N 10 指定最多可以连接pppoe服务器的客户端数量(默认是64 最大是65534);
9、客户端PPPOE拨号
盒子终端与笔记本有线网口网线接好,填入与第7步对应的用户名密码拨号成功。
在虚拟机中使用iptabes进行端口转发规则定义
丢弃在eth1上的pppoe数据
iptables-A INPUT -i eth1 -s 192.168.5.0/24 -j DROP
转发pppoe上的数据到可以联网的eth0无线网卡上:
iptables -t nat -A POSTROUTING -s192.168.5.0/24 -o eth0 -j MASQUERADE
iptables-save 保存路由规则
modprobeip_tables 重启iptables服务(这里需要注意的是ubuntu没有将iptables注册为服务,所以serviceiptables restart stop 等命令使用不了)
打开ip转发功能echo"1">/proc/sys/net/ipv4/ip_forward
甩掉包袱一身轻松