硬件要求:两台装有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 |