PPPoE

来源:互联网 发布:匹诺曹软件下载 编辑:程序博客网 时间:2024/06/03 02:40

RP-PPPoE:Point-to-Point Protocol over Ethernet

1.RP-PPPoE下载

点击跳转rp-pppoe下载地址1
点击跳转rp-pppoe下载地址2
pppd主页
pppd的git地址:https://github.com/paulusmack/ppp.git

2.RP-PPPoE简介

    PPPoE(基于以太网的点对点协议)是一个被许多ADSL互联网服务提供商广泛使用的协议。RP-PPPoE是一个可供Linux和Solaris系统连接PPPoE服务提供商的开源软件。

3.编译安装RP-PPPoE(源码包ReadMe)

1) 解压:    $ tar xzvf rp-pppoe-xxx.tar.gz2) 切换到源码目录:    $ cd src3) 执行配置文件:    $ ./configure4) 编译:    $ make5) 安装     # make install    安装文件,默认安装在/usr,可使用--prefix=/usr/local/更改,比较尴尬的是居然不提供uninstall功能。    /usr/sbin/文件有:        pppconfig                pppdump                   pppoeconf               pppoe-discovery           pppoe-server              pppoe-sniff               pppoe-status              pppstats                pppd                    pppoe                pppoe-connect         pppoe-relay            pppoe-setup:主要用于设置拨号的账号,密码,网卡,DNS等信息            pppoe-start:基于pppoe-setup设置的信息进行拨号(调用pppoe-connect )操作,建议在拨号前进行pppoe-stop操作;        pppoe-stop:断开拨号;/usr/share/doc/rp-pppoe-3.12/usr/share/man/man8/usr/share/man/man5/etc/ppp/ 6) 安装     使用pppoe-setup配置。

4.pppoe服务器安装(Ubuntu)

4.1.配置

修改文件/etc/ppp/options中的以下内容

ms-dns 172.168.10.3-pap+chap

修改文件/etc/ppp/pppoe-server-options中的以下内容

require-chap#auth#login#lcp-echo-interval 10#lcp-echo-failure 2#ms-dns 202.106.0.20 #分配给客户端的DNS#ms-dns 8.8.8.8

注意:options和pppoe-server-options文件都是对server的配置,配置options就可以了,options有的参数就不要在pppoe-server-options中配置了,否则启动了pppoe-server会使客户端连接不上,只需要在pppoe-server-options中配置require-chap,其他的参数屏蔽即可。

4.2.添加用户

修改文件/etc/ppp/chap-secrets中的以下内容

# Secrets for authentication using CHAP# client        server  secret      IP addresses"sugao_pppoe1"   *    "12345678"         *"sugao_pppoe2"   *    "12345678"         *

4.3.配置内核参数

启用forward,开启ip转发(临时修改):

echo "1">/proc/sys/net/ipv4/ip_forward

或者修改/etc/sysctl.conf文件(永久修改),添加

net.ipv4.ip_forward = 1

4.4.启动PPPoE Server

pppoe-server -I eth0 -L 172.168.10.2 -R 182.168.8.2 -N 40-I eth0 指定pppoe服务器在那个网卡接口监听连接请求-L 172.168.10.2指定pppoe服务器的ip地址。(注意:此IP地址是PPPOE服务器的虚拟IP)-R 182.168.8.2 pppoe服务器分配给客户端的IP地址,从182.168.2.1开始,递增-N 40 指定最多可以连接pppoe服务器的客户端数量

5.Ubuntu下使用rp-pppoe进行拨号

5.1.pppoe配置

 pppoe配置,运行pppoe-setup进行设置,设置如下:     Ethernet Interface: enp3s0     User name:          sugao_pppoe0     Activate-on-demand: No     DNS:                Do not adjust     Firewalling:        NONE

5.2.pppoe拨号

运行pppoe-start,显示信息如下:     . Connected!

5.3.查看状态

pppoe拨号成功后存在enp3s0,lo,ppp0三个网络接口。运行pppoe-status,网卡地址显示信息如下:     pppoe-status: Link is up and running on interface ppp0     ppp0  Link encap:点对点协议             inet 地址:192.168.58.201  点对点:192.168.58.200  掩码:255.255.255.255           UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  跃点数:1           接收数据包:58 错误:0 丢弃:0 过载:0 帧数:0           发送数据包:12 错误:0 丢弃:0 过载:0 载波:0           碰撞:0 发送队列长度:3            接收字节:6168 (6.1 KB)  发送字节:278 (278.0 B)

6.pppoe数据传输

通过实验测试:    <1>pppoe客户端和服务器再建立连接后均会生成一个基于物理网卡的虚拟网卡,查看网卡信息可以获取到本地ip和远端ip;    <2>通过形成的虚拟网卡进行通信,所发送的数据就是pppoe数据;    <3>pppoe数据只能在两个端到端之间通信,即使是组播数据也一样如此;

7.pppoe 验证

猜测1:PPPOE与服务器和客户端IP地址无关

验证:服务器IP:192.168.1.20,客户端IP:192.168.12.244,成功拨号原理:[PPPOE交互](http://blog.csdn.net/weixin_35804181/article/details/52242868)可知道交互主要时通过链路层,而非网络层,因此无关。
0 0
原创粉丝点击