Centos7-firewall-iptables

Centos7-firewall-iptables

实例参考

##########保存

 iptables-save > /tmp/ipt.txt 

##########恢复

iptables-restore < /tmp/ipt.txt 

删除iptables现有规则

iptables -F

##########查看iptables规则

iptables -L [-v[vv] -n]

##########删除INPUT链中第2条规则

iptables -D INPUT2

##########添加一条规则

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -s 192.168.0.1 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

##########链中插入为规则

iptables -I INPUT 2 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

##########替换修改第三条规则

iptables -R INPUT 3 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

##########替换修改第四条规则指定ip访问所有端口

iptables -R INPUT 4 -s 10.17.201.3 -m state --state NEW,ESTABLISHED -j ACCEPT     

##########设置INPUT链的默认策略为DROP

iptables -P INPUT DROP

##########允许远程主机进行SSH连接

iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 

iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

##########允许本地主机进行SSH连接

iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 

iptables -A INTPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

##########允许HTTP请求

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 

iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

##########限制ping 192.168.146.3主机的数据包数,平均2/s个,最多不能超过3个

iptables -A INPUT -i eth0 -d192.168.146.3 -p icmp --icmp-type 8 -m limit --limit 2/second --limit-burst 3 -j ACCEPT

##########限制SSH连接速率(默认策略是DROP)

iptables -I INPUT 1 -p tcp --dport 22 -d192.168.146.3 -m state --state ESTABLISHED -j ACCEPT  

iptables -I INPUT 2 -p tcp --dport 22 -d192.168.146.3 -m limit --limit 2/minute --limit-burst 2 -m state --state NEW -j ACCEPT

##########防止syn攻击(限制syn的请求速度)

iptables -N syn-flood 

iptables -A INPUT -p tcp --syn -j syn-flood 

iptables -A syn-flood -m limit --limit1/s --limit-burst 4 -j RETURN 

iptables -A syn-flood -j DROP

##########防止syn攻击(限制单个ip的最大syn连接数)

iptables –A INPUT –i eth0 –p tcp --syn -m connlimit --connlimit-above 15 -j DROP

##########利用recent模块抵御DOS攻击

iptables -I INPUT -p tcp -dport 22 -m connlimit --connlimit-above 3 -j DROP

##########单个IP最多连接3个会话

iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH

##########只要是新的连接请求,就把它加入到SSH列表中。5分钟内你的尝试次数达到3次,就拒绝提供SSH列表中的这个IP服务。被限制5分钟后即可恢复访问。

Iptables -I INPUT -p tcp --dport 22 -m state NEW -m recent --update --seconds 300 --hitcount 3 --name SSH -j DROP

##########防止单个IP访问量过大

iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 30 -j DROP

##########阻止反弹木马

iptables –A OUTPUT –m state --state NEW –j DROP

##########防止ping攻击

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/m -j ACCEPT

##########只允许自己ping别人,不允许别人ping自己

iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT

iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT

##########对于127.0.0.1比较特殊,我们需要明确定义它

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

##########SNAT 基于原地址转换。许多内网用户通过一个外网 口上网的情况。将我们内网的地址转换为一个外网的IP,共用外网IP访问外网资源

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.100.1

##########当外网地址不是固定的时候。将外网地址换成 MASQUERADE(动态伪装):它可以实现自动读取外网网卡获取的IP地址

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE

##########DNAT 目标地址转换。目标地址转换要做在到达网卡之前进行转换,所以要做在PREROUTING这个位置上

iptables -t nat -A PREROUTING -d 192.168.10.18 -p tcp --dport 80 -j DNAT --to-destination 172.16.100.2

##########

##########

##########

##########

##########

##########

##########

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容