PPPoE官网:https://www.roaringpenguin.com/products/pppoe
源码下载地址:https://dianne.skoll.ca/projects/rp-pppoe/
Ubuntu 启动PPPoE服务:
解压后源码
-
编译Ubuntu下的PPPoE 在源码路径下进入src 执行configure 进行配置生产Makefile :./configure --prefix=/home/imax-6ull/pppoe/arm_install/ --host=/home/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf
? ? make? ?make install 后生产文件如下:此时PC板的PPPoE完成
? ? ?
-
在Ubuntu上启动PPPoE服务配置:?/etc/ppp/ 下配置如下文件
? ? ??chap-secrets? ?pppoe-server-options? ?options? ?pap-secrets? ??pppoe.conf? ?配置文件
??
(1)pppoe-server-options? ? ? ? /etc/ppp/pppoe-server-options和/etc/ppp/options,配置无论写在哪个文件中,都能够起到作用。
# PPP options for the PPPoE server
# LIC: GPL
require-chap
auth
#login
lcp-echo-interval 10
lcp-echo-failure 2
ms-dns 219.141.140.10
(2)chap-secrets? ? 存放用户名和密码
# Secrets for authentication using CHAP
# client server secret IP addresses
"test" * "123456" *
3. 配置完PPPoE后启动服务
echo 1 > /proc/sys/net/ipv4/ip_forward # 配置转发规则
sysctl -p # 使配置立即生效
./pppoe-server -I eth0 -L 192.168.5.1 -R 192.168.5.110 -N 20 # 启动PPPoE服务
-I eth0:指定网卡
-L 192.168.5.1:虚拟网关,即使PPPoE服务点虚拟网关IP
-R 192.168.5.110:分配的虚拟IP起始地址
-N 20:规定最大连接格式
4?查看pppoe启动服务:ps -aux | grep "pppoe"
ARM板端连接服务:
-
交叉编译?rp-pppoe-3.14.tar.gz 成功后把编译完的sbin目录下的文件全部拷贝到目标板的 /usr/sbin 目录下这样在任何路径下执行 pppoe-connect 等相关的命令即可执行 -
开始交叉编译完生成的内容为 prefix 是交叉编译指定的路径:prefix=/home/opensource/pppoe/arm-install? 此处放到ARM板的 /usr/sbin路径下需要修改如下 -
把?rp-pppoe-3.14 源码路径下的configs 目录拷贝到 目标板 /etc/ppp/ 下这些文件是PPPoE的一些配置文件包含PPPoE拨号相关的用户名和密码等
4.交叉编译完后的pppoe生成的pppoe-connect pppoe-setup文件中的路径 prefix需要改为ARM板中的路径,也就是/usr/sbin 不然会一直执行不成功
?
?
5.?ARM板启动拨号相关内容: 拨号成功,分配的IP 192.168.5.111?
[root@cc4418 ~]# pppoe-connect
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
Warning - secret file /etc/ppp/pap-secrets has world and/or group access
CHAP authentication succeeded: Access granted
CHAP authentication succeeded
local IP address 192.168.5.111
remote IP address 192.168.5.1
primary DNS address 192.168.10.1
secondary DNS address 219.141.140.10
或者使用 pppoe-start 启动:
[root@cc4418 opt]# pppoe-start
. Connected!
[root@cc4418 opt]# pppoe-stop
Killing pppd (10624)
Killing pppoe-connect (10604)
[root@cc4418 opt]# pppoe-start
. Connected!
[root@cc4418 opt]# pppoe-stop
Killing pppd (10693)
Killing pppoe-connect (10673)
[root@cc4418 opt]#
客户端成功连接后在Ubuntu上查看
root@ubuntu:/home/opensource/pppoe/pppoe-test/pc-install/sbin# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:dc:39:90
inet addr:192.168.5.116 Bcast:192.168.5.255 Mask:255.255.255.0
inet6 addr: fe80::d654:5782:4207:3b71/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7130 errors:0 dropped:8 overruns:0 frame:0
TX packets:2055 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:667032 (667.0 KB) TX bytes:174025 (174.0 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:71828 errors:0 dropped:0 overruns:0 frame:0
TX packets:71828 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5323056 (5.3 MB) TX bytes:5323056 (5.3 MB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.5.1 P-t-P:192.168.5.110 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:91 (91.0 B) TX bytes:100 (100.0 B)
修改pppoe连接的用户名和密码:
Ubuntu下修改文件:/etc/ppp/chap-secrets 里面指定连接的用户名和密码
在ARM板中的 /etc/ppp/chap-secrets 里面也需要同步 修改指定连接的用户名和密码
因为在服务端配置的文件 : /etc/ppp/options 文件中配置的是 +chap -pap 如下:所以只支持chap-secrets 文件中的密码
ms-dns 192.168.10.1
asyncmap 0
noauth
crtscts
local
lock
hide-password
modem
-pap
+chap
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx
参考:
Ubuntu配置pppoe服务:https://blog.csdn.net/rheostat/article/details/8069778?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control
Ubuntu 12.04上PPPoe服务的搭建和使用 (绝对能用,请仔细阅读) 仔细阅读:Ubuntu与ARM板间使用:
https://blog.csdn.net/macrohasdefined/article/details/36174989?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.control
Ubuntu 本地搭建pppoe服务器:
https://blog.csdn.net/wynter_/article/details/52680090
linux上搭建pppoe服务器(局域网) 仔细阅读:
https://blog.csdn.net/flw521521/article/details/84017105?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-2.control
搭建PPPoe Server:
https://my.oschina.net/cloes/blog/2252064
嵌入式linux实现pppoe拨号上网: https://blog.51cto.com/linuxcgi/1965326
嵌入式Linux 中配置pppoe: https://blog.51cto.com/linuxcgi/1965326
http://m.blog.chinaunix.net/uid-30512847-id-5615800.html
配置相关:
./pppoe-server -I eth0 -L 192.168.5.1 -R 192.168.5.110 -N 20
cat /proc/sys/net/ipv4/ip_forward
sysctl -p
重要参数设置3、 启用forward:
$sudo -i
#echo "1"> /proc/sys/net/ipv4/ip_forward
注意: 这条命令一定要用root身份执行,sudo都没用,否则会提示权限不够。
如果不启用forward, client即使拿到IP, traffic也不能出去,只能到server而已。
或者这样改
修改/etc/sysctl.conf文件:net.ipv4.ip_forward = 1 启用转发功能
执行如下命令,让配置即时生效
#sysctl -p
三.配置
1)rp-pppoe-3.10/configs目录下是rp-pppoe所需的配置文件,把这些文件全部复制到目标机的/etc/ppp目录下(没有就自己建一个)。
2)拨号相关的脚本程序共有6个,在rp-pppoe-3.10/scripts中。
pppoe-setup:配置程序,把输入的帐号密码等信息存入配置文件。
pppoe-start:拨号程序,连接网络。
pppoe-stop:断开。
pppoe-status:查看连接状态。
pppoe-connect:连接网络,被pppoe-start所调用。
pppoe-init:初始化,被其他程序调用。
把这些脚本也放到/usr/sbin目录下。
|