问题
虚拟机上有redis,能ping通虚拟机的ip,但是idea连不上虚拟机里的redis
基本情况
虚拟机网络模式是NAT模式,linux防火墙firewalld已关闭,没有iptables,主机和虚拟机能互相Ping通,主机telnet redis失败
问题解决方案
尝试了比较多的方法,总结如下:
1,防火墙要关闭,如果开启防火墙,要将redis的端口开启防火墙的外部端口
下面我仅列出来firewalld的命令,如果还有iptables,也要使用类似的处理方式,命令自己搜一下。
开启/关闭/开机自启动/禁止自启动防火墙
#防火墙允许开机自启动
systemctl enable firewalld
#防火墙禁止开机自启动
systemctl disable firewalld
#开启防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld
#查看防火墙状态
systemctl status firewalld
添加外部端口
#添加6379为外部端口,--permanent表示永久的
firewall-cmd --zone=public --permanent --add-port=6379/tcp
#移除6379作为外部端口,--permanent表示永久的
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#允许http服务,redis这里用不到,web服务能用到
firewall-cmd --zone=public --add-service=http --permanent
#重新加载防火墙
firewall-cmd --reload
#查看端口是否开放
firewall-cmd --query-port=6379/tcp
#查看所有开放端口
firewall-cmd --list-port
2,虚拟机网络模式设置为NAT
3,配置文件里面的修改
3.1 protected-mode
保护模式开启且没有密码时,redis会仅接收本机的请求。解决办法是如果你是自己做demo和测试学习用的,protected-mode直接改为no,如果是工作用的,设置密码吧
配置文件中注释如下:
解决虚拟机NAT模式下Redis连接问题:firewalld配置与bind设置

文章讲述了在虚拟机NAT模式下,由于firewalld防火墙设置和Redis配置问题导致IDEA无法连接Redis的解决过程,包括关闭防火墙、配置外部端口、保护模式和bind地址的调整,以及注意启动脚本中的配置一致性。
最低0.47元/天 解锁文章
4347

被折叠的 条评论
为什么被折叠?



