找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 14520|回复: 6

成功实现时间段上网控制、IP与 MAC绑定上网、回流控制等功能

[复制链接]
发表于 2006-1-16 11:27:17 | 显示全部楼层 |阅读模式

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

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

×
我用的是老大做的coyote最新修改版

我的rc.local文件内容:
#!/bin/sh
#
# Coyote local command init script
tc qdisc add dev eth0 root handle 1: htb r2q 1
tc class add dev eth0 parent 1: classid 1:1 htb rate 800kbit burst 10k
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.0.11 flowid 1:1
iptables -A FORWARD -s 192.168.0.11 -m time --timestart 1:00 --timestop 15:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j DROP
iptables -t nat -A PREROUTING -s 192.168.0.11 -m mac --mac-source ! 00:10C6:C9:69 -j DROP
iptables -t nat -A PREROUTING -s 192.168.0.11 -j ACCEPT
iptables -t nat -A PREROUTING -i $IF_LOCAL  -j DROP

解释如下:
tc qdisc add dev eth0 root handle 1: htb r2q 1
tc class add dev eth0 parent 1: classid 1:1 htb rate 800kbit burst 10k
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.0.11 flowid 1:1
限定192.168.0.11的带宽在100kB/s左右

iptables -A FORWARD -s 192.168.0.11 -m time --timestart 1:00 --timestop 15:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j DROP
上面这条IPtables命令的使用,解决了限制时间段上网的问题。上面的设定允许上网的时间范围是每天早上10:00到晚上20:00。为什么会出现这种情况呢?因为Iptables的time扩展功能增加了对时间的匹配,可以指定某条规则在什么时间触发,但这个功能目前还不能处理时区,使用时只能使用UTC时间。

iptables -t nat -A PREROUTING -s 192.168.0.11 -m mac --mac-source ! 00:10C:D6:C9:69 -j DROP
iptables -t nat -A PREROUTING -s 192.168.0.11 -j ACCEPT
IP地址192.168.0.11与MAC地址是00:10:DC:D6:C9:69的网卡帮定,允许上网

注意:iptables -t nat -A PREROUTING -i $IF_LOCAL -j DROP是对所有不符合规则的信息阻断,其中的 -i $IF_LOCAL ,这样写解决了设定规则后ssh远程连不上的问题;解决了通过ssh连接,用web远程无法访问coyote的问题;解决了内网半条服务器不能回流(比如在内网搜索自己半条服务器的外网地址,搜不到)。

总结:
    在/etc/rc.d/rc.local文件中,每条命令的功能要同时实现,跟每条命令所处的位置有关,即规则在比对时是从文件的第一行开始的,规则被比对的先后顺序,直接影响到想要达到的目的;同时在文件中的最后一句也至关重要。是经过它上面的所有规则过滤后到达最后这条语句需要处理的数据包。如何处理这些数据包同样也影响最终的结果。
routeros
 楼主| 发表于 2006-1-16 11:46:28 | 显示全部楼层

回复 #1 huangts 的帖子

rc.local文件中
最后使用iptables -t nat -A PREROUTING -i $IF_LOCAL  -j DROP时,
那么iptables -A FORWARD -s 192.168.0.11 -m time --timestart 1:00 --timestop 15:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j DROP
必须与iptables -t nat -A PREROUTING -s 192.168.0.11 -j ACCEPT
配合使用才能实现时间段控制
routeros
回复

使用道具 举报

发表于 2006-1-16 11:54:41 | 显示全部楼层
好贴,沙发。支持。
routeros
回复

使用道具 举报

 楼主| 发表于 2006-1-28 02:42:59 | 显示全部楼层

请老大删了我的帖子!

routeros
回复

使用道具 举报

 楼主| 发表于 2006-1-28 02:43:59 | 显示全部楼层

给大家拜个早年!!

routeros
回复

使用道具 举报

发表于 2007-10-23 22:43:59 | 显示全部楼层
好贴,沙发。支持。
routeros
回复

使用道具 举报

发表于 2008-10-31 14:57:50 | 显示全部楼层

请教一下,,,-m mac --mac-source ! 00:10C:D6:C9:69

,,,-m mac --mac-source ! 00:10C6:C9:69 中的"!" 的意思是什么???
routeros
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 17:10 , Processed in 0.048564 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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