免费注册 查看新帖 |

Chinaunix

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

[网络管理] 透明网桥使用tc限速的疑问以及NAT [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-16 19:44 |只看该作者 |倒序浏览
环境:


  1. [root@router-control ~]# uname -a
  2. Linux router-control.aaaa.cn 2.6.9-34.EL #1 Fri Feb 24 16:44:51 EST 2006 i686 athlon i386 GNU/Linux
  3. [root@router-control ~]#
  4. [root@router-control ~]# cat /etc/redhat-release
  5. Red Hat Enterprise Linux AS release 4 (Nahant Update 3)
  6. [root@router-control ~]#
  7. [root@router-control ~]# iptables -V
  8. iptables v1.2.11
  9. [root@router-control ~]# tc -V
  10. tc utility, iproute2-ss040831
  11. [root@router-control ~]#
复制代码


3个网卡。

eth0 用于远程管理  192.168.1.253,开ssh。

eth1 和 eth2 做 br0。


  1. [root@router-control script]# cat mk_br0
  2. #!/bin/sh

  3. # create br0
  4. /usr/sbin/brctl addbr br0

  5. # add IF to br0
  6. /usr/sbin/brctl addif br0 eth1
  7. /usr/sbin/brctl addif br0 eth2

  8. # Start up the Ethernet interface
  9. #/sbin/ifconfig eth1 0.0.0.0 up
  10. #/sbin/ifconfig eth2 0.0.0.0 up

  11. # start up br0
  12. /sbin/ifconfig br0 up
  13. [root@router-control script]#
复制代码


拓扑结构

  Internet
       |
       |
+------------+
|    router   |
+------------+
        |
        |
        |eth2
+-------------+
| Linux PC   |
| TC            |
+-------------+   
        |eth1
        |
        |
+-----------------+
| switch            |
+-----------------+

TC 脚本 for eth2

  1. tc qdisc del dev eth2 root 2>/dev/null   # clear the exist class
  2. tc qdisc add dev eth2 root handle 10: htb default 2254 # define root

  3. tc class add dev eth2 parent 10: classid 10:1 htb rate 5120kbps ceil 5120kbps


  4. i=2
  5. while [ $i -le 253 ]   # a C class network  this for 192.168.1.0/24   .
  6. do
  7.     j=0
  8.     j=`expr $i + 100`
  9.     echo "$j"
  10.     tc class add dev eth2 parent 10:1 classid 10:$j htb rate 50kbps ceil 64kbps prio 1
  11.     echo "pfifo"
  12.     tc filter add dev eth2 parent 10: protocol ip prio 1 u32 match ip dst 172.20.11.$i/32 classid 10:$j
  13.     echo "match"
  14.     i=`expr $i + 1`
  15. done
复制代码


TC 脚本 for eth1

  1. tc qdisc del dev eth1 root 2>/dev/null   # clear the exist class
  2. tc qdisc add dev eth1 root handle 10: htb default 2254 # define root

  3. tc class add dev eth1 parent 10: classid 10:1 htb rate 5120kbps ceil 5120kbps


  4. i=2
  5. while [ $i -le 253 ]   # a C class network  this for 192.168.1.0/24   .
  6. do
  7.     j=0
  8.     j=`expr $i + 100`
  9.     echo "$j"
  10.     tc class add dev eth1 parent 10:1 classid 10:$j htb rate 50kbps ceil 64kbps prio 1
  11.     echo "pfifo"
  12.     tc filter add dev eth1 parent 10: protocol ip prio 1 u32 match ip dst 172.20.11.$i/32 classid 10:$j
  13.     echo "match"
  14.     i=`expr $i + 1`
  15. done
复制代码


执行 eth2 的 tc 脚本能实现下载限速,
执行 eth1 的 tc 脚本不能实现上传限速,把 dev 改成 br0 也不能对上传限速,
不知道我的方法是否有误。请大家指教。
还有如果我想实现NAT,由于eth1 和 eth2都没有配IP,不知道能否可以实现?方法如何?
谢谢!

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
2 [报告]
发表于 2008-07-16 20:52 |只看该作者
限速的原因我目前尚不能确定。
但是明确的说再桥接口上不能配置NAT。原因就是桥接口没有IP。你如何NAT。但是可以再BR口上配置的,这个没有问题。

论坛徽章:
0
3 [报告]
发表于 2008-07-16 22:00 |只看该作者
目前br0上也没有配置IP,版主的意思是在br0上配置IP,再做nat?

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
4 [报告]
发表于 2008-07-17 10:42 |只看该作者
这个当然,NAT必须要求有3层功能。

论坛徽章:
0
5 [报告]
发表于 2008-07-18 09:28 |只看该作者
通过给br0配IP,nat 已经实现了.但nat后,通过交换机端口镜像的流量监测不准确了,通过的TC进行限速也无效了.晕

论坛徽章:
0
6 [报告]
发表于 2008-07-21 16:41 |只看该作者
现在不需要做nat了,但上传的限速还是不能实现,那位能给点建议,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP