Ubuntu Server执行wget下载报错无法解析terraria.org主机地址
问题现象
- 运行环境:Ubuntu Server 20.04.4 LTS,已验证设备网络连接正常
- 执行下载命令:
wget https://terraria.org/api/download/pc-dedicated-server/terraria-server-1436.zip -O server.zip - 返回报错:
wget: unable to resolve host address 'terraria.org' - 已尝试操作:切换至root用户执行相同命令,报错完全一致
问题根因
该报错属于系统DNS域名解析失败,和执行命令的用户身份无关,本质是系统层面的域名解析配置异常,或当前使用的DNS服务器无法正常解析terraria.org域名。
排查修复步骤
1. 确认外网链路连通性
先排除外网断网的误判,执行命令ping公共DNS的固定IP:ping -c 3 114.114.114.114
如果能收到正常回包,说明外网链路确实正常,问题完全出在DNS解析环节。
2. 临时修复DNS(快速验证)
直接修改系统解析配置,临时指定可用的公共DNS,执行后立刻生效,可快速验证问题:echo -e "nameserver 223.5.5.5\nnameserver 114.114.114.114" | sudo tee /etc/resolv.conf
执行完成后直接重新运行之前的wget命令,如果能正常开始下载,说明确实是DNS配置问题,继续做永久修复避免重启后配置失效。
3. 永久修复DNS配置
Ubuntu Server 20.04默认通过netplan管理网络配置,按以下步骤修改:
- 查看系统内的netplan配置文件:
ls /etc/netplan/
通常返回的文件名类似00-installer-config.yaml,不同安装镜像生成的文件名可能有差异。 - 编辑该配置文件,以nano编辑器为例:
sudo nano /etc/netplan/00-installer-config.yaml
注意:YAML格式对缩进要求极严格,不能用Tab键,只能用空格缩进,缩进层级错误会导致配置完全失效
在对应网卡的配置段下添加DNS服务器地址,参考配置如下:network: ethernets: enp0s3: # 此处必须替换为你配置文件中实际的网卡名称,不要直接照抄示例值 dhcp4: true nameservers: addresses: [223.5.5.5, 114.114.114.114] version: 2 - 按
Ctrl+O保存,按回车确认文件名,再按Ctrl+X退出nano编辑器。 - 应用网络配置使其生效:
sudo netplan apply - 重启系统解析服务:
sudo systemctl restart systemd-resolved
4. 验证修复结果
执行解析测试命令:nslookup terraria.org
如果命令返回了terraria.org对应的IP地址,说明解析恢复正常,重新执行wget命令即可正常下载服务端压缩包。
补充说明
如果更换公共DNS后仍然无法解析,需检查当前网络的上游设备(比如路由器、光猫)是否配置了域名拦截规则,临时将服务器直接连接光猫拨号测试即可快速排查。
内容的提问来源于stack exchange,提问作者Radactive Limits
相关产品推荐
相关产品推荐

