群晖Docker搭建饥荒本地服务器出现curl地址超时

问题遇到的现象和发生背景

最近在黑裙里利用docker建了饥荒的服务器,启动后能正常使用,外网也能进入服务器多人同玩,但是总会在启动一段时间后掉线。掉线时就显示CURL ERROR [28]。这时候服务器就不能搜索到了。重启容器后又会恢复。但是问题会继续出现。

img

在PC端和群晖端,都尝试ping和curl “lobby.klei.com”,能ping通,但是curl不行。网页端能打开klei.com,但是打不开lobby.klei.com

img

img

操作环境、软件版本等信息

用的群晖的docker,映像用的jamesits/dst-server:latest
因为没有ipv4的公网ip,所以开了ipv6

尝试过的解决方法

1、进行过一些关键词搜索,从容器作者那里没有得到有用的信息

img

2、在路由器给 lobby.klei.com加了hosts,实际情况是能够ping通

3、以为是墙的问题,搭了梯子,也还是不行。

4、看有提出ipv6开着的情况下,curl会先去解析ipv6再去解析ipv4,所以可能超时。我把电脑端的ipv4关了,curl也还是不通。

5、重启容器后,服务器成功打开,此时lobby.klei.com还是curl不通,不过服务器是能正常用的。不是很懂

我想要达到的结果

首要的希望就是,能够直接curl klei的这两个地址,应该是这个问题导致了服务器掉线。ipv6是不能关的,公网访问得靠ipv6。试过用ipv6的公网地址直连,但是不行。

如果实在不行的话,希望能有一个检测手段,检测到服务器掉了,群晖自动的重新启动docker映像。但是我过于小|白,不知道该怎么让群晖知道服务器掉了。

分享一些新的情况,将容器重新设置了一下,主要把网络从bridge改成了host,目前感觉服务器始终能保持在线了。

看来没人回答,我自己凑个答案吧

之前因为docker搭了代理,偶然发现,用ipv6能远程访问主机,以及用套件安装的程序,但是docker里面的除了网络为host的jellyfin其他都访问不了。所以意识到容器网络用bridge还是有影响。
在修改容器设置的过程中,就想到了是不是网络设置的问题导致了饥荒服务器掉线。
目前把饥荒服务器改成了host网络之后,没有再出现过掉线的情况。

虽然不知道为什么,但是至少是解决问题了。