Centos防火墙基本指令
systemctl status firewalld.service
systemctl start firewalld.service
systemctl stop firewalld.service
systemctl restart firewalld.service
systemctl enable/disable firewalld.service
systemctl is-enabled firewalld.service
查看防火墙所有信息:firewall-cmd --list-all查看已激活的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
firewall-cmd --zone=public --query-port=3306/tcp
firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --zone=public --remove-port=3306/tcp --permanent命令含义:–zonedrop: 丢弃所有进入的包,而不给出任何响应block: 拒绝所有外部发起的连接,允许内部发起的连接public: 允许指定的进入连接external: 同上,对伪装的进入连接,一般用于路由转发dmz: 允许受限制的进入连接work: 允许受信任的计算机被限制的进入连接,类似 workgrouphome: 同上,类似 homegroupinternal: 同上,范围针对所有互联网用户trusted: 信任所有连接–add-port=3306/tcp–permanentfirewall-cmd --reload 并不中断用户连接,即不丢失状态信息
https服务为例 return yes or no查询firewall-cmd --zone=work --query-service=https添加firewall-cmd --zone=work --add-service=https移除firewall-cmd --zone=work --remove-service=https
查询firewall-cmd --zone=external --query-masquerade添加firewall-cmd --zone=external --add-masquerade移除firewall-cmd --zone=external --remove-masquerade开启ip地址伪装是实现端口转发的前提条件:将tcp的3306端口转发到2598firewall-cmd --zone=external --add-forward-port=3306:porto=tcp:toport=2598转发端口数据至另一个IP的相同端口:firewall-cmd --zone=external --add-forward-port=3306:porto=tcp:toaddr=192.168.10.20转发端口数据至另一个IP的 2500端口:firewall-cmd --zone=external --add-forward-port=3306:porto=tcp:toport=2500:toaddr=192.168.10.20
IP封禁
添加add-rich-rule / 移除remove-rich-rule单个IPfirewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='111.111.111.111' reject"IP段firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='111.111.111.0/24' reject"允许单个IP的某个端口firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address=192.168.10.2 port port=80 protocol=tcp accept"查看屏蔽结果firewall-cmd --list-rich-rules
