IPV6 上的 端口无法访问

时间:2024-03-03 20:33:29

看看应用程序是否只能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了,有些服务器默认是不开启的,需要自行配置;