当前位置:   article > 正文

嵌入式平台-Pptpd移植_ppp_mppe.ko

ppp_mppe.ko

Pptpd移植

北京华环-任晓亮,2015.5.4

项目:南非铁路,三层交换,单臂路由

平台:nios2 ,ETR01,cyclconeIII

 

查看内核支持PPPMPPE GRE

说明:PPP是虚拟接口,每一个客户端连接到pptpd,服务器都会建立一个虚拟的物理接口ppp0,与客户端端到端通信

        MPPE是信道通信加密协议

        GRE是服务建立以后隧道是通过这个模块传送数据的

有加载mppe跟gre模块

你可以用lsmod命令查看里面是否有没有以上两个模块。

加载mppe模块:

>modprobe –l|grep mppe

显示:/modules/2.****/kernel/drivers/net/ppp_mppe.ko

接着输入:

>modprobe ppp_mppe

加载gre

> modprobe –l|grep mppe

会提示:……/net/ivp/ip_gre.ko

>modprobe ip_gre

输入lsmod确认是否加载成功。

Gre 跟mppe模块开机情况下不会自动加载,

我们一般选择将这两个模块编译进内核镜像里面,在内核启动时自动加载运行:

1.ppp内核支持

      Make menuconfig


Device DriversàNetworking Support下的所有关于ppp的选项全部编译进内核或者编译成模块加载。

2.pppd移植(busybox里面有这个支持)

   PPTP服务器和客户端都需要pppd。下载ppp-2.4.5.tar.gz,一定要用这个版本。网上很多用2.4.4版本加mppe补丁,但是我用这种方法始终不能让pppd支持mppe2.4.5版本本身就支持mppe

移植过程如下:

tar zxvf ppp-2.4.5.tar.gz

cd ppp-2.4.5

./configure

make CC=mips-linux-gcc

pppd下载到板子上的/usr/sbin

scripts目录下的ponpoff下载到板子上的/usr/sbin

Ponpoff是用于启动和关闭pptp客户端,后面会提到。

3.pptpd移植(busybox里面有这个支持)

tar zxvf pptpd-1.3.4.tar.gz

cd pptpd-1.3.4

./configure CC=mips-linux-gcc --host=mips

make

pptpd下载到板子上的/usr/sbin

pptpctrl下载到板子上的/usr/local/sbin,此目录可能需要创建

sample目录下的chap-secrets下载到板子的/etc/ppp,此目录可能需要创建

vi chap-secrets

写入username pptpd password *,“pptpd”与options.pptpd中的name相同。

sample目录下的options.pptpd下载到板子的/etc/ppp

sample目录下的pptpd.conf下载到板子的/etc

vi pptpd.conf

logwtmp屏蔽,否则不能连接,不知道什么原因。

localipremoteip,localip为建立连接之后服务器的ipremoteip为建立连接后分配给客户端的ip

启动pptp服务器:pptpd

4.调试方法

         编译内核支持syslogd,这是系统日志功能,可以记录一些系统异常,即可以记录pptpd服务启动运行过程中的一些错误,在这个移植过程中,日志给我很大的帮助,这个搞了一周多时间,最后看日志一步一步搞定了

查看是否启动系统日志:

(1).打开pptpd服务的调试开关:

root:/var/log>vi /etc/pptpd.conf

将 #debug这一行的#号注释取消

(2).root:/etc>ps -aux|grep syslogd

  725 root      2112 S   /sbin/syslogd -n

  772 root     2116 S    grep syslogd

(3).查看日志:

root:/var/log>cat messages

Jan  1 00:01:20 nios2syslog.info syslogd started: BusyBox v1.18.4

Jan  2 01:14:29 nios2auth.info login[731]: root login on 'pts/0'

Jan  2 02:28:56 nios2daemon.info pptpd[760]: MGR: Maximum of 100 connections reduced to 51, notenough IP addresses given

Jan  2 02:28:56 nios2daemon.info pptpd[761]: MGR: Manager process started

Jan  2 02:28:56 nios2daemon.info pptpd[761]: MGR: Maximum of 51 connections available

 

5.移植过程中出现的问题

         1.根据日志提示,会找不到pptpd-logwtmp.so库,这个库在编译目录的Plugin/usr/lib/pptpd/pptpd-logwtmp.so,将它复制到系统的/usr/lib/pptpd/,这个库是记录客户端登陆时的一些时间信息,应该是计时计费功能用的,这个库最后还是没正常运行,这个功能我们不用,所有只要屏蔽到计时功能就可以了,在配置文件的29行,33行,注释掉

root:/var/log> vi/etc/pptpd.conf

#noipparam

#logwtmp

         2.档客户端登陆提示691,跟875错误代码时就要查看日志,是不是提示找不ppp0设备接口,这个问题也不知道为什么当客户端连接是不能自动建立ppp0接口,解决办法只能手动建立一个设备节点:

root:/etc>mknod/dev/ppp c 108 0

说明:

root:/dev> ls-al|grep ppp

crw-r--r--    1 root    root      108,   0 Jan 1 00:00 ppp

c是指字符设备

108pptpd服务的主设备号,0是次设备号

查看:主设备文件

root:/proc> catdevices |grep ppp

108 ppp

成功连接后用ifconfig可以看到:

ppp0      Link encap:Point-to-Point Protocol 

          inet addr:192.168.1.181  P-t-P:192.168.100.50  Mask:255.255.255.255

          UP POINTOPOINT RUNNING NOARPMULTICAST  MTU:1396  Metric:1

          RX packets:436 errors:0 dropped:0overruns:0 frame:0

          TX packets:65 errors:0 dropped:0overruns:0 carrier:0

          collisions:0 txqueuelen:3

          RX bytes:39707 (38.7 KiB)  TX bytes:7449 (7.2 KiB)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/188892
推荐阅读
相关标签
  

闽ICP备14008679号