Chinaunix
标题:
透明网桥使用tc限速的疑问以及NAT
[打印本页]
作者:
old-cow
时间:
2008-07-16 19:44
标题:
透明网桥使用tc限速的疑问以及NAT
环境:
[root@router-control ~]# uname -a
Linux router-control.aaaa.cn 2.6.9-34.EL #1 Fri Feb 24 16:44:51 EST 2006 i686 athlon i386 GNU/Linux
[root@router-control ~]#
[root@router-control ~]# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 3)
[root@router-control ~]#
[root@router-control ~]# iptables -V
iptables v1.2.11
[root@router-control ~]# tc -V
tc utility, iproute2-ss040831
[root@router-control ~]#
复制代码
3个网卡。
eth0 用于远程管理 192.168.1.253,开ssh。
eth1 和 eth2 做 br0。
[root@router-control script]# cat mk_br0
#!/bin/sh
# create br0
/usr/sbin/brctl addbr br0
# add IF to br0
/usr/sbin/brctl addif br0 eth1
/usr/sbin/brctl addif br0 eth2
# Start up the Ethernet interface
#/sbin/ifconfig eth1 0.0.0.0 up
#/sbin/ifconfig eth2 0.0.0.0 up
# start up br0
/sbin/ifconfig br0 up
[root@router-control script]#
复制代码
拓扑结构
Internet
|
|
+------------+
| router |
+------------+
|
|
|eth2
+-------------+
| Linux PC |
| TC |
+-------------+
|eth1
|
|
+-----------------+
| switch |
+-----------------+
TC 脚本 for eth2
tc qdisc del dev eth2 root 2>/dev/null # clear the exist class
tc qdisc add dev eth2 root handle 10: htb default 2254 # define root
tc class add dev eth2 parent 10: classid 10:1 htb rate 5120kbps ceil 5120kbps
i=2
while [ $i -le 253 ] # a C class network this for 192.168.1.0/24 .
do
j=0
j=`expr $i + 100`
echo "$j"
tc class add dev eth2 parent 10:1 classid 10:$j htb rate 50kbps ceil 64kbps prio 1
echo "pfifo"
tc filter add dev eth2 parent 10: protocol ip prio 1 u32 match ip dst 172.20.11.$i/32 classid 10:$j
echo "match"
i=`expr $i + 1`
done
复制代码
TC 脚本 for eth1
tc qdisc del dev eth1 root 2>/dev/null # clear the exist class
tc qdisc add dev eth1 root handle 10: htb default 2254 # define root
tc class add dev eth1 parent 10: classid 10:1 htb rate 5120kbps ceil 5120kbps
i=2
while [ $i -le 253 ] # a C class network this for 192.168.1.0/24 .
do
j=0
j=`expr $i + 100`
echo "$j"
tc class add dev eth1 parent 10:1 classid 10:$j htb rate 50kbps ceil 64kbps prio 1
echo "pfifo"
tc filter add dev eth1 parent 10: protocol ip prio 1 u32 match ip dst 172.20.11.$i/32 classid 10:$j
echo "match"
i=`expr $i + 1`
done
复制代码
执行 eth2 的 tc 脚本能实现下载限速,
执行 eth1 的 tc 脚本不能实现上传限速,把 dev 改成 br0 也不能对上传限速,
不知道我的方法是否有误。请大家指教。
还有如果我想实现NAT,由于eth1 和 eth2都没有配IP,不知道能否可以实现?方法如何?
谢谢!
作者:
ssffzz1
时间:
2008-07-16 20:52
限速的原因我目前尚不能确定。
但是明确的说再桥接口上不能配置NAT。原因就是桥接口没有IP。你如何NAT。但是可以再BR口上配置的,这个没有问题。
作者:
old-cow
时间:
2008-07-16 22:00
目前br0上也没有配置IP,版主的意思是在br0上配置IP,再做nat?
作者:
ssffzz1
时间:
2008-07-17 10:42
这个当然,NAT必须要求有3层功能。
作者:
old-cow
时间:
2008-07-18 09:28
通过给br0配IP,nat 已经实现了.但nat后,通过交换机端口镜像的流量监测不准确了,通过的TC进行限速也无效了.晕
作者:
old-cow
时间:
2008-07-21 16:41
现在不需要做nat了,但上传的限速还是不能实现,那位能给点建议,谢谢!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2