You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu下C程序及nc工具无法解析自定义DNS服务器中TESTHOSTNAME的问题排查求助

Ubuntu下C程序及nc工具无法解析自定义DNS服务器中TESTHOSTNAME的问题排查求助

大家好,我最近遇到一个DNS解析的问题,折腾了好久都没解决,想请教下各位:

我正在尝试用C语言写一个简单的TCP/IP连接程序,核心是要通过主机名连接目标机器,但在Ubuntu上完全搞不定DNS解析这一步。

先说说在Windows上的成功情况,作为对比:

  • 我在Windows Server 2022(IP地址192.168.1.189)上搭建了一个简易DNS服务器,把自定义主机名TESTHOSTNAME指向了目标机器的IP 192.168.1.157
  • 在另一台Windows 10电脑上,把DNS服务器地址设为192.168.1.189,然后用Putty建立Raw连接到TESTHOSTNAME,发送的数据能正常被目标机器接收,整个流程完全没问题

但到了Ubuntu这边就卡壳了:

  • 我已经把Ubuntu的DNS服务器地址设置为192.168.1.189,也能正常ping通这个DNS服务器
  • 可是当我运行命令 nc TESTHOSTNAME 10000 时,直接报错:nc: getaddrinfo for host "TESTHOSTNAME" port 10000: Name or service not known
  • 我已经确认Ubuntu客户端、Windows DNS服务器以及TESTHOSTNAME对应的机器,所有防火墙都已经关闭了

另外我还查了Windows服务器的日志:事件查看器里完全看不到任何有用的日志(不管是解析成功还是失败的记录都没有),我已经在Windows DNS服务器上开启了调试日志,但……

有没有大佬能帮我分析下可能的原因,或者给点排查的方向?

备注:内容来源于stack exchange,提问作者Koops128

火山引擎 最新活动