LINUX防火墙Firewall常用命令

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]  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值