linux下pppoe server 的搭建

來源:互聯網
上載者:User
 

rp-pppoe是一個整合了撥號用戶端和服務端的解決方案
:http://www.roaringpenguin.com/products/pppoe

rp-pppoe裡面的pppoe server分使用者模式和核心模式。
使用者模式下以建立一個pppoe進程來為一個新的串連服務;
核心模式下以建立一個pppd進程並帶上參數plugin /etc/ppp/plugins/rp-pppoe.so來接受用戶端的串連

建議選擇核心模式運行pppoe server,這樣一些系統調用不需要在核心和使用者模式之間切換,可以提高速度。

ps -ef
(使用者模式)
root      5093     1  0 09:36 ?        00:00:00 /usr/sbin/pppoe-server -I eth0 -L 10.0.0.1 -R 10.0.0.2 -N 64
root      5101  5093  0 09:38 ?        00:00:00 pppd pty /usr/sbin/pppoe -n -I eth0 -e 1:00:1d:60:45:d9:d4 -S '' file /etc/ppp/pppoe-server-options 10.0.0.1:10.0.0.2 nodetach noaccomp nobsdcomp nodeflate nopcomp novj novjccomp default-asyncmap
nobody    5103  5101  0 09:38 ?        00:00:00 /usr/sbin/pppoe -n -I eth0 -e 1:00:1d:60:45:d9:d4 -S

(核心模式)
root      7541     1  0 09:46 ?        00:00:00 /usr/sbin/pppoe-server -I eth0 -L 10.0.0.1 -R 10.0.0.2 -N 64 -k
root      7572  7541  0 09:48 ?        00:00:00 pppd plugin /etc/ppp/plugins/rp-pppoe.so nic-eth0 rp_pppoe_sess 2:00:1d:60:45:d9:d4 rp_pppoe_service  file /etc/ppp/pppoe-server-options 10.0.0.1:10.0.0.3 nodetach noaccomp nobsdcomp nodeflate nopcomp novj novjccomp default-asyncmap

 

下載、編譯、安裝的步驟:
(使用者模式)
rp-pppoe-3.10.tar.gz 在 /opt 目錄下。

tar -zxvf rp-pppoe-3.10.tar.gz
cd rp-pppoe-3.10/src
./configure
make
make install

(核心模式)
下載pppd,pppd是一個pppoe撥號用戶端,地址:ftp://ftp.samba.org/pub/ppp/
ppp-2.4.5.tar.gz 、rp-pppoe-3.10.tar.gz 在 /opt 目錄下。

tar -zxvf ppp-2.4.5.tar.gz
cd ppp-2.4.5
./configure
make
make install
cd /opt
tar -zxvf rp-pppoe-3.10.tar.gz
cd rp-pppoe-3.10/src
./configure --enable-plugin=/opt/ppp-2.4.5
make
make install

修改設定檔:
cd /etc/ppp
vim pppoe.conf
修改下面幾個值,其他的不要動
ETH=eth0
USER=rp-pppoe
LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so

vim pppoe-server-options
下面是全部內容
require-chap
login
lcp-echo-interval 10
lcp-echo-failure 2

vim chap-secrets
rp-pppoe  *  rp-pppoe  *

vim options
local

運行程式:
(使用者模式)
/usr/sbin/pppoe-server -I eth0 -L 10.0.0.1 -R 10.0.0.2 -N 64

(核心模式)
/usr/sbin/pppoe-server -I eth0 -L 10.0.0.1 -R 10.0.0.2 -N 64 -k

-I 指定區域網路網卡
-L 指定pppoe server的IP地址
-R 為客戶分配的起始IP地址
-N 指定分配給客服端IP地址的個數
-k 使用核心模式

現在就可以用pppoe用戶端來串連我們已經啟動並執行pppoe server了,使用者名稱和密碼為上面設定的
rp-pppoe和rp-pppoe,認證方式為CHAP
但是用戶端串連上去後不能上網,因為伺服器那邊沒有進行資料包的轉寄。
虛擬機器添加了2塊網卡,eth0和eth1,eth0是靜態IP,eth1為DHCP方式擷取IP。

需要修改下配置指令碼

cd /etc/sysconfig/network-scripts
vim ifcfg-eth0

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=lan
IPADDR=192.168.61.120
NETMASK=255.255.255.0
GATEWAY=192.168.61.1
DNS1=61.139.2.69
DNS2=192.168.61.1
HWADDR=00:0c:29:6b:71:d6
ONBOOT=yes
BOOTPROTO=static
USERCTL=no
IPV6INIT=yes
NM_CONTROLLED=yes
TYPE=Ethernet

vim ifcfg-eth1

TYPE="Ethernet"
HWADDR=00:0C:29:6B:71:E0
BOOTPROTO=dhcp
DEVICE=wan
ONBOOT=yes

開啟資料包轉寄

echo "1">>/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

好了,現在用戶端這邊就可以上網了。

下面是 etherPeek 抓包的,pppoe發現階段已經省去,只是TCP3次握手和4次揮手的抓包。
10.0.0.10是pppoe用戶端的IP,192.168.61.206是linux下eth1的IP,每次區域網路網關收到eth0上的資料,然後把源IP改成eth1的IP,目的IP不變,
廣域網路網卡收到遠端伺服器返回的資料,就把目的IP修改成內網主機pppoe的IP。

TCP3次握手

 

4次揮手

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.