CentOS7 开放端口 通过 firewall-cmd 工具来操作防火墙

CentOS7 提供了 firewall-cmd 工具来操作防火墙。

firewall-cmd

--permanent:表示设置为持久,配置被写入配置文件,跨重启,不会立即生效,重新加载配置后生效。不带此参数表示本次运行,立即生效

systemctl 参考文档

systemctl systemd

https://www.cnblogs.com/shijingjing07/p/9301590.html

https://blog.csdn.net/u011314255/article/details/80314003

防火墙是否开启

# 查看防火墙是否开启
[root@instance-fjii60o3 ~]# firewall-cmd --state
not running

[root@instance-fjii60o3 ~]# firewall-cmd --state
running
[root@instance-fjii60o3 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-07-09 18:39:30 CST; 25min ago
     Docs: man:firewalld(1)
 Main PID: 30872 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─30872 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

防火墙 开启 关闭 重启

# 开启
[root@instance-fjii60o3 ~]# service firewalld start
Redirecting to /bin/systemctl start firewalld.service

# 关闭
[root@instance-fjii60o3 ~]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service

# 重启
[root@instance-fjii60o3 ~]# service firewalld restart
Redirecting to /bin/systemctl restart firewalld.service

重新加载配置

# 重新加载配置
[root@instance-fjii60o3 ~]# firewall-cmd --reload
success

查看端口

查看所有信息

# 查看所有信息
[root@instance-fjii60o3 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 
  services: ssh dhcpv6-client
  ports: 80/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

查看所有端口

# 查询所有开放的端口。本次运行
[root@instance-fjii60o3 ~]# firewall-cmd --list-ports
80/tcp 8080/tcp

# 查询所有开放的端口。持久
[root@instance-fjii60o3 ~]# firewall-cmd --list-ports --permanent
80/tcp

查看某个端口

# 查询某个端口是否开放。本次运行
[root@instance-fjii60o3 ~]# firewall-cmd --query-port=8080/tcp
yes

# 查询某个端口是否开放。持久
[root@instance-fjii60o3 ~]# firewall-cmd --query-port=8080/tcp --permanent
no

开放端口

开放单个端口

# 开放某个端口,立即生效。本次运行
[root@instance-fjii60o3 ~]# firewall-cmd --add-port=80/tcp
success

# 开放某个端口,重新加载配置后生效。持久
[root@instance-fjii60o3 ~]# firewall-cmd --add-port=3306/tcp --permanent
success

开放多个不连续端口

# 开放多个不连续端口,立即生效。本次运行
[root@instance-fjii60o3 ~]# firewall-cmd --add-port=80/tcp --add-port=8080/tcp
success

# 开放多个不连续端口,重新加载配置后生效。持久
[root@instance-fjii60o3 ~]# firewall-cmd --add-port=80/tcp --add-port=8080/tcp --permanent
success

开放多个连续端口

# 开放多个连续端口,立即生效。本次运行
[root@instance-fjii60o3 ~]# firewall-cmd --add-port=8080-8090/tcp
success

# 开放多个连续端口,重新加载配置后生效。持久
[root@instance-fjii60o3 ~]# firewall-cmd --add-port=8080-8090/tcp --permanent
success

关闭端口

关闭单个端口

# 关闭某个端口,立即生效。本次运行
[root@instance-fjii60o3 ~]# firewall-cmd --remove-port=80/tcp
success

# 关闭某个端口,重新加载配置后生效。持久
[root@instance-fjii60o3 ~]# firewall-cmd --remove-port=3306/tcp --permanent
success

关闭多个不连续端口

# 关闭多个不连续端口,立即生效。本次运行
[root@instance-fjii60o3 ~]# firewall-cmd --remove-port=80/tcp --remove-port=8080/tcp
success

# 关闭多个不连续端口,重新加载配置后生效。持久
[root@instance-fjii60o3 ~]# firewall-cmd --remove-port=80/tcp --remove-port=8080/tcp --permanent
success

关闭多个连续端口

# 关闭多个连续端口,立即生效。本次运行
[root@instance-fjii60o3 ~]# firewall-cmd --remove-port=8080-8090/tcp 
success

# 关闭多个连续端口,重新加载配置后生效。持久
[root@instance-fjii60o3 ~]# firewall-cmd --remove-port=8080-8090/tcp --permanent
success
原文地址:https://www.cnblogs.com/mozq/p/11159662.html