CentOS服务器iptables配置简单教程

Ophira ·
更新时间:2024-09-20
· 531 次阅读

iptables是Linux类服务器重要的网络安全防范系统工具,考虑到多数服务器有专门的团队托管,服务器管理员多数时间只能通过SSH进行远程管理,在安全允许的情况下,保证SSH的合法联通,需要做如下的配置。

iptables -P INPUT ACCEPT iptables -F iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -L -v

  这样能够保证SSH的22端口得到合法的通行,最后执行service iptables save,将刚才的配置保存。

  通过cat /etc/sysconfig/iptables可以查看iptables配置文件的信息,今后可以通过直接编辑该文件,增删配置条目。

  查看运行着的iptables的规则指令为:lsmod | grep ip_tables或iptables -L。

小编再补充一个知识点:防简单攻击iptables策略

#!/bin/sh IPTABLES=/sbin/iptables # clear $IPTABLES -F # if pkg type is allow, then accept #$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 如果同时在80端口的连接数大于10,就Drop掉这个ip netstat -an | grep :80 | awk -F: '{ print $8 }' | sort | uniq -c | awk -F\ '$1>10 && $2!="" { print $2 }' >> /etc/fw.list less /etc/fw.list | sort | uniq -c | awk -F\ '$2!="" { print $2 }' > /etc/fw.list2 less /etc/fw.list2 > /etc/fw.list while read line do t=`echo "$line"` $IPTABLES -A INPUT -p tcp -s $t -j DROP done < /etc/fw.list2 # IP转发 $IPTABLES -A INPUT -p tcp --dport 20002 -j ACCEPT $IPTABLES -A INPUT -d 172.16.204.7 -p tcp -m tcp --dport 20002 -i eth0 -j ACCEPT $IPTABLES -t nat -A PREROUTING -d 211.100.39.44 -p tcp -m tcp --dport 20002 -j DNAT --to-destination 172.16.204.7:20002 $IPTABLES -t nat -A POSTROUTING -d 172.16.204.7 -p tcp -m tcp --dport 20002 -j SNAT --to-source 10.6.39.44 # if pkg visit 80,7710 port then accept $IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 8080 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 873 -j ACCEPT # $IPTABLES -A INPUT -i eth0 -m limit --limit 1/sec --limit-burst 5 -j ACCEPT $IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT $IPTABLES -A FORWARD -p tcp --syn -m limit --limit 10/s -j ACCEPT $IPTABLES -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT # if pkg from allow ip then accept $IPTABLES -A INPUT -p tcp -s 127.0.0.1 -j ACCEPT # if pkg not above then deny $IPTABLES -A INPUT -p tcp --syn -j DROP 下面这个防火墙测试结果更正确,能起到一定的防攻击的功能 #!/bin/sh IPTABLES="/sbin/iptables" echo "1" > /proc/sys/net/ipv4/ip_forward $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT DROP $IPTABLES -F $IPTABLES -X $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 80 --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT $IPTABLES -A OUTPUT -p tcp -s 127.0.0.1 -j ACCEPT $IPTABLES -A OUTPUT -p tcp -s 192.168.1.102 -j ACCEPT $IPTABLES -A OUTPUT -p udp -s 127.0.0.1 -j ACCEPT $IPTABLES -A OUTPUT -p udp -s 192.168.1.102 -j ACCEPT $IPTABLES -A INPUT -p tcp --syn -j DROP 您可能感兴趣的文章:一键配置CentOS iptables防火墙的Shell脚本分享Linux防火墙iptables入门教程修改iptables防火墙规则解决vsftp登录后不显示文件目录的问题linux增加iptables防火墙规则的示例Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)shell脚本结合iptables防端口扫描的实现linux服务器下通过iptables+Denyhost抵御暴力破解的配置方法分享一个实用的iptables脚本(各种过滤写法参考)阿里云Centos配置iptables防火墙教程



iptables配置 iptables centos 教程

需要 登录 后方可回复, 如果你还没有账号请 注册新账号