dxl812334885 发表于 2013-3-30 09:24:12

pppoe 怎么限制每个用户只能拨一次啊

本帖最后由 dxl812334885 于 2013-3-30 18:52 编辑

配置如下
/ppp profile
set 0 change-tcp-mss=yes local-address=192.168.99.2 name=default only-one=yes remote-address=PPPoE use-compression=yes use-encryption=no use-ipv6=yes use-mpls=default use-vj-compression=yes
set 1 change-tcp-mss=yes name=default-encryption only-one=yes use-compression=default use-encryption=yes use-ipv6=yes use-mpls=default use-vj-compression=default

/ppp aaa
set accounting=yes interim-update=0s use-radius=yes

/interface pppoe-server server
add authentication=pap default-profile=default disabled=no interface=500 keepalive-timeout=10 max-mru=1480 max-mtu=1480 max-sessions=0 mrru=disabled one-session-per-host=yes service-name="vlan 500"


profile中已经设置了onlyone
radius 用的是ACS5.2连接域控验证是pap


写了个脚本,本来可以用的后来不知道怎么回事没用了,大家帮忙看看哪里出问题了
global usera;
global userb;
global client 2;
global session;

foreach i in= do={set usera ;set session 0;foreach u in=do={set session (session+1);if (session>$client) do={ set userb ;/ppp active remove $u;} }}





9939781 发表于 2013-3-30 10:01:32

为每个用户单独设置静态IP

rosabc 发表于 2013-3-30 11:30:10

radius的属性优先于ros里的属性, radius里设置一账户只能拨一次才行,一般RADIUS都支持这个属性。

dxl812334885 发表于 2013-3-30 18:55:23

rosabc 发表于 2013-3-30 11:30 static/image/common/back.gif
radius的属性优先于ros里的属性, radius里设置一账户只能拨一次才行,一般RADIUS都支持这个属性。

我这里的u=1直接ppp active remove 1 可以 但是ppp active remove $u 就提示no such item 很奇怪啊


> environment print         
"u"=1


> ppp active remove $u
no such item
> ppp active remove 1
>

兰彻 发表于 2013-3-30 19:29:44

本帖最后由 兰彻 于 2013-3-30 19:35 编辑

dxl812334885 发表于 2013-3-30 18:55 static/image/common/back.gif
我这里的u=1直接ppp active remove 1 可以 但是ppp active remove $u 就提示no such item 很奇怪啊

...

用脚本也可以轻松搞定
:local userX;
:local userY;
:local i;
:local u;
:local clogged 0;
:local addr;
:local addr2;

:foreach i in= do={
:set userX ;
:set clogged 0;

:foreach u in= do={
:set clogged (clogged +1);

:if (clogged>1) do={
:set userY ;
:set addr ;
:set addr2 ;

:if ($addr != addr2) do={
:log info "MPPP: FIRST ACTIVE <<$userX>> FROM IP $addr2";
:log info "MPPP: THE $clogged° <<$userY>> CALLING FROM IP $addr NOW DISCONNECTED";
/ppp active remove $u;
}

}
}
}

这个就行,可以防止openwrt多播。

dxl812334885 发表于 2013-3-30 21:07:24

兰彻 发表于 2013-3-30 19:29 static/image/common/back.gif
用脚本也可以轻松搞定
:local userX;
:local userY;


/ppp active remove $u 最后这里有问题
假如global u 1   /ppp active remove $u 提示no such item
               /ppp active remove 1 就正常 郁闷死了
         

dxl812334885 发表于 2013-3-30 21:25:34

rosabc 发表于 2013-3-30 11:30 static/image/common/back.gif
radius的属性优先于ros里的属性, radius里设置一账户只能拨一次才行,一般RADIUS都支持这个属性。

我这边的用户是调用的域用户,貌似很多第三方的radius都不支持,而且很多功能受限

wld2005 发表于 2013-3-31 21:22:36

这个我也需要      
页: [1]
查看完整版本: pppoe 怎么限制每个用户只能拨一次啊