如何通过 WiFi 网络上的主机名获取 pi 的 IP 地址

如何通过 WiFi 网络上的主机名获取 pi 的 IP 地址

我有一台 Raspberry Pi,我将用它来控制我家的装饰灯,并让它成为无头的。我希望能够通过 ssh 进入 Pi 进行故障排除和监控。它通过 AirPort Extreme 连接到 WiFi。虽然我总是可以通过 AirPort 实用程序转到 AirPort extreme 来查找它的 IP 地址(当前为 10.0.1.12),但如果有一个我可以使用的主机名会更令人满意。我现在很困惑,当我“dig raspberrypi”(从我的 Macintosh)时,我得到的地址是 198.105.244.114(完整输出如下)。这与我的 pi 上的任何东西都不匹配。在 pi 上使用“ifconfig”显示没有与 eth0 关联的 ip4 地址,并且 wlan0 地址在 10.xxx 网络上。(完整输出也如下)。

我该怎么做才能让主机名“raspberrypi”与正确的 IP 地址相关联,该 IP 地址可能在 Pi 每次通电时都会有所不同,因为它是通过 Airport Extreme 上的 DHCP 获取地址的?这样我就可以“ssh raspberrypi”并到达正确的位置。

当我准备这个问题时,我想更改我的 pi 主机名只是为了看看效果。 pi 重新启动后,它会出现新的主机名和相同的 wan0 地址,但在 AirPortExtreme 显示屏上,名称没有改变。 (仍然是“raspberrypi”,而不是新名称“lightpi”。 这令人费解和恼火,但可能无关紧要。

当我浏览 AirPort 实用程序时,我突然想到可以为 Pi 配置 DHCP 保留,这样我就可以一直使用相同的 IPv4 地址。这是一个合理的替代方案吗?

$ dig raspberrypi

; <<>> DiG 9.10.6 <<>> raspberrypi
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 679
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;raspberrypi.           IN  A

;; ANSWER SECTION:
raspberrypi.        10  IN  A   198.105.244.114
raspberrypi.        10  IN  A   198.105.254.114

;; Query time: 39 msec
;; SERVER: 10.0.1.1#53(10.0.1.1)
;; WHEN: Mon Jul 02 11:22:57 PDT 2018
;; MSG SIZE  rcvd: 61
o

pi@raspberrypi $ sudo ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:ce:48:f9
          inet6 addr: fe80::d793:ec86:c0b:5b12/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:136 errors:0 dropped:0 overruns:0 frame:0
          TX packets:136 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:11472 (11.2 KiB)  TX bytes:11472 (11.2 KiB)

wlan0     Link encap:Ethernet  HWaddr 74:da:38:59:ca:a4
          inet addr:10.0.1.12  Bcast:10.0.1.255  Mask:255.255.255.0
          inet6 addr: fe80::76da:38ff:fe59:caa4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7629 errors:0 dropped:153 overruns:0 frame:0
          TX packets:4231 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3990719 (3.8 MiB)  TX bytes:571886 (558.4 KiB)

答案1

您可以做以下几件事:

  1. 您提到的 DHCP 保留将保持 IP 地址一致,但根据我的经验,对于消费级路由器来说,结果好坏参半。
  2. 您可以更改路由器的 DHCP 范围(允许分配的 IP 地址),然后为 pi 配置静态 IP。虽然我只对 PC 和打印机这样做过,但对我来说这一直很有效。

我个人推荐#2。

相关内容