之前从记不得名字的大佬博客看到的方法,本人很惭愧,只是做了点微小的补充 检查是否安装了iptables service iptables status复制代码 安装iptables yum install -y iptables复制代码 升级iptables yum update iptables复制代码 安装iptables-services yum install -y iptables-services复制代码 查看默认防火墙状态 firewall-cmd –state复制代码 停止firewall systemctl stop firewalld.service复制代码 禁止firewall开机启动 systemctl disable firewalld.service复制代码 禁用firewalld服务 systemctl mask firewalld复制代码 查看iptables现有规则 iptables -L -n复制代码 先允许所有 iptables -P INPUT ACCEPT复制代码 清空所有默认规则 iptables -F复制代码 清空所有自定义规则 iptables -X复制代码 所有计数器归0 iptables -Z复制代码 禁止来自IPv4的所有HTTP/S访问请求 iptables -I INPUT -p tcp –dport 80 -j DROP iptables -I INPUT -p tcp –dport 443 -j DROP复制代码 对Cloudflare CDN IPv4地址开放HTTP/S入站访问 for i in `curl https://www.cloudflare.com/ips-v4`; do iptables -I INPUT -s $i -p tcp –dport 80 -j ACCEPT; done for i in `curl https://www.cloudflare.com/ips-v4`; do iptables -I INPUT -s $i -p tcp –dport 443 -j ACCEPT; done复制代码 禁止来自IPv6的所有HTTP/S访问请求 ip6tables -I INPUT -p tcp –dport 80 -j DROP ip6tables -I INPUT -p tcp –dport 443 -j DROP复制代码 对Cloudflare CDN IPv6地址开放HTTP/S入站访问 for i in `curl https://www.cloudflare.com/ips-v6`; do ip6tables -I INPUT -s $i -p tcp –dport 80 -j ACCEPT; done for i in `curl https://www.cloudflare.com/ips-v6`; do ip6tables -I INPUT -s $i -p tcp –dport 443 -j ACCEPT; done复制代码 保存iptables配置 iptables-save ip6tables-save复制代码 保存规则(路径:/etc/sysconfig/iptables和ip6tables) service iptables save service ip6tables save复制代码 开启iptables服务 systemctl enable iptables.service systemctl enable ip6tables.service复制代码 自动载入规则 chkconfig iptables on chkconfig ip6tables on复制代码 开启服务 systemctl start iptables.service systemctl start ip6tables.service复制代码 查看状态 systemctl status iptables.service systemctl status ip6tables.service复制代码 重启iptables systemctl restart iptables.service systemctl restart ip6tables.service复制代码 最终效果 |
