Centos7 配置防火墙 firewall

一、firewall

1、从CentOS7开始,默认使用firewall来配置防火墙,没有安装iptables(旧版默认安装)。

2、firewall的配置文件是以xml的格式,存储在 /usr/lib/firewalld/ 和 /etc/firewalld/ 目录中。

 (1)系统配置目录,目录中存放定义好的网络服务和端口参数,系统参数,不要修改。

1 /usr/lib/firewalld/
2 /usr/lib/firewalld/services
3 /usr/lib/firewalld/zones

 (2)用户配置目录

1 /etc/firewalld/
2 /etc/firewalld/services
3 /etc/firewalld/zones

3、特性

(1)firewalld是centos7的一大特性,最大的好处有两个:

  <1> 支持动态更新,不用重启服务

  <2> 加入了防火墙的“zone”概念 ,可以理解为 firewalld 的单位、规则集:

    1️⃣ drop(丢弃),任何接受的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网路连接。

    2️⃣ block(限制),任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝。

    3️⃣ public(公共),在公共区域内使用,不能相信网络内的其他计算机不会对你的计算机造成危害,只能接收经过选取的连接。

    4️⃣ external(外部),特别是为路由器启动了伪装功能的外部网。你不能相信来自网络的其他计算机,不能相信他们不会对你的计算机造成危害,只能接收经过选择的连接。

    5️⃣ dmz(非军事区),用于你的非军事区内的电脑,此区域内可公开访问,可以有限的进入你的内部网络,仅仅接收经过选择的连接。

    6️⃣ work(工作),用于工作区。你可以基本相信网络内的其他计算机不会危害到你。仅仅接收经过选择的连接。

    7️⃣ home(家庭),用于家庭网络。你可以基本相信网络内的其他计算机不会危害到你。仅仅接收经过选择的连接。

    8️⃣ internal(内部),用于内部网络。你可以基本相信网络内的其他计算机不会危害到你。仅仅接收经过选择的连接。

    9️⃣ trusted(信任),可接受所有的网络连接。

  

(2)firewalld有图形界面和工具界面

(3)firewalld的字符界面管理工具是 firewall-cmd 

二、配置防火墙

设置防火墙的方式有两种:firewall命令 、 直接修改配置文件

1、firewall命令

# 对外开放3306端口,供外部的计算机访问
# 该命令方式添加的端口,可在/etc/firewalld/zones中的对应配置文件中得到体现

firewall-cmd --zone=public --add-port=3306/tcp --permanent

# 重启防火墙
systemctl restart firewalld

说明:

  • firewall-cmd:Linux中提供的操作firewall的工具。
  • –zone:指定作用域。
  • –add-port=3306/tcp:添加的端口,格式为:端口/通讯协议。
  • –permanent:表示永久生效,没有此参数重启后会失效。

2、直接修改配置文件

比如:修改 /etc/firewalld/zones/public.xml 

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <port protocol="tcp" port="20"/>
  <port protocol="tcp" port="21"/>
  <port protocol="tcp" port="22"/>
  <port protocol="tcp" port="80"/>
  <port protocol="tcp" port="8888"/>
  <port protocol="tcp" port="39000-40000"/>
  <port protocol="tcp" port="3306"/>
</zone>

如上,需要开放的端口,已经添加再public这个区域里了。

三、firewall常用命令

1、查看状态

1 service firewalld status
2 3 systemctl status firewalld
4 5 firewall-cmd --state

2、启动、停止、重启

# 启动
service firewalld start
或
systemctl start firewalld

# 停止
service firewalld stop
或
systemctl stop firewalld

# 重启
service firewalld restart
或
systemctl restart firewalld

3、开机自启动

# 关闭开机自启动
systemctl disable firewalld

# 开启开机自启动
systemctl enable firewalld

4、查看防火墙规则

firewall-cmd --list-all

猜你喜欢

转载自www.cnblogs.com/cleven/p/11040143.html