Centos 7防火墙策略配置指南

—— 清听凌雪慕忆

@

1. 开启防火墙

1.1 user切换到root用户

[user@localhost ~] su root
密码:
[root@localhost home]# cd ~
[root@localhost ~]#

1.2 查看防火墙服务状态

 systemctl status firewalld

在这里插入图片描述

1.3 查看firewall的状态

 systemctl firewall state 或 firewall-cmd --state

在这里插入图片描述

1.4 启动/关闭防火墙

# 启动防火墙
 systemctl start firewalld

# 重启防火墙
 systemctl restart firewalld  或  systemctl reload firewalld

# 关闭
 systemctl stop firewalld

# 设置开机自启动防火墙
 systemctl enable firewalld.service

# 查看防火墙设置开机自启是否成功
 systemctl is-enabled firewalld.service

在这里插入图片描述

如下图所示,即为防火墙设置开机自启是否成功。

在这里插入图片描述

2. 防火墙端口配置

在开启防火墙之后,我们有些服务就会访问不到,是因为服务的相关端口没有打开。

2.1 查看已开启端口

 firewall-cmd --list-ports 或 netstat -ntlp

2.2 查看防火墙规则

 firewall-cmd --list-all 

在这里插入图片描述

2.3 查看允许协议

 firewall-cmd --list-protocals

2.4 开启、关闭、查询端口

本次以开启80端口为例。

# 查询端口是否开放
 firewall-cmd --query-port=80/tcp

在这里插入图片描述

命令规则:

--permanent:表示永久生效,若没有重启失效;

-- zone :表示作用域

--add-port=80/tcp 表示添加端口,格式为端口/通讯协议

开启端口的关键字:add

移除的关键字:remove

# 永久增加/开启80端口
 firewall-cmd --permanent --add-port=80/tcp
 firewall-cmd --permanent --add-port=998/tcp
 firewall-cmd --add-port=999/tcp
# 重启防火墙服务
 systemctl restart firewalld
# 删除端口 
firewall-cmd --remove-port=999/tcp

在这里插入图片描述

在这里插入图片描述

3. 防火墙ip指向限制配置

3.1 允许指定ip访问所有流量

允许ip访问的关键字:accept

阻止ip访问的关键字:drop

# 开启192.168.43.88访问
 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.43.100" accept"

# 重启防火墙服务
firewall-cmd --reload

# 禁止192.168.43.88访问
 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.43.100" drop"

3.2 允许指定ip访问指定端口

# 允许IPV4 Ip是8.8.8.8 连接端口80 accept表示允许使用
 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="8.8.8.8" port protocol="tcp" port="80" accept"

# 允许IPV4 Ip是10.168.186.25 连接端口22 accept表示允许使用
 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.168.186.25" port protocol="tcp" port="22" accept"

 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.168.186.25,10.168.186.211" port protocol="tcp" port="3306" accept"

 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.168.186.0/24" port protocol="tcp" port="22" accept"

# 以上运行完后提示success则表示配置成功

3.3 允许指定ip访问指定协议

# 阻止ICMP包
 firewall-cmd  --permanent --add-rich-rule="rule protocol value="icmp" drop"

# 允许特定地址通过icmp
 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="120.12.23.136" protocol value="icmp" accept"

3.4 允许指定ip访问指定服务

# 允许特定地址可以访问SSH服务
 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.168.186.25" service name="ssh" accept"

3.5 防火墙移除某个服务

 firewall-cmd --remove-rich-rule="rule family="ipv4" source address="10.168.186.25" service name="ssh" drop"
#从允许通过防火墙的列表里移除SSH服务
 sudo firewall-cmd --remove-service=ssh --permanent

 firewall-cmd --remove-rich-rule="rule protocol value="icmp" drop" --permanent

在这里插入图片描述

3.6 其他

# 重启防火墙(修改配置后要重启防火墙)
 firewall-cmd --reload 

# 加入白名单
 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="8.8.8.8" port protocol="tcp" port="80" accept"

# 查看规则
 firewall-cmd --list-rich-rules
# 显示是
 rule family="ipv4" source address="8.8.8.8" port port="80" protocol="tcp" accept
# 删除规则
 firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="8.8.8.8" port port="80" protocol="tcp" accept"

# 注意端口添加,删除后要更新防火墙
 firewall-cmd --reload

4. 获取所有支持的服务

firewall-cmd --get-services

在这里插入图片描述

4.1 增加、删除和服务

# 增加服务 (临时增加)
firewall-cmd --add-service=http
# 删除服务 (临时删除)
firewall-cmd --remove-service=http
# 查询服务
firewall-cmd --query-service=http

>“不是看到了希望才去坚持,而是坚持了才能看到希望”
image