LINUX防火墙firewall常用命令

“本文介绍了firewall防火墙的常用简单命令,以CentOS系统为例展示了防火墙的启用、关闭及通行规则设置等命令。

  • 查看/开启/关闭/重启/加载防火墙
  • 防火墙开机自启设置
  • 按端口查询/开放/移除放行规则
  • 按服务查询/开放/移除放行规则
  • 端口转发
  • 扩展

查看/开启/关闭/重启/加载防火墙

#查看防火墙状态
systemctl status firewalld
#开启防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld
#重启防火墙
systemctl restart firewalld
# 重新加载防火墙
firewall-cmd --reload
firewall-cmd --complete-reload
# 两者的区别就是第一个不会断开连接,就是firewalld特性之一动态添加规则,第二个会断开所有连接,类似重启服务加载
图片

防火墙开机自启设置

#查看防火墙是否自启,disabled则是开机不自动启动的
systemctl is-enabled firewalld
#设置防火墙开机自启
systemctl enable firewalld
#设置防火墙禁止开机自启
systemctl disable firewalld
图片

按端口查询/开放/移除放行规则

#查询所有已经开放的端口列表
firewall-cmd --zone=public --list-ports
#查看指定端口开放状态
firewall-cmd --zone=public --query-port=端口号/协议
#永久开放指定端口,permanent参数为永久生效去掉则重启后失效
firewall-cmd --permanent --zone=public --add-port=端口/协议
#永久移除已开放的指定端口,permanent参数为永久生效去掉则重启后失效
firewall-cmd --permanent --zone=public --remove-port=端口/协议
#批量开放多个连续端口
firewall-cmd --permanent --zone=public --add-port=端口-端口/协议
#移除批量开放的连续端口,端口范围需与开放时的范围一致
firewall-cmd --permanent --zone=public --add-port=端口-端口/协议


#永久开放或移除服务开放规则后需重新加载防火墙规则后生效,临时的无需重新加载
firewall-cmd --reload
图片

按服务查询/开放/移除放行规则

#查询支持开放的服务列表
firewall-cmd --get-services
#查询已开放的服务列表
firewall-cmd --zone=public --list-services
#查询某个服务是否开放
firewall-cmd --zone=public --query-service=服务名
#永久开放指定服务,permanent参数为永久生效去掉则重启后失效
firewall-cmd --permanent --zone=public --add-service=服务名
#永久移除指定服务,permanent参数为永久生效去掉则重启后失效
firewall-cmd --permanent --zone=public --remove-service=服务名

#永久开放或移除服务开放规则后需重新加载防火墙规则后生效,临时的无需重新加载
firewall-cmd --reload
图片

端口转发

#查看所有端口转发规则
firewall-cmd --zone=public --list-forward
#本机端口转发,将80端口的流量转发至8080端口,permanent参数为永久生效去掉则重启后失效
firewall-cmd  --permanent --zone=public --add-forward-port=port=80:proto=tcp:toport=8080
#服务器之间转发,将本机80端口的流量转发至192.168.0.12服务器上,permanent参数为永久生效去掉则重启后失效
firewall-cmd  --permanent --zone=public --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.12 --permanent
#服务器之间转发,将本机80端口的流量转发至192.168.0.12的8080端口上,permanent参数为永久生效去掉则重启后失效
firewall-cmd  --permanent --zone=public --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.12:toport=8080 --permanent
#移除端口转发规则
firewall-cmd  --permanent --zone=public --remove-forward-port=port=80:proto=tcp:toport=8080

#永久开放或移除服务开放规则后需重新加载防火墙规则后生效,临时的无需重新加载
firewall-cmd --reload

#服务器之间转发需允许防火墙伪装IP
firewall-cmd --query-masquerade  # 检查是否允许伪装IP
firewall-cmd --add-masquerade    # 允许防火墙伪装IP
firewall-cmd --remove-masquerade # 禁止防火墙伪装IP
图片

扩展

zone的概念

命令中如果不加zone信息,会将规则作用于默认域

 #查看默认域
 firewall-cmd --get-default-zone
  • public(公共) —— [默认]公网访问,不受任何限制。
  • work(工作) —— 用于工作区。基本信任的网络,仅仅接收经过选择的连接。
  • home(家庭) —— 用于家庭网络。基本信任的网络,仅仅接收经过选择的连接。
  • trusted(信任) —— 接收的外部网络连接是可信任、可接受的。
  • block(限制) —— 任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝。
  • dmz(隔离区) —— 英文”demilitarized zone”的缩写,此区域内可公开访问,它是非安全系统与安全系统之间的缓冲区。
  • drop(丢弃) —— 任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
  • external(外部) —— 允许指定的外部网络进入连接,特别是为路由器启用了伪装功能的外部网。
  • internal(内部) —— 内部访问。只限于本地访问,其他不能访问。

firewall-cmd常用命令格式

#列出放行规则
firewall-cmd [--permanent] [--zone=zone] --list-sources
#查询放行规则状态
firewall-cmd [--permanent] [--zone=zone] --query-source=source[/mask]
#添加放行规则
firewall-cmd [--permanent] [--zone=zone] --add-source=source[/mask]
#移除放行规则
firewall-cmd [--permanent] [--zone=zone] --remove-source=source[/mask]
#更换放行规则作用域
firewall-cmd [--zone=zone] --change-source=source[/mask]

原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/77751.html

(0)
速盾高防cdn's avatar速盾高防cdn
上一篇 2024年5月27日 下午5:26
下一篇 2024年5月27日 下午5:29

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注