IPV6 上的 端口无法访问
看看应用程序是否只能bind在ipv6上面:
-
执行命令:sysctl net.ipv6.bindv6only
net.ipv6.bindv6only = 0
- 1
=0 ,可以看出并不是程序仅能bind ipv6上
看看ipv4是否能够转发:
-
执行命令:sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0
- 1
=0,可以看出ipv4不能够进行转发
在阿里云后台上,安全组织列表,出、入方向都是ipv4地址段访问;
找到了问题,将ipv4转发包进行配置就可以了。
解决方案:
1.修改:vim /etc/sysctl.conf 文件
2.将net.ipv4.ip_forward=1添加到sysctl.conf文件中
3.然后重启网络:
- 执行命令:systemctl restart network
4.这样再次执行:sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
- 1
通过外网IP连接可视化工具都可以了。
总结:
访问云主机的时候是通过IPV4访问的,但是我的主机没有开启IPV4的IP包转发,导致我的Redis、Mongo因为bind在一个IPV6的地址上,所以接收不到任何IP包;
开启IPV4转发就OK了,有些服务器默认是不开启的,需要自行配置;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构