一。安裝 PPPoE Server Software
1)sudo apt-get install ppp
2)rp-pppoe(非apt套件)
wget -c http://easylinux.info/uploads/rp-pppoe-3.6.tar.gz
sudo tar zxvf rp-pppoe-3.6.tar.gz -C /opt/
sudo chown -R root:root /opt/rp-pppoe-3.6/
3) 安裝軟體開發函示庫:
sudo apt-get install libc6-dev
4) 產生需要的pppoe server程式
sudo /opt/rp-pppoe-3.6/go 二。配置:
sudo gedit /etc/ppp/options就是開啟/etc/ppp/options中下面的幾個功能(去掉前面的#就可以了)
ms-dns 172.16.100.2 ms-dns 172.16.100.4 (這兩個是設定 主DNS 和 附DNS 的)-pap (這個是禁用pap認證方式的)
+chap (這個是啟用chap認證方式的)
具體的不詳述,根據檔案的描述加上自己的sense配就是。 三。添加使用者:
sudo gedit /etc/ppp/chap-secrets就是編輯使用者名稱和密碼的如下。############################### Secrets for authentication using CHAP
# client server secret IP addresses
name * "passwd" * ############################## 四。啟用forward:echo "1">/proc/sys/net/ipv4/ip_forward注意: 這條命令一定要用root身份執行,sudo都沒用,否則會提示許可權不夠。 如果不啟用forward, client即使拿到IP, traffic也不能出去,只能到server而已。
或者這樣改
修改/etc/sysctl.conf檔案:net.ipv4.ip_forward = 1 啟用轉寄功能
執行如下命令,讓配置即時生效
[root@localhost root]# sysctl -p
Ubuntu是預設無法直接使用root的, 如果root沒有設定過密碼,只要用sudo passwd root給root設定密碼,就可以以root身份登陸了。 五。啟動PPPoE Server:sudo pppoe-server -I eth0 -L 192.168.5.1 -R 192.168.5.5 -N 10意思就是,獲得pppoe地址資訊如下-I eth0 指定pppoe伺服器在那個網卡介面監聽串連請求
-L 192.168.5.1 指定pppoe伺服器的ip地址。(注意:此IP地址不是網卡的IP地址,而是PPPOE伺服器的虛擬IP)(此地址可以任意)
-R 192.168.5.5 pppoe伺服器分配給用戶端的IP地址,從192.168.5.5開始,遞增
-N 10 指定最多可以串連pppoe伺服器的用戶端數量(預設是64 最大是65534)
-C: 用於指定您的PPPoE伺服器主機名稱(此參數可以不要)
-S: 該選項用於標記特定的伺服器,以協助用戶端系統對pppoe伺服器進行自我標定。-S選項經常用來保證一些特定客戶始終串連到特定伺服器,特別是當你的網路上有多個pppoe伺服器時。 PPPoE協議的用戶端軟體可被配置為只登陸有"特殊服務名稱"的pppoe伺服器。如果用戶端指定的伺服器名稱與-S選項服務名稱中宣稱的名字相符,就會串連到該伺服器。
-T: 逾時時間(設定為60秒)
六。關閉PPPOE伺服器killall pppoe-server 七。備忘1、如果使用pap驗證方式,windowsxp以上系統內建的pppoe撥號,無法撥通。可能原因是pap使用純文字密碼驗證,而windows儲存的密碼是加密的,而且是不可恢複的加密,所以windows無法提供密碼明文。2、/etc/ppp/pppoe-server-options和/etc/ppp/options,配置無論寫在哪個檔案中,都能夠起到作用 八。測試在xp上破號,使用者名稱name, 密碼passwd. 拿到192.168.5.6的IP , Oh, yeah! 九、但是xp連上pppoe以後不能上網,原來缺少了關鍵的一步,記得設定filter 和 postrouting使用iptables規則iptables -A INPUT -i eth0 -s 192.168.5.0/24 -j DROPiptables -t nat -A POSTROUTING -s 192.168.5.0/24 -j SNAT --to-source 172.16.108.84OK,經過測試 重建立立pppoe 串連。可以上網了
特此說明:
1. 執行ifconfig時可以看到eth0的ipv4地址的,我的那個地址就是172.16.108.84
另外注意了吧,我設定的pppoe的位址集區是192.168.5.5 ~ 192.168.5.14
2. 所以 iptables 時-s 的參數時 192.168.5.0/24
注意了以上兩點,就可以獲得 pppoe的地址,並且可以上網了。
十 開機自動啟用PPPoE Server
以上是整個配置過程,歸納所有步驟以及關鍵點,
1. 把他們一併寫入/etc/rc.local,實現開機後自啟動PPPoE Server在原有檔案中追加以下命令:
pppoe-server -I eth0 -L 192.168.5.1 -R 192.168.5.5 -N 10
iptables -A INPUT -i eth0 -s 192.168.5.0/24 -j DROPiptables -t nat -A POSTROUTING -s 192.168.5.0/24 -j SNAT --to-source 172.16.108.84重新啟動系統,然後使用ps -A就可以看到pppoe-server已經起來了。哈哈
2. 開啟ip轉寄功能
echo "1">/proc/sys/net/ipv4/ip_forward
或
修改/etc/sysctl.conf