第2个问题是:
iptables -t mangle -A PREROUTING -m layer7 --l7proto ftp -j MARK --set-mark 1
iptables -t mangle -A POSTROUTING -m layer7 --l7proto ftp -j MARK --set-mark 1
我必须用两条命令打上数据包的标记,少一条也不行(很弱的问句。。。。。为什么啊?我比较菜。。。。)
iptables -t mangle -A POSTROUTING -m mark --mark $MARK -j DROP
然后这样就可以阻断Windows访问linux的ftp了,这样是不是说明我给数据包打上标记了?
然后我的tc控制脚本执行后用-x 参数显示就是:
tc qdisc del dev eth1 root
+ iptables -t mangle -F
+ iptables -t filter -F
+ tc qdisc add dev eth1 root handle 1: htb
+ tc class add dev eth1 parent 1: classid 1:1 htb rate 300kbit ceil 300kbit
+ tc class add dev eth1 parent 1: classid 1:100 htb rate 100kbit ceil 100kbit
+ tc class add dev eth1 parent 1: classid 1:300 htb rate 100kbit ceil 300kbit
+ tc filter add dev eth1 protocol ip prio 1 parent 1:0 handle 1 fw flowid 1:100
+ tc qdisc ls dev eth1
qdisc htb 1: r2q 10 default 0 direct_packets_stat 5
+ iptables -t mangle -A PREROUTING -m layer7 --l7proto ftp -j MARK --set-mark 1
+ iptables -t mangle -A POSTROUTING -m layer7 --l7proto ftp -j MARK --set-mark 1
这样根本控制不住ftp流量,除非,我在第四行命令后加default指定走一条。
如果看上面的阻断效果,我原来想应该是打上标记了,可是tc好像不识别。
还有一种可能是:我的tc的控制脚本有问题,请各位大人指点下,哪里不对。
附带问下,我该怎么鉴别我的平台没有错误,l7可以阻断QQ等聊天工具(普通状况下),而且
最少我可以阻断ftp访问,应该是可以用的。现在真不知道怎么才能控制ftp访问流量了。。。
非常感谢,请再帮一下!!!!!