本文原文发布在我的blog: www.breezemind.com 上
http://www.breezemind.com/index.php/2009/03/uclinux-pppoe/
一、设置内核的PPP支持
选择自定义内核下面的:
Network device support —>
[*] PPP (point-to-point protocol) support
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
二、编译应用程序
修改Makefile的内容:
修改编译选项如下:
PPP_DEFS += -D_linux_=1 -DNO_DRAND48 -DHAVE_PATHS_H -DXDEBUGALL -DPLUGIN
CFLAGS += $(PPP_DEFS) $(PPP_EXINCS) –DCHAPMS
启用MPPE,即加入以下语句:
MPPE=y
修改pathnames.h 的内容。
将 _PATH_CHAPFILE 的定义修改为你的CHAP文件存放的地方。如”/etc/chap-secrets”
开始make
在编译的过程中会提示找不到DES 相关的函数,解决方法如下:
在
Library Configuration
-> [*] Build libDES
make lib_only
后即可生成 libdes。
继续make 即可
进入 rp-pppoe 目录编译生成 pppoe 程序
三、建立认证文件、运行
建立 /etc /chap-secrets 文件,内容如下:
# Secrets for authentication using CHAP
# client server secret IP addresses
“username” * “password” *
其中username和 password q请根据实际的账号和密码进行修改。
运行:
pppd pty ‘/bin/pppoe -I eth0 -T 80 -U -m 1412′ noipdefault noauth default-asyncmap defaultroute hide-password nodetach usepeerdns mtu 1492 mru 1492 noaccomp nopcomp novj novjccomp user username lcp-echo-interval 20 lcp-echo-failure 3 &