欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu上搭建pppoeServer及报文简单分析

程序员文章站 2022-03-06 12:32:27
...

实验系统 :Server:ubuntu  Client:winxp   Software:pppoe

1.apt install pppoe

ubuntu上搭建pppoeServer及报文简单分析

2.nano /etc/ppp/options

ubuntu上搭建pppoeServer及报文简单分析

直接添加 ms-dns 8.8.8.8和+chap或者自己根据需要解除注释都可以,我这里采用的是chap

3.nano /etc/ppp/chap-secrets

修改这个文件 添加拨号所需要的账号密码

ubuntu上搭建pppoeServer及报文简单分析

总共有四个参数可以设置 根据自己需求设置就好

4.pppoe-server-options 此文件不存在话就创建,添加以下内容:

nano /etc/ppp/pppoe-server-options

auth  
require-chap     
logfile /var/log/pppd.log 

5.根据自己网卡ip开启服务

pppoe-server -I ens34 -L 192.168.100.1 -R 192.168.100.19 -N 10

同时配置转发规则

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i ens34 -o ens33 -j ACCEPT
iptables -A FORWARD -i ens33 -o ens34 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE

然后去client上就可以成功拨号且正常上网了

ubuntu上搭建pppoeServer及报文简单分析

ok 我们简单的抓个包分析下获取过程

ubuntu上搭建pppoeServer及报文简单分析

过滤下pppoed我们可以看到下面四个报文

PADI,PADO,PADR,PADS

PADI报文:主机在以太网内广播一个PADI报文,此报文中包含主机想要获得的服务类型。

PADO报文:接入集中器收到在服务范围内的PADI 分组,发送PPPoE有效发现提供包分组, 以响应请求。

PADR报文:主机可能受到多个服务器的PADO报文,主机将依据PADO内容,从多个服务器中选择一个,就向他发回一个请求报文PADR。

PADS报文:服务器产生唯一的会话标识,标识和主机的这段pppoe会话并把此会话标识通过会话确认报文PADS发回给主机。会话标识就是报文里的session-id。

上面就是ppoe的发现阶段接下来就会进入会话阶段。

过滤下pppoes

ubuntu上搭建pppoeServer及报文简单分析

PPP会话的建立,需要两端的设备都发送LCP数据包来配置和测试数据通信链路。用户主机与接入集中器根据在发现阶段所协商的PPP 会话连接参数进行PPP 会话。一旦PPPoE会话开始, PPP数据就可以以任何其他的PPP封装形式发送。

ubuntu上搭建pppoeServer及报文简单分析

chap认证:三次握手, 密文传输口令。认证者向对端发送“challenge”消息。对端将“challenge”消息和一个共享**(通常由密码生成)用经过单向哈希函数计算出来的值做应答。认证者根据它自己计算的哈希值来检查应答,如果值匹配,认证得到承认;否则,连接应该终止。经过一定的随机间隔,认证者发送一个新的 challenge 给端点,重复步骤.

再然后就是ncp协商阶段了,NCP有很多种,如IPCP、BCP、IPv6CP,最为常用的是IPCP(Internet Protocol Control Protocol)协议。

ubuntu上搭建pppoeServer及报文简单分析

 

相关标签: 网络测试工具