CentOS查看端口防火墙状态

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

 

posted on 2020-05-26 15:40  刀锋93  阅读(9824)  评论(0编辑  收藏  举报

导航