Minecraft DNS SRV记录无法正常工作问题求助
排查Minecraft域名连接超时问题
我来帮你一步步拆解这个问题,先搞清楚两个错误的本质:
- 连接
fakesubdomain.mydomain.com出现「Unknown host」:这完全正常,因为你根本没给这个子域名配置任何解析记录,DNS服务器找不到对应的IP,自然报错。 - 连接
mc.mydomain.com出现io.netty.AbstractChannel$AnnotatedConnectException: Connection timed out:这说明DNS已经能找到对应的IP,但你的Minecraft客户端没法和这个IP的25565端口建立连接,问题大概率出在SRV记录配置错误或者服务器端口没开放上。
接下来逐个排查:
1. 先修正SRV记录的格式(最可能的问题)
你配置的SRV记录名称是_minecraft.tcp.mc.mydomain.com,这里犯了一个关键错误:SRV记录的服务类型和协议前面都需要加下划线,正确的格式应该是_minecraft._tcp.mc.mydomain.com(注意tcp前面多了个下划线_)。
Minecraft客户端只会识别符合标准格式的SRV记录,少了这个下划线的话,客户端根本找不到这条记录,会直接尝试连接mc.mydomain.com的25565端口——但你没给mc.mydomain.com配置A记录,要么解析到主域名的默认IP(如果有的话),要么解析失败后超时,这就是你遇到的问题根源。
2. 验证A记录是否真的生效
虽然你设置了TTL=1分钟,但DNS缓存可能还没刷新,先确认mcserverbox.mydomain.com能正确解析到你的myiphere:
打开命令行,输入:
nslookup mcserverbox.mydomain.com # 或者用dig查看更详细信息 dig mcserverbox.mydomain.com A
如果返回的IP不是你设置的myiphere,多等几分钟再试,或者清空本地DNS缓存。
3. 检查服务器的端口是否对外开放
就算DNS解析没问题,如果服务器的25565端口没开放,客户端还是会超时:
- 如果服务器用的是Linux防火墙(比如ufw),先确认25565端口允许入站:
sudo ufw allow 25565/tcp - 如果服务器在局域网内,还要检查路由器的端口转发设置,把外部的25565端口映射到服务器的内网IP和25565端口。
- 可以用命令测试端口是否能访问:
telnet myiphere 25565 # 或者用nc工具 nc -zv myiphere 25565
如果连接失败,说明端口没开放,先解决这个问题。
4. 先测试直接连接IP,排除服务器本身的问题
先跳过域名,直接在Minecraft里输入myiphere:25565连接,如果能连上,说明服务器本身没问题,问题就出在DNS解析(尤其是SRV记录)上;如果还是超时,那就是服务器的网络或者端口配置有问题,先搞定这个再回来调试域名。
最后总结下修复步骤
- 把SRV记录的名称改成
_minecraft._tcp.mc.mydomain.com - 确认
mcserverbox.mydomain.com能正确解析到你的服务器IP - 确保服务器的25565端口对外开放(防火墙+端口转发)
- 先测试直接连IP,再测试域名
内容的提问来源于stack exchange,提问作者user631567




