1.查看防火墙状态

命令:firewall-cmd –state

2.关闭防火墙

命令:systemctl stop firewalld.service

3.启动防火墙

命令:systemctl start firewalld.service

4.设置开机自动启动:systemctl enable firewalld.service

关闭开机启动:systemctl disable firewalld.service

5.查看防火墙所有开放的端口

命令:firewall-cmd –zone=public –list-ports

这条命令我执行完后居然什么都没有,我理解为我安装的虚拟机上可能没启任何端口吧,但一点提示也没有太不友好了。

6.开启某个(某段)端口

firewall-cmd --zone=public --add-port=8080-8081/tcp --permanent //永久

firewall-cmd --zone=public --add-port=8080-8081/tcp //临时

firewall-cmd –zone=public –add-port=5672/tcp –permanent   # 永久开放5672端口

firewall-cmd –zone=public –remove-port=5672/tcp –permanent  #永久关闭5672端口

firewall-cmd –reload   # 在不改变状态的条件下重新加载防火墙–配置立即生效

7.查看具体某个端口

命令:netstat -tunlp | grep 8081 【模糊查询】

lsof -i:8081【精确查询】

命令格式:netstat -tunlp | grep 端口号

-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools

如果发现端口被占用,kill -9 进程号 杀死进程

8.查看开放的所有端口,命令:firewall-cmd –list-ports

下面记录一下服务的相关命令:

获取所有支持的服务firewall-cmd –get-service

启动某个服务firewall-cmd –zone=public –add-service=https //临时 firewall-cmd –permanent –zone=public –add-service=https //永久

查看开启的服务firewall-cmd –permanent –zone=public –list-services

设置ip访问某个服务firewall-cmd –permanent –zone=public –add-rich-rule=”rule family=”ipv4″ source address=”192.168.0.4/24″ service name=”http” accept” //ip 192.168.0.4/24 访问 http

删除上面的设置firewall-cmd –permanent –zone=public –remove-rich-rule=”rule family=”ipv4″ source address=”192.168.0.4/24″ service name=”http” accept”

检查设定是否生效 iptables -L -n | grep 21