Firewalld 使用指南

女生的网名这么多〃 提交于 2020-01-07 20:05:04

1 firewalld的基本使用

 启动: 
 systemctl start firewalld
 
 查看状态: 
 systemctl status firewalld 
 
 禁用,禁止开机启动: 
 systemctl disable firewalld
 
 停止运行: 
 systemctl stop firewalld

 

2 配置firewalld-cmd

 查看版本: 
 firewall-cmd --version
 
 查看帮助: 
 firewall-cmd --help
 
 显示状态: 
 firewall-cmd --state
 
 查看所有打开的端口: 
 firewall-cmd --zone=public --list-ports

 更新防火墙规则: 
 firewall-cmd --reload

 更新防火墙规则,重启服务: 
 firewall-cmd --completely-reload

 查看已激活的Zone信息:  
 firewall-cmd --get-active-zones

 查看指定接口所属区域: 
 firewall-cmd --get-zone-of-interface=eth0

 拒绝所有包:
 firewall-cmd --panic-on

 取消拒绝状态: 
 firewall-cmd --panic-off

 查看是否拒绝: 
 firewall-cmd --query-panic

 

3 信任级别,通过Zone的值指定

 drop: 
 丢弃所有进入的包,而不给出任何响应
 
 block: 
 拒绝所有外部发起的连接,允许内部发起的连接
 public: 
 允许指定的进入连接 
 
 external: 
 同上,对伪装的进入连接,一般用于路由转发 

 dmz: 
 允许受限制的进入连接

 work: 
 允许受信任的计算机被限制的进入连接,类似 workgroup

 home: 
 同上,类似 homegroup
 internal: 
 同上,范围针对所有互联网用户

 trusted: 
 信任所有连接

 

4 firewall开启和关闭端口

 以下都是指在public的zone下的操作,不同的Zone只要改变Zone后面的值就可以
 
 添加:
 firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
 
 重新载入:
 firewall-cmd --reload
 
 查看:
 firewall-cmd --zone=public --query-port=80/tcp

 删除:
 firewall-cmd --zone=public --remove-port=80/tcp --permanent

 

5 管理服务

 以smtp服务为例, 添加到work zone
 
 添加:
 firewall-cmd --zone=work --add-service=smtp
 
 查看:
 firewall-cmd --zone=work --query-service=smtp
 
 删除:
 firewall-cmd --zone=work --remove-service=smtp

 

6 配置 IP 地址伪装

查看:
firewall-cmd --zone=external --query-masquerade

打开:
firewall-cmd --zone=external --add-masquerade

关闭:
firewall-cmd --zone=external --remove-masquerade

 

7 端口转发

   打开端口转发,首先需要打开IP地址伪装
 firewall-cmd --zone=external --add-masquerade
 
 转发 tcp 22 端口至 3753:
 firewall-cmd --zone=external --add-forward-port=22:porto=tcp:toport=3753
 
 转发端口数据至另一个IP的相同端口:
 firewall-cmd --zone=external --add-forward-port=22:porto=tcp:toaddr=192.168.1.112
 
 转发端口数据至另一个IP的 3753 端口:
 firewall-cmd --zone=external --add-forward-port=22:porto=tcp::toport=3753:toaddr=192.168.1.112

 

8 使用systemd管理

systemctl CentOS7.x 的服务管理工具中主要的工具,它融合之前 servicechkconfig 的功能于一体。

 启动一个服务:
 systemctl start firewalld.service
 
 关闭一个服务:
 systemctl stop firewalld.service
 
 重启一个服务:
 systemctl restart firewalld.service
 
 显示一个服务的状态:
 systemctl status firewalld.service

 在开机时启用一个服务:
 systemctl enable firewalld.service

 在开机时禁用一个服务:
 systemctl disable firewalld.service

 查看服务是否开机启动:
 systemctl is-enabled firewalld.service

 查看已启动的服务列表:
 systemctl list-unit-files|grep enabled

 查看启动失败的服务列表:
 systemctl --failed

1 firewalld的基本使用

 启动: 
 systemctl start firewalld
 
 查看状态: 
 systemctl status firewalld 
 
 禁用,禁止开机启动: 
 systemctl disable firewalld
 
 停止运行: 
 systemctl stop firewalld

 

2 配置firewalld-cmd

 查看版本: 
 firewall-cmd --version
 
 查看帮助: 
 firewall-cmd --help
 
 显示状态: 
 firewall-cmd --state
 
 查看所有打开的端口: 
 firewall-cmd --zone=public --list-ports

 更新防火墙规则: 
 firewall-cmd --reload

 更新防火墙规则,重启服务: 
 firewall-cmd --completely-reload

 查看已激活的Zone信息:  
 firewall-cmd --get-active-zones

 查看指定接口所属区域: 
 firewall-cmd --get-zone-of-interface=eth0

 拒绝所有包:
 firewall-cmd --panic-on

 取消拒绝状态: 
 firewall-cmd --panic-off

 查看是否拒绝: 
 firewall-cmd --query-panic

 

3 信任级别,通过Zone的值指定

 drop: 
 丢弃所有进入的包,而不给出任何响应
 
 block: 
 拒绝所有外部发起的连接,允许内部发起的连接
 public: 
 允许指定的进入连接 
 
 external: 
 同上,对伪装的进入连接,一般用于路由转发 

 dmz: 
 允许受限制的进入连接

 work: 
 允许受信任的计算机被限制的进入连接,类似 workgroup

 home: 
 同上,类似 homegroup
 internal: 
 同上,范围针对所有互联网用户

 trusted: 
 信任所有连接

 

4 firewall开启和关闭端口

 以下都是指在public的zone下的操作,不同的Zone只要改变Zone后面的值就可以
 
 添加:
 firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
 
 重新载入:
 firewall-cmd --reload
 
 查看:
 firewall-cmd --zone=public --query-port=80/tcp

 删除:
 firewall-cmd --zone=public --remove-port=80/tcp --permanent

 

5 管理服务

 以smtp服务为例, 添加到work zone
 
 添加:
 firewall-cmd --zone=work --add-service=smtp
 
 查看:
 firewall-cmd --zone=work --query-service=smtp
 
 删除:
 firewall-cmd --zone=work --remove-service=smtp

 

6 配置 IP 地址伪装

查看:
firewall-cmd --zone=external --query-masquerade

打开:
firewall-cmd --zone=external --add-masquerade

关闭:
firewall-cmd --zone=external --remove-masquerade

 

7 端口转发

   打开端口转发,首先需要打开IP地址伪装
 firewall-cmd --zone=external --add-masquerade
 
 转发 tcp 22 端口至 3753:
 firewall-cmd --zone=external --add-forward-port=22:porto=tcp:toport=3753
 
 转发端口数据至另一个IP的相同端口:
 firewall-cmd --zone=external --add-forward-port=22:porto=tcp:toaddr=192.168.1.112
 
 转发端口数据至另一个IP的 3753 端口:
 firewall-cmd --zone=external --add-forward-port=22:porto=tcp::toport=3753:toaddr=192.168.1.112

 

8 使用systemd管理

systemctl CentOS7.x 的服务管理工具中主要的工具,它融合之前 servicechkconfig 的功能于一体。

 启动一个服务:
 systemctl start firewalld.service
 
 关闭一个服务:
 systemctl stop firewalld.service
 
 重启一个服务:
 systemctl restart firewalld.service
 
 显示一个服务的状态:
 systemctl status firewalld.service

 在开机时启用一个服务:
 systemctl enable firewalld.service

 在开机时禁用一个服务:
 systemctl disable firewalld.service

 查看服务是否开机启动:
 systemctl is-enabled firewalld.service

 查看已启动的服务列表:
 systemctl list-unit-files|grep enabled

 查看启动失败的服务列表:
 systemctl --failed
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!