Linux下安装PPPOE SERVER
网关研发部:童小琴、王鑫宇
- 安装准备
- 下载pppoe软件包rp-pppoe-3.8.tar.gz(或rp-pppoe-3.10.tar.gz)。
- 在虚拟机上安装好linux操作系统并且gcc可以正常使用(若不能使用可在软件管理中进行搜索安装)。
- 画好整体拓扑结构图如下:
上图说明:使用LINUX作PPPOE服务器与使用routeros作PPPOE服务器在网络拓扑上是没有区别的,我们本次是使用eth1网卡连接外网(为其设置IP地址、子网掩码、网关:192.168.8.2/255.255.0.0 192.168.8.1),eth0网卡连接内网。
-
- 安装步骤
虚拟机上已经安装好Linux操作系统.(以SUSE11.3为例)
首先要查看原有系统是否已经安装了rp-pppoe。
新建终端输入以下命令:
# rpm –q rp-pppoe
如果已经安装了该软件,将返回:
ro-pppoe-3.5-2
如果返回的是
package repppoe is not installed
则该软件没有安装,就需要重新安装了。
可以有以下两种安装方法(安装pppoeLinux3.8为例):
1.(1)解压:#tar –xzvf rp-pppoe-3.8.tar.gz
(2)进入解压后的文件夹:cd rp-pppoe-3.8
(3)#./go或#./go-gui。./go需要配置、编译、安装和设置DSL连接,而./go-gui是图形用户界面配置。
2.(1)编译:
a.解压:#tar –xzvf rp-pppoe-3.8.tar.gz
b. 进入解压后的文件夹:#cd rp-pppoe-3.8
c.编译:#make
d.安装:#make install(可选)
(2)配置:
a.进入etc/ppp
# cd /etc/ppp
b.编辑 pap-secrets:用vi打开pap-secrets,添加用户名和密码,注意其中server和ip不能为空,用*代替。
格式如下:
# client server secret IP addresses
"tenda" * "123" *
c.编辑pppoe.conf:这个文件包含了DSL连接的配置信息。
ETH=’eth1’
user=’wxy’
DNS1=…
DNS2=…
…按需要进行设置
d.编辑pppoe-server-options:
在/etc/ppp/pppoe-server-options文件中,不出现下列内容:
local
login
auth
如果有出现,就用#注释掉。
(3)开启服务
命令行:
#pppoe-server –I eth1 –L 192.168.8.2 –R 192.168.8.3
具体含义:eth1为提供PPPoE服务的网卡(NAT型和Bridge都可以),-R为本地地址192.168.8.2,-L为远程拨号分配的地址从192.168.8.3开始(默认数量:64)。
要是嫌麻烦的话可以把开启服务的那条命令做成一个脚本,具体如下:
命令:#vi run.sh
内容:
#!/bin/sh
Pppoe-server –I eth1 –L 192.168.8.2 –R 192.168.8.3
保存退出后
增加x权限:#chmod +x run.sh
运行:#./run.sh
打开IP转发功能(可选):
#echo “1”>/proc/sys/net/ipv4/ip_forward
三.测试
1. 用的客户端为windonsXP下系统自带拨号工具,当PPPoE Server服务开启后,在客户端进行拨号,观察拨号进程,拨号成功后,在Windows下用ipconfig查看是否获得指定IP,即192.168.8.3开始的地址段。
在服务器端可用命令:#ps –ef查看pppoe server进程。
2.通过控制路由器进行拨号。路由器以R80为例:
(1)在服务器中设置用户名为:wxy;密码:123。
(2)进路由器WEB界面进行设置,在快速设置或WAN口设置中,选择ADSL(虚拟拨号),填写相应信息。重启路由器后,路由器获得IP,下面电脑可以对服务器进行访问。
3.在Linux系统下进行拨号。以Fedora Linux为例,进入网络服务设置,先择DSL,输入服务器提供的账号和密码即可,多余项可以不填写。
- 抓包分析并及两种验证方式
(1)PPPoe在拨号后,电脑会向网络中发出一个广播包,服务器收到进行应答,并验证。通过验证后,电脑即可与服务器进行通信。
(2) PAP
PPP提供了两种可选的身份认证方法:口令验证协议PAP(Password Authentication Protocol,PAP)和挑战握手认证协议(Challenge Handshake Authentication Protocol,CHAP)。如果双方协商达成一致,也可以不使用任何身份认证方法.
PAP是一个简单的、实用的身份验证协议。
PAP认证进程只在双方的通信链路建立初期进行。如果认证成功,在通过程中不再进行认证。如果认证失败,则直接释放链路。
PAP的弱点是用户的用户名和密码是明文发送的,有可能被协议分析软件捕获而导致安全问题。但是,因为认证只在链路建立初期进行,节省了宝贵的链路带宽。
(3) CHAP
CHAP全称为:Challenge Handshake Authentication Protocol(挑战握手认证协议),主要就是针对PPP的,除了在拨号开始时使用外,还可以在连接建立后的任何时刻使用。
CHAP协议基本过程是认证者先发送一个随机挑战信息给对方,接收方根据此挑战信息和共享的密钥信息,使用单向HASH函数计算出响应值,然后发送给认证者,认证者也进行相同的计算,验证自己的计算结果和接收到的结果是否一致,一致则认证通过,否则认证失败。这种认证方法的优点即在于密钥信息不需要在通信信道中发送,而且每次认证所交换的信息都不一样,可以很有效地避免监听攻击。
CHAP缺点:密钥必须是明文信息进行保存,而且不能防止中间人攻击。
使用CHAP的安全性除了本地密钥的安全性外,网络上的安全性在于挑战信息的长度、随机性和单向HASH算法的可靠性。
至此,PPPoE服务器已经配置成功,能够完成基本要求,进行拨号了。
- 不足之处
1. 对一些配置文件的选项配置还不能深入的理解。
2.对整个拨号的过程理解的还不深入和全面。