无法访问 CentOS7服务器上应用监听的端口
无法访问 CentOS7服务器上应用监听的端口
参考资料
- 云主机上Centos7配置Iptables规则开启80、3306等端口https://blog.csdn.net/qq_37960007/article/details/80374782
- CentOS 7 找不到 iptables 文件(需要安装 iptables 服务)
https://www.cnblogs.com/miracle-luna/p/13714709.html - 如何在CentOS 7 的机器上配置白名单
https://www.cnblogs.com/miracle-luna/p/13714809.html - 关于mysql服务器3306端口不能远程连接的解决
https://blog.csdn.net/m0_37477061/article/details/83275408 - Linux关闭防火墙命令
https://blog.csdn.net/qq_39399966/article/details/102660601 - CentOS7开启端口(永久)
https://blog.csdn.net/zx110503/article/details/78787483 - centos7 打开mysql 3306端口并 设置外部访问
https://www.cnblogs.com/yangxunwu1992/p/6091422.html
问题由来
我在自己的虚拟机中的CentOS7 中(MySQL 8 安装过程)并启动了 mysql 8 服务,并且确认了服务启动没有问题。
定位问题:
- telnet 服务器的22 端口,访问正常
- netstat -ntpl |grep 3306 查看监听端口,没有问题
- telnet 服务器的3306端口,无法访问
经过百度,发现是防火墙的问题。
防火墙开启端口供其他访问
1. 使用 firewalld 开启端口
1、运行命令:
firewall-cmd --get-active-zones
运行完成之后,可以看到zone名称,如下:

2、执行如下命令命令:
# --permanent 表示 永久生效
firewall-cmd --zone=public --add-port=3306/tcp --permanent

3、重启防火墙,运行命令:
firewall-cmd --reload
4、查看端口号是否开启,运行命令:
firewall-cmd --query-port=3306/tcp
5、如果firewall 已经注销的了,运行以下命令可恢复:
systemctl unmask firewalld

2. 使用 iptables
在CentOS 7.x 的机器上,给指定主机和指定端口配置白名单的时候,发现机器的 /etc/sysconfig/ 目录下没有找到 iptables 文件。
原因是因为CentOS 7.x 默认是使用 firewalld 服务作为防火墙,我们需要禁用该服务,安装 iptables 服务。
1、停止 firewall 服务
systemctl stop firewalld
2、注销 firewall 服务
systemctl mask firewalld
可以通过systemctl unmask firewalld 重新注册 firewalld 服务
3、安装 iptables 服务
yum install -y iptables
yum install iptables-services
4、启动 iptables 服务
systemctl start iptables
或者
service iptables start
5、设置 iptables 开机自启动
systemctl enable iptables
6、查看 iptables 状态
systemctl status iptables
或者
service iptables status

7、查看 iptables 文件
此时可以在 /etc/sysconfig/ 目录下看到 iptables 文件

8、编辑 iptables 文件,加入防火墙规则
vi /etc/sysconfig/iptables
加入 3306 端口规则
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

注意: 3306 端口规则 一定不能是两个 icmp-host-prohibited 中间,否则仍然不能访问!
====== 错误示范========
之前新增的规则,在两个 icmp-host-prohibited 中间,所以不能访问:


====== 错误示范========
9、重启 iptables
systemctl restart iptables.service
然后再查看
iptables -L -n

10、Telnet 服务器 3306 端口
访问正常。
iptables 一些命令
# iptables 服务的停止命令
systemctl stop iptables
或者
service iptables stop
# iptables 服务的重启命令
systemctl restart iptables
或者
service iptables restart
# Saving firewall rules to /etc/sysconfig/iptables
service iptables save
# 重载 iptables 文件
systemctl reload iptables
或者
service iptables reload
# 查看已配置的iptables规则:
iptables -n -L
iptables -n -L --line-numbers
无法访问 CentOS7服务器上应用监听的端口的更多相关文章
- 配置SSH隧道访问Ubuntu服务器上的MongoDB
为了数据安全,在MongoDB的配置文件里,一般会把默认的27017端口port改为自定义的端口号,然后把允许访问的IP设为127.0.0.1(即主机本身).但是这样就会在开发的过程查看数据时带来麻烦 ...
- SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期
SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期 一.拦截器配置 <mvc:interceptors> <mvc:interceptor> < ...
- CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3
CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3,亲测~~ 因为可以创建不同的环境版本或虚拟环境 CentOS7服务器安装anaconda3后,CentOS7服务器开启后自动将a ...
- 浏览器通过http协议通过nginx访问ftp服务器上的文件
1.修改nginx配置文件 2.修改nginx默认目录为ftp默认目录 3.修改成自定义路径后,并修改此目录第一行,修改为root或是nginx用户 4.重新加载 cd /usr/local/ngin ...
- Oracle 11g RAC 环境下单实例非缺省监听及端口配置
如果在Oracle 11g RAC环境下使用dbca创建单实例数据库后,Oracle会自动将其注册到缺省的1521端口及监听器.大多数情况下我们使用的为非缺省监听器以及非缺省的监听端口.而且在Orac ...
- 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
6月27日任务 16.4 配置Tomcat监听80端口16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志扩展邱李的tomcat文档 https://www.linuser ...
- 剥开比原看代码03:比原是如何监听p2p端口的
作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchai ...
- linux系统实现多个进程监听同一个端口
通过 fork 创建子进程的方式可以实现父子进程监听相同的端口. 方法:在绑定端口号(bind函数)之后,监听端口号之前(listen函数),用fork()函数生成子进程,这样子进程就可以克隆父进程, ...
- 【网络通信】服务器端Socket监听80端口,建立连接传输数据时也是使用的80端口么?
1. 服务器端Socket监听80端口,建立连接传输数据时也是使用的80端口么? 答:对.建立连接时服务器会分配一个新的Socket,但是用的源端口号还是80端口.套接字是由协议类型.源IP.目的IP ...
随机推荐
- Linux指令_入门基础
一.基础指令语法 1.ls指令: 用法1:#ls 含义:列出当前工作目录下的所有文件/文件夹的名称. 用法2:#ls 路径 含义:列出指定路径下的所有文件/文件夹的名称 用法3:#ls 选项 路径 含 ...
- 单链表上的一系列操作(基于c语言)
单链表的实现分为两种单链表(其实差别并不是很大):带头结点和不带头结点,分别对应下面图中的上下两种. 链表的每一个结点是由两个域组成:数据域和指针域,分别存放所含数据和下一个结点的地址(这都是很明白的 ...
- java8中CompletableFuture的使用介绍
既然CompletableFuture类实现了CompletionStage接口,首先我们需要理解这个接口的契约.它代表了一个特定的计算的阶段,可以同步或者异步的被完成.你可以把它看成一个计算流水线上 ...
- mq消息堆积处理
1.大量消息在mq里积压 场景:几千万条数据在MQ里积压了七八个小时,从下午4点多,积压到了晚上很晚,10点多,11点多.线上故障了,这个时候要不然就是修复consumer的问题,让他恢复消费速度,然 ...
- Docker——dockerfile
dockerFile介绍 dockerFile是用来构建docker镜像的文件!命令参数脚本! 步骤: 编写dockerFile文件 docker build构建成为一个镜像 docker run运行 ...
- [转载]Linux后门整理合集(脉搏推荐)
我在思考要不要联系下....都禁止转载了.... 简介 利用 Unix/Linux 自带的 Bash 和 Crond 实现远控功能,保持反弹上线到公网机器. 利用方法 先创建 /etc/xxxx 脚本 ...
- bzoj4032/luoguP4112 [HEOI2015]最短不公共子串(后缀自动机+序列自动机上dp)
bzoj4032/luoguP4112 [HEOI2015]最短不公共子串(后缀自动机+序列自动机上dp) bzoj Luogu 题解时间 给两个小写字母串 $ A $ , $ B $ ,请你计算: ...
- Redis Cluster 集群搭建与扩容、缩容
说明:仍然是伪集群,所有的Redis节点,都在一个服务器上,采用不同配置文件,不同端口的形式实现 前提:已经安装好了Redis,本文的redis的版本是redis-6.2.3 Redis的下载.安装参 ...
- Java9的模块化是什么
Java9新特性中的模块化到底是什么 Java9中的一个重大特性是增加了一种新型的程序设计组件 - 模块. 官方对模块的定义为:一个被命名的,代码和数据的自描述集合.( the module, whi ...
- 半吊子菜鸟学Web开发 -- PHP学习3-文件
目录 1 PHP文件系统 1.1 PHP文件的读取 1.4 获得文件的大小 1.5 PHP写入文件 1.6 删除文件 1 PHP文件系统 1.1 PHP文件的读取 文件读取的函数是file_get_c ...