LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1119|回复: 2

希望得到证实,PPPOE-SERVER

[复制链接]
发表于 2007-1-3 05:53:20 | 显示全部楼层 |阅读模式
LINUX到底可以做PPPOE-SERVER吗?
我看论坛里有问的,但是没有能处理的,都说能做,都说见过
我也见过了,好几个版本,但是我都没成功

我觉得肯定能做,不然基于LINUX的ROUTEROS怎么成功的

哪位大侠给个说法,如果说实现非常困难且效果不好,我就抓紧放弃想别的方法
遇到的问题同
http://www.linuxsir.cn/bbs/showt ... hlight=pppoe+server
一样,半个多月了,一直不成功
发表于 2007-1-4 09:22:50 | 显示全部楼层
CentOS 4.4+ rp-pppoe + ppp完全不用编译内核,配置成功。

你搜一下我写的关于PPPoe-server的配置文档,有贴过

找了一下,在这儿http://www.linuxsir.cn/bbs/showthread.php?t=284848
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-5 00:59:03 | 显示全部楼层
谢谢
我已经成功了,今天晚上都不想去睡觉,用的debin,用redhat和centos什么也不用配置,直接就可以用,唯一就是不能与radius.so配合

我把debian的全部过程贴出来,其中一些包我没服务器,不好提供,请自己去下载
基本配置,主要是网卡eth0,eth1,其中eth1做WAN口,我这里不做NAT,因此不讲怎么做NAT,下边只附加IPTABLES的代码,LAN做PPPOE接入
以下代码是全过程,但并不限于这个流程,如果更改流程是否可用我不清楚

STEP-0
============
系统必备
# apt-get install make
# apt-get install gcc libc6-dev
# apt-get install gcc libc6
============

STEP-1
============
删除自带的ppp pppoe ......
# apt-get remove ppp pppconfig pppoe pppoeconf
============
STEP-2
============
准备好ppp-2.4.3.tar.gz和rp-pppoe-3.8.tar,把2个包全部放到/root下,待用
#cd /root
# tar xzvf ppp-2.4.3.tar.gz
# cd ppp-2.4.3
# ./configure
# make
# make install
# cd /root
# tar xvf rp-pppoe-3.8.tar
# cd rp-pppoe-3.8/src
# ./configure --prefix=/usr/local --enable-plugin=../../ppp-2.4.3
# make
# make install
# mkdir /etc/ppp/radius
# cp /usr/local/lib/pppd/2.4.3/* /etc/ppp/plugins
# cd /root/ppp-2.4.3/pppd/plugins/radius/etc
# cp * /etc/ppp/radius
# echo "1" > /proc/sys/net/ipv4/ip_forward
============
STEP-3
============
配置文件内容
(3-1)/etc/ppp/options
------------
lock
------------
(3-2需要radius)/etc/ppp/pppoe-server-options
------------
# PPP options for the PPPoE server
# LIC: GPL
require-pap
#require-chap
login
lcp-echo-interval 10
lcp-echo-failure 2
10.240.0.1:10.240.255.254
netmask 255.255.255.255
logfile /var/log/pppd.log
ms-dns 210.77.192.88
ms-dns 218.56.57.58
plugin /etc/ppp/plugins/radius.so
radius-config-file /etc/ppp/radius/radiusclient.conf
------------
(3-3)/etc/ppp/radius/radiusclient.conf
------------
auth_order radius
login_tries 4
login_timeout 60
nologin /etc/nologin
issue /etc/ppp/radius/issue
authserver *.*.*.*:1812
acctserver *.*.*.*:1813
servers /etc/ppp/radius/servers
dictionary /etc/ppp/radius/dictionary
login_radius /usr/local/sbin/login.radius
seqfile /var/run/radius.seq
mapfile /etc/ppp/radius/port-id-map
default_realm
radius_timeout 10
radius_retries 3
#radius-update-interval 300#这一行不知道为什么不起作用
login_local /bin/login
------------
(3-4)/etc/ppp/radius/servers
------------
*.*.*.*  password
------------
(3-5)/etc/ppp/radius/dictionary
------------
#关键是最后一行
#.....
INCLUDE /etc/ppp/radius/dictionary.microsoft
#不知道为什么出了个Micro$oft
------------
(3-6不需要radius)/etc/ppp/pppoe-server-options
------------
# PPP options for the PPPoE server
# LIC: GPL
require-pap
#require-chap
login
lcp-echo-interval 10
lcp-echo-failure 2
10.240.0.1:10.240.255.254
netmask 255.255.255.255
logfile /var/log/pppd.log
ms-dns 210.77.192.88
ms-dns 218.56.57.58
------------
(3-7)/etc/ppp/pap-secret
------------
# PPP options for the PPPoE server
# LIC: GPL
#用户名        *        密码                获得IP(*任意)
"root"  *       "1234566"       *
#特别注意,如果不使用 radius,用户名一定是系统里存在的帐号,否则人证不通过
------------
============

radius的搭建我没做,我们有专用的行业软件,这里我就不多讲了,关于FREERADIUS的介绍网上很多,而且通过说明我也搭建成功了


@@使用nat,运行以下代码
========
EXIF='eth1'
#EXIF为定义做出口的接口
EXNET='10.0.0.0/24'
#源地址NAT中允许使用的IP段
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -F -t nat
/sbin/iptables -X -t nat
/sbin/iptables -Z -t nat
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT
modprobe ip_tables 2> /dev/null
modprobe ip_nat_ftp 2> /dev/null
modprobe ip_nat_irc 2> /dev/null
modprobe ip_conntrack 2> /dev/null
modprobe ip_conntrack_ftp 2> /dev/null
modprobe ip_conntrack_irc 2> /dev/null
/sbin/iptables -t nat -A POSTROUTING -o $EXIF -s $EXNET -j MASQUERADE
==========


OK,这样就成功了
这里我要说点东西,虽然我成功了,也写出了这点东西,还是感叹linux不好学啊,强大不代表易用,而且找不到个示范文本,感慨很多啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表