免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1934 | 回复: 5
打印 上一主题 下一主题

[网络管理] iptables+tc无法生效?求问。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-21 13:51 |只看该作者 |倒序浏览
刚开始学习tc,实验环境是这样的:一台linux 2.6内核,ip地址192.9.200.101。一台unix服务器,ip地址192.9.200.212。

    想做这么一个实验,使linux主机ftp到unix主机,put数据时受到限制,速度最大20kbps。

    配置是这样的:

    iptables -t mangle -A PREROUTING -i eth0 -d 192.9.200.212 -p tcp --dport ftp -j MARK --set-mark 1
    iptables -t mangle -A PREROUTING -i eth0 -d 192.9.200.212 -p tcp --dport ftp-data -j MARK --set-mark 1
   
    tc qdisc add dev eth0 root handle 1: htb default 10
    tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbps ceil 1mbps
    tc class add dev eth0 parent 1:1 classid 1:10 htb rate 800kbps ceil 900kbps prio 1
    tc class add dev eth0 parent 1:1 classid 1:20 htb rate 10kbps ceil 20kbps   prio 0
    tc filter add dev eth0 parent 1: protocol ip prio 100 handle 1 fw classid 1:20

    结果实验总是不能成功,ftp的数据都走的默认classid 1:10????

    求解,那位大侠告知一下,还有没什么没做?

论坛徽章:
0
2 [报告]
发表于 2007-06-21 14:09 |只看该作者
你是在linux下写的配置吧,iptables -t mangle -A PREROUTING -i eth0 -d 192.9.200.212 -p tcp --dport ftp -j MARK --set-mark 1
这是对的么????

论坛徽章:
0
3 [报告]
发表于 2007-06-21 14:19 |只看该作者
这么写有问题?我是在linux下写的。

# iptables -t mangle -A PREROUTING -i eth0 -d 192.9.200.212 -p tcp --dport ftp -j MARK --set-mark 1

# iptables -t mangle -L

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
MARK       tcp  --  anywhere             192.9.200.212       tcp dpt:ftp MARK set 0x1

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

论坛徽章:
0
4 [报告]
发表于 2007-06-21 14:27 |只看该作者
put的时候,数据流向是从客户端到服务器的,但是,其端口不是ftp(21),也不一定是ftpdata(20)

你可以抓包看看,其用的是什么端口?

看你的脚本,用的是iptables,那么你应该是在linux机器上配置的,那么你应该控制的是发包的速度,那么应该是
iptables -t mangle -A OUTPUT -o eth0 -d 192.9.200.212 -p tcp -j MARK --set-mark 1

论坛徽章:
0
5 [报告]
发表于 2007-06-21 14:33 |只看该作者
哦?搞了两天了,试试看,谢谢!

论坛徽章:
0
6 [报告]
发表于 2007-06-21 15:00 |只看该作者
用netstat -p --tcp来监测。put时的端口确实是随机的,那么怎么配置才可以对ftp的来往数据进行限速呢?

    iptables -t mangle -A OUTPUT -o eth0 -d 192.9.200.212 -p tcp -j MARK --set-mark 1;是针对所有到192.9.200.212的tcp来打标签吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP