在linux中用rp-pppoe搭建pppoe服務器:
網(wǎng)上有很多關于如何在linux搭建pppoe服務器的教程,自己試著按上面說的配置,總結了一些要點:
1.啟動pppoe服務器的命令如下:
pppoe-server -I eth1 -L 192.168.1.1 -R 192.168.1.2 -N 20
其中-I參數(shù)指定工作網(wǎng)卡接口,-L指定服務器端IP地址,-R參數(shù)指定分配給客戶端的起始IP地址,-N參數(shù)為最大pppoe會話數(shù)(進程數(shù),也是IP數(shù))
2.pppoe-sever會創(chuàng)建一個pppoe子進程,然后由pppoe子進程調用pppd進程進行ppp會話,pppoe子進程創(chuàng)建pppd進程時默認會指定pppd讀取/etc/ppp/pppoe-server-options(可以通過pppoe-server的-O選項另外指定),因此有些教程說要修改/etc/ppp/options文件的相關pppd參數(shù),我覺得參數(shù)應該都加在/etc/ppp/pppoe-server-options中。
3./etc/ppp/pppoe-server-options中不要包含login選項,因為該選項表示用系統(tǒng)密碼數(shù)據(jù)庫中的密碼進行驗證(我覺得就是用linux中的賬戶和密碼來驗證)
4.可以通過在/etc/ppp/pppoe-server-options中指定ms-dns選項指定dns服務器,有關pppd的相關選項可以通過man pppd查詢
5.pap的賬戶和密碼在/etc/ppp/pap-secrets文件中設定,chap的賬戶和密碼在/etc/ppp/chap-secrets中設定
6.默認/etc/ppp/pap-secrets和/etc/ppp/chap-secrets文件只有root用戶可以讀取,可以通過給pppd程序加上setuid權限使其能夠讀寫,命令如下:
chmod u+s /usr/sbin/pppd
7.另發(fā)現(xiàn)pppoe與syslogd服務有沖突,必須關閉syslogd服務后啟用pppoe-server服務,這樣客戶端才能連接成功,網(wǎng)上查與pppd版本有關,2.4.3-2.4.4版本有問題,升級到2.4.5版本后就沒有問題了。