iptables优化

iptables优化

nf_conntrack: table full, dropping packet,这是使用iptables可能会出现的一个告警信息。nf_conntrack是用来记录连接条目的,NAT和iptables中的state模块都会用到这个,如果连接表满了就会出现告警信息。
比如默认安装iptables后的自动加上INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT这个条目,-m state表示会用四种状态:NEW,ESTABLISHED,RELATED 和INVALID

NEW说明这个包是第一个包。当使用UDP、TCP等协议时,发出的第一个包的状态就是“NEW”,它会被conntrack匹配

ESTABLISHED当你在使用TCP、UDP等协议时:假设你的主机发出的第一个包成功穿越防火墙,那么接下来你的主机发出和接收到的包的状态都是“ESTABLISHED”

RELATED,当一个连接和某个已处于ESTABLISHED状态的连接有关系时,就被认为是RELATED的了。换句话说,一个连接要想 是RELATED的,首先要有一个ESTABLISHED的连接。这个ESTABLISHED连接再产生一个主连接之外的连接,这个新的连接就是RELATED。

INVALID说明数据包不能被识别属于哪个连接或没有任何状态,这种包应该被丢弃。

在连接数不大的时候nf_conntrack表不大,使用 state模块或者NAT功能(虽然没有相关条目)没有问题,但是在大流量的生产环境中不要使用这个模块,这会造成系统的负载上升,出现上面的告警信息。需要在生产环境中做优化。

1、 关闭ipv6的iptables

chkconfig ip6tables off

service ip6tables stop

2、 在Iptables中使用标志位来识别ESTABLISHED链接,并删除所有state状态,配置NAT的条目

iptables -I INPUT -p tcp -m tcp -m multiport --dports 80,443,15533 -j ACCEPT

iptables -I INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT

iptables -D INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

3、 移除内核nf_conntrack相关模块,禁用NAT功能,如果删除不了是因为在别的地方被调用了

lsmod

rmmod nf_conntrack_ipv4

rmmod nf_conntrack_ipv6

rmmod nf_nat

rmmod nf_conntrack_ipv4

rmmod xt_state

rmmod nf_conntrac

rmmod iptable_nat

posted on 2017-12-28 18:12 JeffSunpan27 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/jeffsunpan27/p/8137115.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值