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 的服务管理工具中主要的工具,它融合之前 service和 chkconfig 的功能于一体。
代码语言: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