想必使用firewalld的人对这个防火墙都多少有所耳闻叭,那我就不多说什么了,直接给你们命令叭。
有什么错误的地方请及时联系,看到后会改正。thx!!!
firewalld区域划分
区域的划分有:
block dmz drop external home internal public trusted work
主要常用的区域是:
– public:仅允许访问本机的ssh dhcp ping服务
– trusted:允许任何访问
– block:阻塞任何来访请求(明确拒绝,有回应客户端)
– drop:丢弃任何来访的数据包(没有回应,节省服务端资源)
firewalld启动、关闭及重启
systemctl start firewalld //启动
systemctl stop firewalld //停止
systemctl status firewalld //查看状态
以下所有的命令执行完毕后都需要执行:
重新加载:firewalld-cmd --reload
or
重启:systemctl restart firewalld
查看版本
firewall-cmd --version
查看所有区域信息
firewall-cmd –list-all-zones
更改区域
firewall-cmd --permanent --set-default-zone=drop
//将默认区域改为drop区域
//上述中的--permanent表示永久生效,不加的话重启即失效
查看当前区域
firewall-cmd --get-default-zone
添加源IP
firewall-cmd --zone='区域名' --add-source='ip地址'
查看当前开放的端口
firewalld-cmd --zone=public –list-ports
添加、删除端口
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --remove-port=80/tcp
//上述中的--permanent表示永久生效,不加的话重启即失效
切换接口
firewall-cmd --permanent --zone=drop --change-interface=eth0
//上述这个命令是eth0接口切换到drop区域,丢弃这个接口所有的包
指定IP访问端口
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="122.96.30.0/24" port protocol="tcp" port="80" accept'
//IP是你们自己的,需注意:配置指定IP访问,不需要开放其端口。
删除指定IP访问端口
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="122.96.30.0/24" port protocol="tcp" port="80" accept'
拒绝IP访问某端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"
删除拒绝IP访问某端口
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"
拒绝IP访问
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="123.44.55.66" drop'
删除拒绝IP访问
firewall-cmd --permanent --remove-rich-rule='rule family=ipv4 source address="123.44.55.66" drop'
应急命令
非必要不要使用
firewall-cmd --panic-on # 拒绝所有流量,远程连接会立即断开,只有本地能登陆
firewall-cmd --panic-off # 取消应急模式,但需要重启firewalld后才可以远程ssh
firewall-cmd --query-panic # 查看是否为应急模式