|

楼主 |
发表于 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不好学啊,强大不代表易用,而且找不到个示范文本,感慨很多啊 |
|