openvz玩转tc流量控制 (自用)
kevin.Zhu 发布于:2017-6-24 17:55 分类:Iptables 有 18 人浏览,获得评论 0 条
一台VPS主机有两个IP 45.77.29.35(eth0) 45.32.54.33 (eth0:1 ),内部虚拟机ovz的IP 192.168.3.4
#使用iptables转发其中一个IP的请求到ovz虚拟机
iptables -t nat -A PREROUTING -d 45.32.54.33 -j DNAT --to 192.168.3.4
iptables -t nat -A POSTROUTING -s 192.168.3.4/32 -j SNAT --to 45.32.54.33
# 全局默认使用1:1 ,classid = 1:1的带宽请设置满
tc qdisc add dev eth0:1 root handle 1: htb default 1
# 根类 ,带宽设置为真实大小
tc class add dev eth0:1 parent 1: classid 1:1 htb rate 50Mbit ceil 50Mbit
# 子类, 用于限制带宽的策略(按使用条件设置若干个 )
tc class add dev eth0:1 parent 1:1 classid 1:2 htb rate 1Mbit ceil 1Mbit
# 过滤器、作用于防火墙--set-mark = 5 的数据包
tc filter add dev eth0:1 parent 1: protocol ip handle 5 fw flowid 1:1
# 使用iptable在forward链上打码5 (可以设置任意条件进行打码 )
iptables -t mangle -A FORWARD -p tcl -d 192.168.3.4 ! --dport 22 -j MARK --set-mark 5