2011年9月6日星期二

关于radius

Radius Manager 和Freeradius实时记录流量
1、修改user文件 vim /usr/local/etc/raddb/users

在第50行处找到如下内容
DEFAULT Auth-Type = Local
Acct-Interim-Interval = 60,
在此行回车在51行添加如下内容,注意在头部TAB留空格,后面有逗号,保存退出
如果没有以上内容可以添加,如下
DEFAULT Auth-Type = Local
        Acct-Interim-Interval = 600,
    Exec-Program-Wait="/usr/local/bin/rmauth \"%{NAS-IP-Address}\" \"%{User-Name}\" \"%{Calling-Station-Id}\""
注意:添加如上内容可能会出错,这是由于没有通过radiusmanager的web页面添加NAS(手动在clients.conf文件中添加的似乎无效),添加NAS即可解决问题。

另外这里60是指每60秒查看一次流量是否增加,这里为了测试用,建议这个值不少于600

2、打开vim /usr/local/etc/radiusclient/dictionary

在ATTRIBUTE属性的底部添加如下行

ATTRIBUTE Acct-Interim-Interval 85 integer

重启freeradius和vpn server即可生效。
 
pptp和l2tp无法获得正确NAS IP
 
VPN建立好之后,一直受到这个问题的困扰,后经同事提醒发现是需要修改hosts文件。
打开hosts文件,vim /etc/hosts
在里面添加 本机IP地址 主机名 这样即可,比如我的机器添加如下
192.168.0.96 linux96



radiusmanager 设置NAS的时候raddb和client.conf不能读取

如果在设置NAS的时候发现raddb不能读取或者clients不能读取,请参照如下修改权限
chown nobody:nobody /usr/loca/etc/raddb chown nobody:nobody /usr/local/etc/raddb/clients.conf
如果还不行请适当修改权限
chmod 755 /usr/local/etc/raddb



pptp和l2tp无法获得正确NAS IP
RT VPN建立好之后,一直受到这个问题的困扰,后经同事提醒发现是需要修改hosts文件。
打开hosts文件,vim /etc/hosts在里面添加 本机IP地址 主机名 这样即可,比如我的机器添加如下192.168.0.96 linux96



radiusmanager无法控制用户的线路和流量控制
# vim /usr/local/etc/raddb/sites-enabled/default 取消152行的files的注释即可。


PPTP设置在radiusmanager中显示在线
1、修改/etc/options.pptpd,添加如下内容 require-mschap-v2 require-mppe-128
2、配置Freeradius服务器 修改 /usr/local/etc/raddb/sites-enabled/default中,去掉对mschap的注释 修改/usr/local/etc/raddb/modules/mschap中,去掉对如下代码的注释 mschap { use_mppe = yes require_encryption = yes require_strong = yes }
3、修改 /usr/local/etc/radiusclient/dictionary
注释掉下面这行
INCLUDE /usr/local/etc/radiusclient/dictionary
4、重启pptpd,如果提示dictionary.microsoft有错误,请到官方拷贝新的dictionary.microsoft





linux上控制p2p下载
在centos上安装了VPN,并使用VPN代理上网,但p2p下载是个头痛的问题,所以就使用tc和iptables对其
进行了限速。命令行如下,已经成功限制了p2p,肯定存在很多不足之处,请各位指正。
#iptables -I PREROUTING -t mangle -p tcp -s 10.8.0.0/24 -j MARK --set-mark 1
#tc qdisc del dev eth0 root
#tc qdisc add dev eth0 root handle 100: cbq bandwidth 10Mbit avpkt 1000
#tc class add dev eth0 parent 100:0 classid 100:1 cbq bandwidth 10Mbit rate 10Mbit allot 1514 weight
1Mbit prio 8 maxburst 8 avpkt 1000 bounded
#tc class add dev eth0 parent 100:1 classid 100:2 cbq bandwidth 10Mbit rate 300Kbit allot 1513 weight
30Kbit prio 5 maxburst 8 avpkt 1000 bounded
#tc qdisc add dev eth0 parent 100:2 sfq quantum 1514b perturb 15
#tc filter add dev eth0 parent 100:0 protocol ip prio 1 handle 1 fw classid 100:2
#tc qdisc del dev tun0 root
#tc qdisc add dev tun0 root handle 200: cbq bandwidth 10Mbit avpkt 1000
#tc class add dev tun0 parent 100:0 classid 200:1 cbq bandwidth 10Mbit rate 10Mbit allot 1514
weight 2Kbit prio 8 maxburst 8 avpkt 1000 bounded
#tc class add dev tun0 parent 100:0 classid 200:1 cbq bandwidth 10Mbit rate 10Mbit allot 1514
weight 2Kbit prio 8 maxburst 8 avpkt 1000 bounded
#tc class add dev tun0 parent 200:0 classid 200:1 cbq bandwidth 10Mbit rate 10Mbit allot 1514
weight 2Kbit prio 8 maxburst 8 avpkt 1000 bounded

#tc -s qdisc ls dev eth0
#tc -s qdisc ls dev tun0
以上是对92上的openvpn进行的控制。
做了大致的测试,对迅雷能有效控制,其他p2p下载工具暂未测试。
http访问,视频网站,http下载均正常。
此方法对p2p有较好的控制效果,而且对正常的网络访问和视频网站没用任何影响。另外在设置的过程中要注意不同机器不同的IP地址,不同的网卡地址。
注意点:
如果在防火墙规则中添加了类似A RH-Firewall-1-INPUT -s 10.8.0.0/255.255.0.0 -j ACCEPT规则,则控制失效。
可以根据需要开启不同的访问端口来代替这条规则。
比如,我们的VPN,需要通过VPN服务器访问web网络,只需要在防火墙中添加开启80端口的规则即可。


pptp,l2tp更换freeradius验证服务器
在openvpn,pptp,l2tp建设过程中,需要更换freeradius服务器进行验证,由于是测试所用就不管数据库里面的数据。
需要更改的地方有
第一:/usr/local/etc/radiusclient/radiusclient.conf文件,找到如下内容并修改成新的radiusd服务器地址
authserver 192.168.0.85:1812
acctserver 192.168.0.85:1813
第二:修改/usr/local/etc/radiusclient/servers文件,修改内容如下,把IP地址改成新radiusd验证服务器的地址;把加密改成和radiusd服务器一致,即testing123
192.168.0.85 testing123

pptp使用远程freeradius验证
 

环境

主机A上装有freeradius,mysql等相关软件,进行用户验证。在主机B上安装pptp,使用主机A上的freeradius进行验证登陆。

步骤

1、在主机B上编译安装pptp,具体步骤请参照之前的文章
2、在主机B上对freeradius-client编译安装配置
(1)、编译安装
tar -jxvf freeradius-client-1.1.6.tar.bz2
cd freeradius-client
./configure –prefix=/usr/local
make
make install
(2)、配置option.pptpd
按如下配置修改该文件,但插件和配置文件的路径要对name pptpd refuse-pap refuse-chap refuse-mschap proxyarp lock nobsdcomp novj novjccomp nologfd ms-dns 8.8.8.8 ms-dns 4.4.4.4 plugin /usr/lib/pppd/2.4.4/radius.so plugin /usr/lib/pppd/2.4.4/radattr.so radius-config-file /usr/local/etc/radiusclient/radiusclient.conf (3)、配置radiusclient.conf文件
严格按照如下配置进行,如果该配置文件中没有的,请用警号注销掉,如果路径不对,请自行更改 auth_order radius login_tries 4 login_timeout 60 nologin /etc/nologin authserver 192.168.0.85:1812 //这里是freeradius的IP地址 acctserver 192.168.0.85:1813 //这里是freeradius的IP地址 servers /usr/local/etc/radiusclient/servers dictionary /usr/local/etc/radiusclient/dictionary seqfile /var/run/radius.seq mapfile /usr/local/etc/radiusclient/port-id-map default_realm radius_timeout 10 radius_retries 3 login_local /bin/login
(4)、更改/usr/local/etc/radiusclient/servers文件
改成 192.168.0.85 testing123
这里的IP地址是freeradius的IP地址 和 加密密码
(5)、修改 /usr/local/etc/radiusclient/dictionary
添加如下内容,具体路径根据实际情况填写
INCLUDE /usr/local/etc/radiusclient/dictionary INCLUDE /usr/local/etc/radiusclient/dictionary.microsoft INCLUDE /usr/local/etc/radiusclient/dictionary.merit
dictionary.microsoft文件freeradius-client没有,可以在freeradius-server中找到,拷贝过来就可以了,如果server中的使用中有问题,可以从官方拷贝,具体网址是http://wiki.freeradius.org/PopTop#The_radiusclient_setup_part_.28on_the_Poptop_server.29

3、在主机A上添加防火墙允许主机B远程访问的规则
-A RH-Firewall-1-INPUT -p udp -m udp --dport 1812 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1812 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 1813 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1813 -j ACCEPT
4、在主机B上设置允许防火墙NAT转换
官方dictionary.microsoft文件

freeradius+pptp+daloradius+mysql

环境准备

centos5
xampp-linux-1.7.1.tar.gz
freeradius-mysql

pptp编译安装

请查看本博客其他文章

freeradius编译安装配置

请查看本博客其他文章

freeradius-client编译安装

1、编译安装
tar -jxvf freeradius-client-1.1.6.tar.bz2
cd freeradius-client
./configure –prefix=/usr/local
make
make install
2、配置option.pptpd
按如下配置修改该文件,但插件和配置文件的路径要对
name pptpd
refuse-pap
refuse-chap
refuse-mschap
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 4.4.4.4
plugin /usr/lib/pppd/2.4.4/radius.so
plugin /usr/lib/pppd/2.4.4/radattr.so
radius-config-file /usr/local/etc/radiusclient/radiusclient.conf
3、配置radiusclient.conf文件
严格按照如下配置进行,如果该配置文件中没有的,请用警号注销掉,如果路径不对,请自行更改
auth_order radius
login_tries 4
login_timeout 60
nologin /etc/nologin
authserver localhost:1812
acctserver localhost:1813
servers /usr/local/etc/radiusclient/servers
dictionary /usr/local/etc/radiusclient/dictionary
seqfile /var/run/radius.seq
mapfile /usr/local/etc/radiusclient/port-id-map
default_realm
radius_timeout 10
radius_retries 3
login_local /bin/login
4、更改/usr/local/etc/radiusclient/servers文件
改成 localhost testing123
5、修改 /usr/local/etc/radiusclient/dictionary
添加如下内容,具体路径根据实际情况填写
INCLUDE /usr/share/freeradius/dictionary INCLUDE /usr/share/freeradius/dictionary.microsoft INCLUDE /usr/share/freeradius/dictionary.merit
6、修改/usr/local/etc/raddb/radiusd.conf
去掉$INCLUDE sql.conf前的#


没有评论:

发表评论