2Centos7 安装iptables防火墙 · SpringCloud微服务实战 · 看云

导航


CentOS7默认的防火墙不是iptables,而是firewalle.

1. 安装iptable iptable-service

1.1 先检查是否安装了

service iptables status

1.2 安装iptables

yum install -y iptables

1.3 升级iptables

yum update iptables

1.4 安装iptables-service

yum install iptables-services

2. 禁用/停止自带的firewalld服务

2.1 停止firewalld服务

systemctl stop firewalld

2.2 禁用firewalld服务

systemctl mask firewalld

3. 设置现有规则

3.1 查看iptables现有规则

iptables -L -n

3.2 先允许所有,不然有可能会杯具

iptables -P INPUT ACCEPT

3.3 清空所有默认规则

iptables -F

3.4 清空所有自定义规则

iptables -X

3.5 所有计数器归0

iptables -Z

3.6 允许来自于lo接口的数据包(本地访问)

iptables -A INPUT -i lo -j ACCEPT

3.7 开放22端口

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

3.8 开放21端口(FTP)

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

3.9 开放80端口(HTTP)

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

3.10 开放443端口(HTTPS)

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

3.11 允许ping

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

3.12 允许接受本机请求之后的返回数据 RELATED,是为FTP设置的

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

3.13 其他入站一律丢弃

iptables -P INPUT DROP

3.14 所有出站一律绿灯

iptables -P OUTPUT ACCEPT

3.15 所有转发一律丢弃

iptables -P FORWARD DROP

4. 其他规则设定

4.1 如果要添加内网ip信任(接受其所有TCP请求)

iptables -A INPUT -p tcp -s 127.0.0.1 -j ACCEPT

4.2 过滤所有非以上规则的请求

iptables -P INPUT DROP

4.3 要封停一个IP,使用下面这条命令:

iptables -I INPUT -s ***.***.***.*** -j DROP

4.4 要解封一个IP,使用下面这条命令:

iptables -D INPUT -s ***.***.***.*** -j DROP

5. 保存规则设定

5.1 保存上述规则

service iptables save

5.2 开启iptables服务

注册iptables服务
相当于以前的chkconfig iptables on

systemctl enable iptables.service

5.2.1 开启服务

systemctl start iptables.service

5.2.2 查看状态

systemctl status iptables.service