目录
- 安装防火墙并开启
- 配置防火墙
- 配置限流
- 配置方法
- TC限速字段的解释
- 常用的操作方法
平时搞开发基本不开防火墙。但是为了测试弱网情况下软件的稳定性,所以尝试配置了一下防火墙。
安装防火墙并开启
yum install iptables-services -y
systemctl start iptables
配置防火墙
首先将所有的配置都放开(注意线上环境不要这么搞)
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
查询一下还有没有被限制的端口
iptables -L -n --line-number
凡是写了reject的,都删掉(假设你要删除的行号是7)
# iptables -D INPUT 7
配置限流
配置方法
# 设置根
tc qdisc add dev ens32 root handle 1: htb
# 设置允许的速度为1Kbps,突发最大流量为1Kbps,优先级为1
tc class add dev ens32 parent 1: classid 1:5 htb rate 1Kbps ceil 1Mbps prio 1
# 设置防火墙id与规则id对应关系,id 1:5对应防火墙标记id为5
tc filter add dev ens32 parent 1:0 protocol ip handle 5 fw flowid 1:5
# 关联到防火墙上
#设置端口6800流量标记为5,应用流量限制规则到7500端口
iptables -A OUTPUT -t mangle -p tcp --sport 6800 -j MARK --set-mark 5
TC限速字段的解释
1.rate – 您可以设置允许的带宽。
2.ceil – 您可以设置的突发带宽时,允许桶。
3.prio – 您可以设置额外的带宽优先级。 prios较低的类所提供的带宽。例如,您可以给DNS流量和HTTP下载PRIO较低。
4.iptables和TC:你需要使用iptables和TC如下:控制出站HTTP流量。
常用的操作方法
清空所有的关联的防火墙规则
iptables -t mangle -F
清空规则
tc qdisc del dev em1 root
tc -s qdisc ls dev em1
查看tc规则
tc qdisc ls dev em1
tc -s qdisc ls dev em1
tc class ls dev em1
tc -s class ls dev em1
查看防火墙
iptables -t mangle -n -v -L
防火墙限制端口
# 限制一个
iptables -A OUTPUT -p tcp --sport 6800 -j ACCEPT
# 限制多个
iptables -A OUTPUT -p tcp --sport 6800,6801 -j ACCEPT
# 限制一段
iptables -A OUTPUT -p tcp --sport 5000:9000 -j ACCEPT
配置文件所在位置
vim /etc/sysconfig/iptables
vim /etc/sysconfig/iptables-config
保存配置的命令
service iptables save
参考网址:
https://www.cnblogs.com/cainiaoit/p/8582322.html
http://www.fx114.net/qa-178-108967.aspx
http://professor.blog.51cto.com/996189/1569481/
http://blog.csdn.net/x_i_y_u_e/article/details/43016053
http://bbs.itzmx.com/forum.php?mod=viewthread&tid=10669&page=1