Firewalld常用操作
Linux系统默认使用firewalld进行防火墙管理,以前一直使用iptable,使用firewalld还不太熟悉,记录一些简单的操作,方便日后使用。
一、基本的状态查询:
1、查看版本信息:
1 | firewall-cmd --version |
2、查看所有放行的端口:
1 | firewall-cmd --list-ports |
3、查看public下放行的端口:
1 | firewall-cmd --zone=public --list-ports |
4、查看配置信息:
1 | firewall-cmd --list-all |
5、查看区域信息:
1 | firewall-cmd --get-active-zones |
6、查看指定网络接口所属区域:
1 | firewall-cmd --get-zone-of-interface=eth0 |
7、显示状态:
1 | firewall-cmd --state |
二、在主机上开放和禁用端口:
1、开放TCP/UDP端口:
1 | firewall-cmd --zone=public --add-port=端口/tcp --permanent |
如开放连续tcp端口:
1 | firewall-cmd --zone=public --add-port=8001-8010/tcp --permanent |
如开放多个tcp端口:
1 | firewall-cmd --add-port={80/tcp,443/tcp,3306/tcp} --permanent |
2、删除TCP/UDP端口:
1 | firewall-cmd --zone=public --remove-port=端口/tcp --permanent |
3、查看TCP/UDP端口:
1 | firewall-cmd --zone=public --query-port=端口/tcp |
4、使配置生效:
1 | firewall-cmd --reload |
5、查看配置是否生效:
1 | firewall-cmd --zone=public --list-all |
注意参数“–permanent”是永乐生效,不加此参数系统重启后失效。
三、网络接口与Zone:
1、查看eth0网络接口在哪个zone下面:
1 | firewall-cmd --get-zone-of-interface=eth0 |
2、将eth0网络接口从zone中移除并查看操作是否生效:
1 | firewall-cmd --remove-interface=eth0 |
3、添加一个网络接口并查看操作是否生效:
1 | firewall-cmd --add-interface=eth0 |
4、将eth0网络接口跟zone进行相关联并查看操作是否生效:
1 | firewall-cmd --change-interface=eth0 --zone=public --permanent |
四、封禁指定IP(段)或放行IP(段):
1、禁用一个ip地址或网段的所有访问并查看配置是否生效:
1 | firewall-cmd --add-source=10.0.0.8/24 --zone=drop |
2、允许一个ip地址或网段访问并查看配置是否生效:
1 | firewall-cmd --add-source=10.0.0.8/24 --zone=trusted |
3、移除ip地址或网段的访问并查看配置是否生效:
1 | firewall-cmd --remove-source=10.0.0.8/32 --zone=trusted |
五、使用端口转发:
1、启用转发端口:
1 | firewall-cmd --add-masquerade --permanent |
2、添加TCP/UDP等协议的端口转发:
1 | firewall-cmd --zone=<区域> --add-forward-port=port=<本地端口>:proto=<协议>:toaddr=<目标IP地址>:toport=<目标端口> --permanent |
如:使用本机(ip为10.0.0.6)5555端口访问远程电脑(IP为10.0.0.7)的22端口,使用TCP协议:
1 | firewall-cmd --zone=public --add-forward-port=port=5555:proto=tcp:toaddr=10.0.0.7:toport=22 --permanent |
这样就可以通过连接10.0.0.6的5555端口来访问10.0.0.7的22端口了。
3、删除端口转发配置:
1 | firewall-cmd --zone=区域 --remove-forward-port=port=本地端口:proto=协议:toaddr=目标IP:toport=目标端口 --permanent |
4、禁用转发端口:
1 | firewall-cmd --remove-masquerade --permanent |
六、firewalld系统服务管理:
1、更新应用配置:
1 | firewall-cmd --reload |
2、启动防火墙:
1 | systemctl start firewalld |
3、开机自启动:
1 | systemctl enable firewalld |
4、关闭防火墙:
1 | systemctl stop firewalld |
5、关闭开机自启动:
1 | systemctl disable firewall |