Firewalld防火墙

admin2024-07-02  21

今天给大家分享一些firewalld防火墙常见的维护命令

  • 查看防火墙状态

systemctl status firewalld
  • 关闭防火墙

systemctl stop firewalld
  • 开启防火墙

systemctl start firewalld
  • 永久开启防火墙

systemctl enable firewalld
  • 永久关闭防火墙

systemctl disable firewalld
  • 重载防火墙规则

firewall-cmd --reload
  • 查看防火墙状态

firewall-cmd --state 
  • 查看版本

firewall-cmd --version
  • 查看帮助

firewall-cmd --help
  • 查看所有配置信息

# --zone可以指定区域,不指定为默认的区域
firewall-cmd --list-all --zone=work
  • 查看所有开放的端口

# --zone可以指定区域,不指定为默认的区域
firewall-cmd --list-ports --zone=work
  • 查看所有允许的服务

# --zone可以指定区域,不指定为默认的区域
firewall-cmd --list-services --zone=work
  • 获取所有支持的服务

firewall-cmd --get-services
  • 拒绝所有包

firewall-cmd --panic-on
  • 取消拒绝状态

firewall-cmd --panic-off
  • 查看是否拒绝

firewall-cmd --query-panic
  • 禁用传统防火墙服务

systemctl mask iptables
systemctl mask ip6tables
systemctl mask ebtables
  • 将网络接口关联至drop区域

# 使用--permanent表示永久生效,需要使用--reload才行
firewall-cmd --permanent --change-interface=eth0 --zone=drop
firewall-cmd --reload
  • 添加网段白名单

# 对192.168.47网段生效
firewall-cmd --permanent --add-source=192.168.47.0/24 --zone=trusted
# 对192.168.47.101地址生效
firewall-cmd --permanent --add-source=192.168.47.101/32 --zone=trusted
firewall-cmd --reload
  • 开放指定端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
  • 添加多个端口

firewall-cmd --permanent --zone=public --add-port=8080-8083/tcp
  • 移除开放的端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --reload
  • 允许访问http,https服务

firewall-cmd --permanent --add-service=http --add-service=https 
firewall-cmd --reload
  • 移除开放访问的服务

firewall-cmd --permanent --remove-service=http 
firewall-cmd --reload
  • 流量转发命令

firewall-cmd  --permanent --zone=<区域> --add-forward-port=port=<源端口>:proto=<协议>:toport=<目的端口>:toaddr=<目的地址>
​
# 将本机2222/tcp端口转发至192.168.47.111:22端口
# 开启IP伪装
firewall-cmd --permanent --add-masquerade
​
# 配置端口转发规则
firewall-cmd  --permanent --zone=public --add-forward-port=port=2222:proto=tcp:toport=22:toaddr=192.168.47.111
​
firewall-cmd --reload
  • 删除端口转发规则

firewall-cmd  --permanent --zone=public --remove-forward-port=port=2222:proto=tcp:toport=22:toaddr=192.168.47.111
  • 仅允许192.168.47.111访问8080端口

firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.47.111/32 port port=8080 protocol=tcp accept'
  • 将192.168.47.111加入白名单

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.47.111" accept" 
    
  • 删除配置的规则

firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.47.111/32" port port="8080" protocol="tcp" accept' 
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.47.111" accept"
  • 拒绝192.168.47.111访问ssh服务

firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.47.111/32 service name=ssh drop'
  • 将远程192.168.47.1主机请求firewalld的3333端口转发至本机22端口

firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.207.1/24 forward-port port=81 protocol=tcp to-port=80'
  • 获取所有支持的ICMP类型

firewall-cmd --get-icmptypes
  • 启用区域的 ICMP 阻塞功能

# 不加zone表示默认的区域
firewall-cmd [--zone=<zone>] --add-icmp-block=<icmptype>
firewall-cmd --add-icmp-block=echo-request
  • 禁止区域的 ICMP 阻塞功能

firewall-cmd [--zone=<zone>] --remove-icmp-block=<icmptype>
  • 查询区域的 ICMP 阻塞功能

firewall-cmd [--zone=<zone>] --query-icmp-block=<icmptype>
  • firewalld富规则

firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.207.0/24 accept'
firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.207.0/24 reject'
firewall-cmd --add-rich-rule='rule family=ipv4 destination address=192.168.207.0/24 drop'
​
firewall-cmd --remove-rich-rule='rule family=ipv4 source address=192.168.207.0/24 accept'
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!