自由的生活_软路由论坛

 找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 4985|回复: 12

[脚本] 广电或者合作小区多pppoe server共存解决方案

[复制链接]
发表于 2014-5-11 10:10:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 兰彻 于 2014-5-11 10:15 编辑

挖坑,慢慢填。
最近看见很多人大侠无私分享自己的成果,所以心血来潮想分享自己的一些成果。
这是一个多pppoe server解决方案,适合广电和合作小区。
我在工作中遇到一个问题,怎样让多个bras共存在一个网络。尤其是接入电信联通pppoe线路的的广电和合作小区。
他们的解决方案无非就是划分vlan,这相当的麻烦,在网上查找各种资料,和各位大神的帮助下终于找到了解决方案,广电就实现这样的功能的设备要卖40w+,当然大家都懂得,和深信服一路货色,靠关系做生意的。
其实就是一个简单的2层防护墙,ROS通过一个简单的脚本就能实现。我现在免费把这个脚本分享给大家,使用的前提的pppoe账号必须有特征。希望有人能用的上。其实解决 pppoe-discovery 就可以了。不懂得可以联系我 qq 785640346 tel 18511162263

:global name;
#用户名
:global vname;
#用户名特征,取前2位
:global mac;
/ppp active
:foreach i in=[find] do={:set mac [get $i caller-id];:set name [get $i name];:set vname [:pick [get $i name] 0 2];
:log error ("账号特征:" . $vname)
:global bshift false;
:global shift false;
/interface bridge filter
:global bmac
:global mkmac
:global mkname
:foreach j in=[find comment!=""] do={:set bmac [:pick [get $j src-mac-address] 0 17];

:if ($mac=$bmac) do={:set shift true;:set bshift true;:set mkmac $bmac;:set mkname [get $j comment]} else={:set shift false;}
}
:if ($bshift) do={:log warning ("用户:." . $name ."被踢下线--" . "原因:MAC:" . $mkmac . "已绑定账号:" . $name);/ppp active remove $i;} else={
#这里处理账号归类
:if ($vname="lt") do={
:log error ("联通账号:" . $name . "已绑定MAC:" .$mac);

add chain=forward out-interface=CNC src-mac-address= ($mac ."/FF:FF:FF:FF:FF:FF") \
mac-protocol=pppoe-discovery action=accept comment=("联通账号" . $name." ".$nyr2);



add chain=input in-interface=!CNC in-bridge=bridge src-mac-address= ($mac ."/FF:FF:FF:FF:FF:FF") \
mac-protocol=pppoe-discovery action=drop comment=("联通账号" . $name." ".$nyr2);
move [find comment=("联通账号" . $name." ".$nyr2)];
/delay 1
/ppp active remove [find name=$name]

} else={:if ($vname="dx") do={

:log error ("电信账号:" . $name . "已绑定MAC:" .$mac);
add chain=forward out-interface=TEL src-mac-address= ($mac ."/FF:FF:FF:FF:FF:FF") \
mac-protocol=pppoe-discovery action=accept comment=("电信账号" . $name." ".$nyr2);



add chain=input in-interface=!TEL in-bridge=bridge src-mac-address= ($mac ."/FF:FF:FF:FF:FF:FF") \
mac-protocol=pppoe-discovery action=drop comment=("电信账号" . $name." ".$nyr2);
/delay 1
/ppp active remove [find name=$name]

} else={:log info "其他账号将不增加到列表"}}
/delay 1
/interface bridge filter move [find comment =1] destination=
/interface bridge filter move [find comment =2] destination=
}
}
}




routeros
发表于 2014-5-11 13:45:11 | 显示全部楼层
好方案,支持楼主。
routeros
发表于 2014-5-20 06:24:21 | 显示全部楼层
非常感谢分享
routeros
发表于 2014-5-22 20:55:15 | 显示全部楼层
回复只为收藏!
routeros
发表于 2014-5-23 00:01:55 | 显示全部楼层
回复只为收藏!
routeros
发表于 2014-6-6 16:03:31 | 显示全部楼层
那有那么麻烦,我已经完美解决了多bas的问题了,可以自由选择bas
routeros
发表于 2014-6-6 16:56:37 | 显示全部楼层
ftily 发表于 2014-6-6 16:03
那有那么麻烦,我已经完美解决了多bas的问题了,可以自由选择bas

怎么解决的呢?
routeros
发表于 2014-8-25 16:52:36 | 显示全部楼层
怎么用?有没有细一点的说明了
routeros
发表于 2014-10-25 09:47:36 | 显示全部楼层
好强大的想法,
routeros
发表于 2014-10-25 21:22:21 | 显示全部楼层
顶一下,谢谢楼主的无私分享
routeros
发表于 2014-10-26 13:41:18 | 显示全部楼层
楼主的方案是先启用那个万能认证的插件,让拨号先拨上ROS的PPPOE服务先吗? 不然怎么读账号信息?
routeros
发表于 2017-4-24 11:21:00 | 显示全部楼层
变向性的打广告 你这思路完全不行
routeros
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|软路由论坛 ( 渝ICP备15001194号-1,渝公网安备 50011602500124号 )

GMT+8, 2017-12-12 18:25 , Processed in 0.396687 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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