Linux firewall 命令

常用命令

开启端口命令

firewall-cmd --zone=public--add-port=443/tcp --permanent

--zone  #作用域

--add-port=80/tcp #添加端口,格式为:端口/通讯协议

--permanent #永久生效,没有此参数重启后失效

关闭端口命令

firewall-cmd --zone=public--remove-port=80/tcp --permanent

 开启防火墙命令

systemctl start firewalld

停止防火墙

systemctl stop firewalld

设置开机启动

systemctl enable firewalld

停止并禁用开机启动

sytemctl disable firewalld

重启防火墙命令

使更改立即生效

firewall-cmd --reload 或者 service firewalld restart

查看防火墙状态

systemctl status firewalld 或者 firewall-cmd --state

查看端口列表

firewall-cmd --permanent --list-port

检查rirewall 防火墙端口是否开放

firewall-cmd --query-port=80/tcp

 

 

 firewalld、firewalld-cmd、systemctl、iptables 区别

  • CentOS7采用新的firewalld,CentOS6及以前版本采用iptables,不过firewalld底层仍然调用的是iptables
  • systemctl是CentOS7的服务管理工具中主要的工具
  • firewalld-cmd是firewalld的命令行工具

zone区域

firewalld防火墙为了简化管理,将所有网络流量分为多个区域(zone)。然后根据数据包的源IP地址或传入的网络接口等条件将流量传入相应区域,每个区域都定义了自己打开或者关闭的端口和服务列表。

  • 区域(zone)是针对特定位置或场景(例如家庭、公共、受信任等)可能具有的各种信任级别的规则集。
  • 不同的区域(zone)可允许不同的网络服务和入站流量的类型,而拒绝其他任何流量。

firewalld的9个区域

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

区域管理命令

firewall-cmd --get-default-zone //显示当前系统中的默认区域

firewall-cmd --list-all //显示默认区域的所有规则

firewall-cmd --list-all-zones //查看所有区域的所有规则

firewall-cmd --get-active-zones //显示当前正在使用的区域及其对应的网卡接口

firewall-cmd --set-default-zone=home  //设置默认区域

posted on 2022-08-30 15:04  无言寒冰  阅读(1140)  评论(0编辑  收藏  举报