Firewalld 使用指南

2019-12-15 17:17:09 浏览数 (1)

1 firewalld的基本使用

代码语言:javascript复制
 1启动: 
 2systemctl start firewalld
 3
 4查看状态: 
 5systemctl status firewalld 
 6
 7禁用,禁止开机启动: 
 8systemctl disable firewalld
 9
10停止运行: 
11systemctl stop firewalld

2 配置firewalld-cmd

代码语言:javascript复制
 1查看版本: 
 2firewall-cmd --version
 3
 4查看帮助: 
 5firewall-cmd --help
 6
 7显示状态: 
 8firewall-cmd --state
 9
10查看所有打开的端口: 
11firewall-cmd --zone=public --list-ports
12
13更新防火墙规则: 
14firewall-cmd --reload
15
16更新防火墙规则,重启服务: 
17firewall-cmd --completely-reload
18
19查看已激活的Zone信息:  
20firewall-cmd --get-active-zones
21
22查看指定接口所属区域: 
23firewall-cmd --get-zone-of-interface=eth0
24
25拒绝所有包:
26firewall-cmd --panic-on
27
28取消拒绝状态: 
29firewall-cmd --panic-off
30
31查看是否拒绝: 
32firewall-cmd --query-panic

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

代码语言:javascript复制
 1drop: 
 2丢弃所有进入的包,而不给出任何响应
 3
 4block: 
 5拒绝所有外部发起的连接,允许内部发起的连接
 6
 7public: 
 8允许指定的进入连接 
 9
10external: 
11同上,对伪装的进入连接,一般用于路由转发 
12
13dmz: 
14允许受限制的进入连接
15
16work: 
17允许受信任的计算机被限制的进入连接,类似 workgroup
18
19home: 
20同上,类似 homegroup
21
22internal: 
23同上,范围针对所有互联网用户
24
25trusted: 
26信任所有连接

4 firewall开启和关闭端口

代码语言:javascript复制
 1以下都是指在public的zone下的操作,不同的Zone只要改变Zone后面的值就可以
 2
 3添加:
 4firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
 5
 6重新载入:
 7firewall-cmd --reload
 8
 9查看:
10firewall-cmd --zone=public --query-port=80/tcp
11
12删除:
13firewall-cmd --zone=public --remove-port=80/tcp --permanent

5 管理服务

代码语言:javascript复制
 1以smtp服务为例, 添加到work zone
 2
 3添加:
 4firewall-cmd --zone=work --add-service=smtp
 5
 6查看:
 7firewall-cmd --zone=work --query-service=smtp
 8
 9删除:
10firewall-cmd --zone=work --remove-service=smtp

6 配置 IP 地址伪装

代码语言:javascript复制
1查看:
2firewall-cmd --zone=external --query-masquerade
3
4打开:
5firewall-cmd --zone=external --add-masquerade
6
7关闭:
8firewall-cmd --zone=external --remove-masquerade

7 端口转发

代码语言:javascript复制
 1打开端口转发,首先需要打开IP地址伪装
 2firewall-cmd --zone=external --add-masquerade
 3
 4转发 tcp 22 端口至 3753:
 5firewall-cmd --zone=external --add-forward-port=22:porto=tcp:toport=3753
 6
 7转发端口数据至另一个IP的相同端口:
 8firewall-cmd --zone=external --add-forward-port=22:porto=tcp:toaddr=192.168.1.112
 9
10转发端口数据至另一个IP的 3753 端口:
11firewall-cmd --zone=external --add-forward-port=22:porto=tcp::toport=3753:toaddr=192.168.1.112

8 使用systemd管理

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

代码语言:javascript复制
 1启动一个服务:
 2systemctl start firewalld.service
 3
 4关闭一个服务:
 5systemctl stop firewalld.service
 6
 7重启一个服务:
 8systemctl restart firewalld.service
 9
10显示一个服务的状态:
11systemctl status firewalld.service
12
13在开机时启用一个服务:
14systemctl enable firewalld.service
15
16在开机时禁用一个服务:
17systemctl disable firewalld.service
18
19查看服务是否开机启动:
20systemctl is-enabled firewalld.service
21
22查看已启动的服务列表:
23systemctl list-unit-files|grep enabled
24
25查看启动失败的服务列表:
26systemctl --failed

0 人点赞