2009-07-28/15:32
硬件要求:两台装有FreeBSD 4.1的PC,一台用做Server,另一台做Client.
两台PC均配有以太网卡,在本例中采用是ne2000兼容的网卡,
网络接口名为ed0.
基本配置:在Server端和Client端均要进行如下的内核配置:
options NETGRAPH
options NETGRAPH_PPPOE
options NETGRAPH_SOCKET
options NETGRAPH_ETHER
options NETGRAPH_IFACE
pseudo-device tun
还要有相应的以太网卡的驱动,例如:
device ed0 at isa? port 0x300 irq 10 iomem 0xd8000
重新编译内核,然后利用新内核启动。并运行如下命令使以太网接口激活:
ifconfig ed0 up
在服务器端和客户端都要安装PPP软件。
Server端配置:
从如下地址取得补丁文件:
http://www.freesco.org/~jlin/files/PPPoE-Server/patch.txt
执行如下命令为pppoed打上补丁:
# cd /usr/src/libexec/pppoed ;进入pppoed源代码目录
# patch < patch.txt
# make && make install
编写类似如下的ppp.conf文件:
pppoe:
set log phase ipcp lcp debug
allow mode direct
set mru 1492
set mtu 1492
set speed sync
enable lqr
enable proxy
set cd 5
set ifaddr 192.168.1.1 192.168.1.2-192.168.1.12
如果需要身份验证,还要在ppp.conf文件中加入如下一行:
enable pap 或 enable chap
再编写ppp.secret文件,文件格式为:用户名 口令,每一个用户占一行。
然后按如下命令启动pppoed服务器:
/usr/libexec/pppoed -P /var/run/pppoed.pid -p pppoe ed0
最后的ed0要换上你的网卡接口名。如此,Server就ok了。
Client端配置:
编写如下类似的ppp.conf文件:
default:
set device PPPoE:ed0
set speed sync
set mru 1492
set mtu 1492
set ctsrts off
enable lqr
set log phase tun
add default HISADDR
enable dns
pppoe:
set authname USERNAME
set authkey PASSWORD
如果服务器端不要求身份验证,运行命令:ppp -ddial,
如果服务器端要求身份验证,请用服务器端ppp.secret文件中的
用户名和密码代替上面的USERNAME和PASSWORD,然后运行命令:ppp -ddial pppoe
如果一切正常,运行ifconfig命令,请注意tun0设备,两台PC已通过该
网络接口连在一起,有如下提示:
tun0:
192.168.1.1 Point-To-Point 192.168.1.2
如果发生错误,请仔细检查Server和Client的/var/log/ppp.log目志文件,
找出错误原因。
主要参考文章:
How to setup a PPPoE Server on FreeBSD 4.1.1-Release by Jason Lin
FreeBSD on Telstra's Bigpond ADSL Network by Paul Hoadley
Cheaper Broadband with FreeBSD on DSL by Renaud Waldura