(转载)解决无法访问服务器IPV6地址的问题

2019-12-16  本文已影响0人  dbc94a66f502

解决无法访问服务器IPV6地址的问题
场景:
使用Redis、Mongo的可视化工具,通过服务器公网IP进行连接。每次请求都连接超时。
架构:
服务器:CentOS 7
Redis、Mongo 创建在Docker容器中;
解决连接不上问题:
查看服务器的端口:

执行:netstat -ntlp

可以看出 这两个端口 都是绑定在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了,有些服务器默认是不开启的,需要自行配置;
————————————————
版权声明:本文为CSDN博主「Fe_cow丿」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Fe_cow/article/details/102821377

上一篇下一篇

猜你喜欢

热点阅读