如何确定虚拟机的IP
在Windows主机上运行ipconfig不能确定虚拟机IP
你现在是在 Windows 主机 上运行 ipconfig
,而 Redis 是运行在 VirtualBox 虚拟机(Ubuntu 或类似系统) 里。
✅ 你现在的情况总结如下:
网络接口 | IP 地址 | 用途 |
---|---|---|
192.168.56.1 | VirtualBox Host-Only 网络 | 用于主机与虚拟机通信 |
192.168.163.1 | VMware VMnet1 | VMware 虚拟网络 |
192.168.153.1 | VMware VMnet8 | VMware NAT 网络 |
10.66.109.235 | WLAN 无线网卡 | 主机真实网络地址 |
❗问题核心:
你的 Redis 虚拟机 没有监听在主机可以访问的 IP 上,或者 Redis 根本没启动。
✅ 接下来请你做以下几步:
🔍 1. 确认虚拟机的 IP 地址
在 虚拟机(Ubuntu) 中执行:
ip addr
你会看到类似:
inet 192.168.56.101/24 brd 192.168.56.255 scope global enp0s3
记下这个 IP,比如 192.168.56.101
。
🔍 2. 确认 Redis 是否监听在虚拟机的这个 IP 上
在虚拟机中执行:
sudo netstat -tunlp | grep 6379
或者:
sudo ss -tunlp | grep 6379
你应该看到:
tcp LISTEN 0 128 192.168.56.101:6379 0.0.0.0:*
如果没有,说明 Redis 只监听在 127.0.0.1
,请继续下一步。
🔧 3. 修改 Redis 配置监听 Host-Only 网络
编辑 Redis 配置文件(虚拟机中):
sudo nano /etc/redis/redis.conf
找到:
bind 127.0.0.1
改为:
bind 192.168.56.101
如果你希望 Redis 监听所有接口,也可以写
bind 0.0.0.0
,但注意安全风险。
然后重启 Redis:
sudo systemctl restart redis
🔧 4. 确保防火墙放通 6379 端口(虚拟机中)
sudo ufw allow 6379
✅ 5. 在 Windows 主机上测试连接
在 Windows 的 CMD 或 PowerShell 中执行:
redis-cli -h 192.168.56.101 -p 6379 ping
如果返回:
PONG
说明连接成功!
✅ 总结一句话:
确保 Redis 虚拟机使用的是 Host-Only 网络(192.168.56.x),并监听在虚拟机的 Host-Only IP 上(如 192.168.56.101),然后主机就能通过
192.168.56.101:6379
访问 Redis。
如果你不确定虚拟机 IP 或网络设置,也可以贴出虚拟机中 ip addr
和 redis.conf
的 bind
行,我可以帮你确认。