上一章
我使用的系统为centos7
firewalld启动停止等操作
systemctl start firewalld
开启防火墙
systemctl stop firewalld
关闭防火墙
systemctl restart firewalld
重启防火墙
systemctl status firewalld
查看防火墙状态
active (running) 开启状态
inactive (dead) 关闭状态
firewall-cmd --state
也是查看防火墙状态
running 运行状态
not running 没有运行状态
systemctl enable firewalld
开启自启防火墙
systemctl disable firewalld
不开机自启
查看可用区域
firewall-cmd --get-zones
block dmz drop external home internal public trusted work
每个单词都是一个区域,居于具体的东西,去看第一章介绍
查看可用服务
firewall-cmd --get-services
这些就是可以在防火墙上直接写入放行等一系列操作的服务
可用的ICMP阻塞类型
firewall-cmd --get-icmptypes
危险命令:[立即生效]
拒绝所有包
firewall-cmd --panic-on
取消拒绝状态
firewall-cmd --panic-off
查看是否拒绝
firewall-cmd --query-pani
如果是远程的机器执行上面的规则会立刻断开网络连接,必须紧记不能随便执行。如果你只是虚拟机或者物理机器登陆就可以执行来调试。
防火墙规则文件目录位置
/etc/firewalld/zones/
显示当前系统的默认区域
firewall-cmd --get-default-zone
当前使用的public区域的配置,他默认配置都是放行,ssh,dhcp,icmp的
显示默认区域的所有规则
firewall-cmd --list-all
可以看到我们放行的服务以及端口号
显示网络接口的对应区域
我的网络接口为ens33所以我就拿他当例子了
firewall-cmd --get-zone-of-interface=ens33
可以看到当前我们的接口 在public接口里,我们对public做的配置就生效在这个接口上
更改网络接口区域
firewall-cmd --zone=internal --change-interface=ens33
我们把ens33网卡放到internal区域里,现在对internal的配置就会生效,刚刚public就失效了
查看此区域的接口列表
如果你想查看某个区域下都有那些网络接口
firewall-cmd --zone=public --list-interfaces
这里的命令就是查看public下有那些
显示所有激活区域
firewall-cmd --get-active-zones
设置默认区域允许访问http、https服务
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
重新加载配置即可生效
设置internal区域允许访问的服务允许访问mysql
firewall-cmd --zone=internal --add-service=mysql
不允许访问samba-client服务
firewall-cmd --zone=internal --remove-service=samba-client
显示internal区域允许访问的所有服务
firewall-cmd --zone=internal --list-services
添加tcp443端口
firewall-cmd --zone=internal --add-port=443/tcp --permanent
如果去掉--zone=... 那么就是默认区域
禁止443端口访问
firewall-cmd --zone=internal --remove-port=443/tcp --permanent