虚拟机防火墙以及端口操作

CentOS7
firewalld(默认安装) 和 iptables 都不是防火墙,它们只是防火墙的管理程序

  1. 防火墙的开启、关闭、禁用命令
    设置开机启用/禁用防火墙:systemctl enable/disable firewalld.service
    启动/关闭防火墙:systemctl start/stop firewalld
    检查防火墙状态:systemctl status firewalld
  2. 使用firewall-cmd配置端口
    查看防火墙状态:firewall-cmd --state
    重新加载配置:firewall-cmd --reload
    查看开放的端口:firewall-cmd --list-ports
    开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent

    命令含义:
    –zone #作用域
    –add-port=9200/tcp #添加端口,格式为:端口/通讯协议
    –permanent #永久生效,没有此参数重启后失效
    注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
    关闭防火墙端口:firewall-cmd --zone=public --remove-port=9200/tcp --permanent

Ubuntu
ubuntu的ufw与iptables
在Ubuntu系统进行安装的时候默认安装了ufw防火墙,如果没有安装可以使用命令sudo sudo apt-get install ufw进行安装

  1. 查看防火墙的状态
sudo ufw status

系统提示: “Status: inactive”状态:不活跃。表示没有开启防火墙,并不是没有安装防火墙;开启后提示Status: active并显示开放的端口

  1. 关闭防火墙
sudo ufw disable

  1. 开启防火墙
sudo ufw enable

注意:Command may disrupt existing ssh connections. Proceed with operation (y|n)?
表示:命令可能会中断现有的ssh连接。继续操作(y|n)?
在这里通常会有些错觉,22端口没有开放,但是依然是连接状态,这是系统做的人性化优化,便于远程管理服务器,虽然22端口没有开放,但是用户通过当前的连接开启防火墙后,该连接依然处于连接状态,只要不关闭当前连接还是可以在当前连接中正产操作的。如果是重新开启一个连接是连不上的
在windows上进行telnet也是不通的
在这里插入图片描述

必须马上放开22端口

  1. 开放/关闭普通端口
    SSH端口无需指定协议
#开放22端口
sudo ufw allow 22
#重启防火墙生效
sudo ufw reload
#查看22端口的监听状态
sudo netstat -tunlp | grep 22
#关闭22端口
sudo ufw delete allow 22
#重启防火墙生效
sudo ufw reload

  1. 开放/关闭指定协议的端口
sudo ufw allow 8080/tcp
sudo ufw reload
sudo ufw status
sudo ufw delete allow 8080/tcp
sudo ufw reload
sudo ufw status

  1. 开放限定ip地址端口
    以下操作均需要重启防火墙 sudo ufw reload

开放指定ip所有操作 sudo ufw allow from 192.168.121.1
关闭指定ip所有操作 sudo ufw delete allow from 192.168.121.1
开放指定ip对应端口操作 sudo ufw allow from 192.168.121.2 to any port 3306
关闭指定ip对应端口操作 sudo ufw delete allow from 192.168.121.2 to any port 3306

转载自:https://blog.csdn.net/weixin_42410658/article/details/104371807