共计 2005 个字符,预计需要花费 6 分钟才能阅读完成。
站长都清楚 CentOS 是一个基于 Red Hat Linux 提供的可自由使用源代码的企业级 Linux 发行版本。而 CentOS7 默认的防火墙不是 iptables, 而是 firewalle,在使用过程中需要自行安装 iptables 防火墙,下面整理了详细教程。
安装 iptable iptable-service:
先检查是否安装了 iptables
#service iptables status 安装 iptables #yum install -t iptables 升级 iptables #yum update iptables 安装 iptables-services #yum install iptables-services |
禁用 firewalld 服务:
禁用 / 停止自带的 firewalld 服务
#systemctl stop firewalld #systemctl mask firewalld |
设置现有规则:
查看 iptables 现有规则
#iptables -L -n 先允许所有,防止后面操作出现错误 #iptables -P INPUT ACCEPT 清空所有默认规则 #iptables -F 清空所有自定义规则 #iptables -Z 允许来自与 lo 接口的数据包(本地访问) #iptables -A INPUT -i lo -j ACCEPT 开放 22 端口 #iptables -A INPUT -p tcp –dport 22 -j ACCEPT 开放 21 端口(FTP) #iptables -A INPUT -p tcp –dport 21 -j ACCEPT 开放 80 端口(HTTP) #iptables -A INPUT -p tcp –dport 80 -j ACCEPT 开放 443 端口(HTTPS) #iptables -A INPUT -p tcp –dport 443 -j ACCEPT 允许 ping #iptables -A INPUT -p icmp –icmp-type 8 -j ACCEPT 允许接收本机请求之后的返回数据 RELATED,是为 FTP 设置的 #iptables -A INPUT -m state –state RELATED,ESTABLSHED -j ACCEPT 其他入站一律丢弃 #iptables -P INPUT DROP 设置出站允许规则 #iptables -P INPUT ACCEPT 所有转发一律丢弃 #iptables -P FORWARD DROP |
其他规则设定:
如果要添加内网 ip 新人(接收其所有 TCP 请求)
#iptables -A INPUT -p tcp -s 192.168.0.1 -j ACCEPT 过滤所有非以上规则的请求 #iptables -P INPUT DROP 要封停一个 IP,使用下面命令: #iptables -I INPUT -s ***.***.***.*** -j DROP 要解封一个 IP,使用下面这条命令: #iptables -D INPUT -s ***.***.***.*** -j DROP |
保存规则设定:
保存上述规则
#service iptables save |
开启 iptables 服务:
#systemctl start iptables.service
查看状态 #systemctl status iptables.service |
解决 vsftpd 在 iptables 开启后,无法使用被动模式的问题
首先在 /etc/sysconfig/iptables-config 中修改或者添加以下内容:
添加以下内容,注意顺序不能调换
IPTABLES_MODULE=“ip_conntrack_ftp” IPTABLES_MODULES=“ip_nat_ftp” |
重新设置 iptables 设置:
#iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT |
以下为完整设置脚本
#!/bin/sh
iptables -P INPUT ACCEPT iptables -F iptables -X iptables -Z iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp –dport 22 -j ACCEPT iptables -A INPUT -p tcp –dport 21 -j ACCEPT iptables -A INPUT -p tcp –dport 80 -j ACCEPT iptables -A INPUT -p tcp –dport 443 -j ACCEPT iptables -A INPUT -p icmp –icmp-type 8 -j ACCEPT iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP service iptables save systemctl restart iptables.service |
以上就是 CentOS7 安装 iptables 防火墙教程全面介绍,大家可以参考上面的方法,后期小编也会继续为大家分享建站教程。