你的Redis是不是在家能用,到了学校就连不上?

不知道小伙伴们有没有这样的经历,在家明明项目运行得好好的,可是换了个地方,比如来到学校再运行就报错,前提是Redis是在虚拟机中运行。我搜了好久,结果都是引流文章,给的方法也没用。经过我的不懈探索,终于找到一种解决方法。

起因

在家里,我的虚拟机(桥接模式)能正常运行 Redis,本机(Windows)可以用 ping 和客户端连接虚拟机 IP(例如 192.168.31.xx:6379),一切正常。

但是回到学校后,突然发现:

  • 虚拟机里 Redis 正常运行(netstat -tulnp | grep 6379 能看到监听 0.0.0.0:6379);
  • 虚拟机自己能 ping 自己的 IP(127.x.x.1、192.168.31.xx);
  • 但物理机却无法 ping 通虚拟机,Redis 连接也失败。

终端会出现像这样的报错 org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redissonClient' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to connect to Redis server: /192.168.31.xx:6379

相信大家跟我一样疑惑,明明什么都没动,为什么突然不能运行了呢。其实在这个日志中,我们已经能看出来是因为无法连接到Redis服务

排查原因

家里网络:

  • 家里路由器分配的是 192.168.31.x 网段。
  • 虚拟机设置固定 IP 为 192.168.31.x,同一网段下能正常通信。

学校网络(其他地方网络):

  • 学校无线/有线网卡获取的是 不同网段 ,例如 10.x.x.x
  • 而虚拟机仍然绑定了家里的固定 IP 192.168.31.x,这就导致虚拟机和宿主机完全不在一个网段,互相自然无法通信;

换句话说,虚拟机的静态 IP 写死在家里的网段,但学校的网络环境换了,导致桥接后虚拟机无法正确加入当前局域网

解决方案:

方案一:改回 DHCP 自动获取

powershell 复制代码
nmcli con mod ens33 ipv4.method auto
nmcli con up ens33

这样虚拟机会随学校网络环境自动分配 IP,避免因为固定 IP 导致不通。

然后再用 ip addr 查看虚拟机新获取的 IP,保证和宿主机同一网段。

方案二:手动指定符合当前网段的静态 IP

如果学校网络用的是 10.120.x.x,那么你可以(虚拟机执行):

powershell 复制代码
nmcli con mod ens33 ipv4.addresses 10.120.147.100/16
nmcli con mod ens33 ipv4.gateway 10.120.0.1
nmcli con mod ens33 ipv4.dns "8.8.8.8 114.114.114.114"
nmcli con mod ens33 ipv4.method manual
nmcli con up ens33

(这里的网关、子网掩码要根据 ipconfig 查到的实际情况来写)

方案三:使用 NAT + 端口转发

如果学校网络不允许桥接,或者 IP 不好固定,可以改成 NAT 模式,并在虚拟机软件里配置端口转发:

  • 宿主机 127.0.0.1:6379 → 转发到虚拟机 6379
    这样即使虚拟机内部 IP 改变,本机仍然能稳定访问 Redis。

这里建议先在真机命令行中输入ipconfig,观测一下虚拟机和真机得网关以及子网掩码。这里面最好用的就是方案二,直接根据真机的网络去改虚拟机的IP。

如果这篇文章对你有帮助,请点赞、评论、收藏,创作不易,你的支持是我创作的动力。

相关推荐
woshihuanglaoshi9 分钟前
数据迁移与版本管理 - Flutter在鸿蒙平台实现数据库升级策略
数据库·学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
java_logo2 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
广州灵眸科技有限公司10 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
憧憬成为web高手12 小时前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
段一凡-华北理工大学12 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
二宝哥13 小时前
CentOS 7.9 系统下 Redis 5.0.4 单机安装与源码编译安装指南
redis·centos
oradh14 小时前
Oracle XTTS实现跨版本迁移和升级(Oracle 11g单库升级至19C RAC集群)
数据库·oracle·11g升级19c·xtts跨版本迁移和升级
z1234567898615 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
程序猿DD15 小时前
一个 API Key,统一调用大模型、生图和联网搜索
数据库·网关
java_logo15 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程