设备无法解析主机

Device can't resolve host

我的 ESP8266 中有简单的 DNS 解析演示。找不到它为什么在 AWS 上解析 Ubuntu 虚拟机。据我了解DNS服务器是我家的路由器192.168.1.1。当 ESP8266 失败时,我的台式电脑的分辨率工作正常。为什么以及如何解决这个问题?

void printDNSServers() {
  Serial.print("DNS #1, #2 IP: ");
  WiFi.dnsIP().printTo(Serial);
  Serial.print(", ");
  WiFi.dnsIP(1).printTo(Serial);
  Serial.println();
}

void printIPAddressOfHost(const char* host) {
  IPAddress resolvedIP;
  if (!WiFi.hostByName(host, resolvedIP)) {
    DEBUG_LOG("DNS lookup failed.  ");
    DEBUG_LOGLN(host);
  }
  DEBUG_LOGLN(host);
  DEBUG_LOGLN(" IP: ");
  Serial.println(resolvedIP);
}



void loop()
{
  printDNSServers();
  printIPAddressOfHost("yahoo.com");
  printIPAddressOfHost("ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port");
}

输出为:

DNS #1, #2 IP: 192.168.1.1, (IP unset)
yahoo.com
 IP: 
98.138.219.232
DNS lookup failed.  ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port
ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port
 IP: 

您正在尝试解析以下主机名:

ec2-34-254-225-201.eu-west-1.compute.amazonaws.com port

您需要去掉末尾的 port,因为当前字符串不是有效的主机名。

ec2-34-254-225-201.eu-west-1.compute.amazonaws.com