开启和关闭防火墙

1
2
systemctl start firewalld
systemctl stop firewalld

配置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

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

drop: 丢弃所有进入的包,而不给出任何响应 block: 拒绝所有外部发起的连接,允许内部发起的连接 public: 允许指定的进入连接 external: 同上,对伪装的进入连接,一般用于路由转发 dmz: 允许受限制的进入连接 work: 允许受信任的计算机被限制的进入连接,类似 workgroup home: 同上,类似 homegroup internal: 同上,范围针对所有互联网用户 trusted: 信任所有连接

打开和关闭端口

firewall开启和关闭端口 以下都是指在public的zone下的操作,不同的Zone只要改变Zone后面的值就可以 添加:

1
firewall-cmd --zone=public --add-port=80/tcp --permanent    #(--permanent永久生效,没有此参数重启后失效)

重新载入:

1
firewall-cmd --reload

查看:

1
firewall-cmd --zone=public --query-port=80/tcp

删除:

1
firewall-cmd --zone=public --remove-port=80/tcp --permanent

管理服务

以smtp服务为例, 添加到work zone 添加:

1
firewall-cmd --zone=work --add-service=smtp

查看:

1
firewall-cmd --zone=work --query-service=smtp

删除:

1
firewall-cmd --zone=work --remove-service=smtp

配置 IP 地址伪装

查看:

1
firewall-cmd --zone=external --query-masquerade

打开:

1
firewall-cmd --zone=external --add-masquerade

关闭:

1
firewall-cmd --zone=external --remove-masquerade

端口转发

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#开启系统路由模式功能
echo net.ipv4.ip_forward=1>>/etc/sysctl.conf
#运行这个命令会输出上面添加的那一行信息,意思是使内核修改生效
sysctl -p
#开启firewalld
systemctl start firewalld
#开启4650端口监听tcp请求
firewall-cmd --zone=public --add-port=4650/tcp --permanent
#设置IP地址伪装
firewall-cmd --add-masquerade --permanent
#设置端口映射
firewall-cmd --add-forward-port=port=4650:proto=tcp:toaddr=203.205.128.15:toport=465 --permanent
#转发 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

重启firewall

1
firewall-cmd --reload

查看规则

1
2
3
4
5
查询:

firewall-cmd --list-forward-port
firewall-cmd --list-port
firewall-cmd --list-all