`
fp_moon
  • 浏览: 971091 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Ubuntu上架设PPPoE Server--转

阅读更多

 

一。安裝 PPPoE Server Software

1)sudo apt-get install ppp
2)rp-pppoe(非apt套件)
wget -c http://www.roaringpenguin.com/files/download/rp-pppoe-3.10.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
 
二。配置:
allan@allan-desktop:~#sudo vim /etc/ppp/options
#######
ms-dns 4.2.2.2
ms-dns 172.25.5.1
-pap
+chap
.......
#######
具体的不详述,根据文件的描述加上自己的sense配就是。
 
三。添加用户:
allan@allan-desktop:~#sudo vim /etc/ppp/chap-secrets
##############################
# Secrets for authentication using CHAP
# client server secret   IP addresses
ting  *         "tingwang"       *    
##############################
 
四。启用forward:
root@allan-desktop:~# echo "1">/proc/sys/net/ipv4/ip_forward
Note: 这条命令一定要用root身份执行,sudo都没用,否则会提示Operation not permitted。
         如果不启用forward, client即使拿到IP, traffic也不能出去,只能到server而已。
 
Ubuntu root登陆技巧:只要用sudo passwd root给root设置密码,就可以以root身份登陆了。
 
五。启动PPPoE Server:
allan@allan-desktop:~# sudo pppoe-server -I eth1 -L 172.25.27.125 -R 172.25.27.181 -N 10
 
六。测试
在xp上破号,用户名ting, 密码tingwang. 拿到181的IP,并能上网。 Oh, yeah!



1、检查系统是否已安装PPPOE服务器
rpm -q rp-pppoe
如果未安装,可以到 www.roaringpenguin.com/pppoe/ 下载

2、配置系统以支持IP转发
修改/etc/sysctl.conf文件:net.ipv4.ip_forward = 1

3、修改PPPOE身份验证方式
修改/etc/ppp/pppoe-server-options,全部内容如下:
require-chap #使用chap验证协议,如果使用pap验证协议,则此行为 require-pap
login
lcp-echo-interval 10
lcp-echo-failure 2
ms-dns 202.96.134.133 #分配给客户端的DNS
ms-dns 202.96.128.68

4、添加身份验证账户
修改/etc/ppp/chap-secrets,添加账户 #如果使用pap验证,则修改/etc/ppp/pap-secrets
username * password *

5、启动pppoe服务器
pppoe-server -I eth0 -L 192.168.0.1 -R 192.168.0.5 -N 10
-I eth0 指定pppoe服务器在那个网卡接口监听连接请求
-L 192.168.0.1 指定pppoe服务器的ip地址。(注意:此IP地址不是网卡的IP地址,而是PPPOE服务器的虚拟IP)
-R 192.168.0.5 pppoe服务器分配给客户端的IP地址,从192.168.0.5开始,递增
-N 10 指定最多可以连接pppoe服务器的客户端数量

6、关闭PPPOE服务器
killall pppoe-server

备注:
1、如果使用pap验证方式,windowsxp以上系统自带的pppoe拨号,无法拨通。可能原因是pap使用明文密码验证,而windows保存的密码是加密的,而且是不可恢复的加密,所以windows无法提供密码明文。

2、/etc/ppp/pppoe-server-options和/etc/ppp/options,配置无论写在哪个文件中,都能够起到作用

编译安装

这篇文章是根据网上的文章作为参考,在根据自己的实验而得出的。

软件:pppoe-3.8.tar.gz

       Ppp-2.4.2.tar.gz2.4.3的版本以上与syslog冲突)(ppp.samba.org)

这只是做内部测试,并未提供使用,正式提供使用的话,必须要使用iptalbes开放pppoe

echo “1”>/proc/sys/net/ipv4/ip_forward

二、建立PPP服务器

在建立拨号服务器之前,应确保你在内核中打开了IP转发功能:

编译PPP服务器很容易,就是按以下几步就可以了:

tar xzvf Ppp-2.4.2.tar.gz

cd ppp-2.4.2

./configure(默认会在/usr/sbin

(如果你要修改执行文件的路径,还有配置文件的路径,就修改Makefiles.要想执行文件找到你指定配置文件的路径,必须要改源代码,在pppd的安装目录下,进入pppd目录,找到pathnames.h这个头文件,找到#define _PATH_* 修改后面的路径就行了)

Make

Make install

修改pppd的访问权限,允许由root启动服务进程

chmod u+s /usr/sbin/pppd

三、建立PPPOE服务器

cd /rp-pppoe-3.8/src

./configure

make

make install

启动PPPOE进程:

pppoe-server -I eth0 –L 10.0.0.1 –R 10.0.0.2 –N 64 -u

-L: 指定PPPOE服务器的IP地址

-R 指定PPPOE拨入服务器分配给客户端的IP地址段

-N 允许客户端同时拨入的数量(默认是64 最大是65534

-I: 监听的接口

修改/etc/ppp/options,查看有没有以下几行,没有就加进去:

linkname smooth

noauth

privgroup nobody

local

require-chap

login

auth

defaultroute

hide-password

ipcp-accept-local

ipcp-accept-remote

192.168.0.5:192.168.0.255

netmask 255.255.255.0

ms-dns 192.168.0.1

logfile /var/log/pppoe.log

修改/etc/ppp/pppoe-server-options,将所有的行都注释掉

添加用户到/etc/ppp/chap-secrets,例如添加用户luo,密码为123456,允许从任何位置拨入:

#client server secret ip addresses

luo * “123456” *

/etc/ppp/下有个ip-up的脚本,它的作用是每次客户端拨号成功它就执行这个脚本,大家可以自定义这个脚本做出你想要的功能。

还有个ip-down,这个没试过,我想应该是断开执行的脚本吧!

设置windows的用户名:luo 密码: 123456,如果连接成功就可以进行下一步
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics