通过名称连接到 Beagle Bone Black(从 Windows)

通过名称连接到 Beagle Bone Black(从 Windows)

我是 BBB 新手,Linux 经验有限。但我认为更改 /etc/hostname 文件就足以通过名称连接到它。

我将主机名文件设置为 LorenzBBB1,但无法从 Windows PC ping LorenzBBB1(或从 BBB 按名称 ping WindowsPC)。但可以通过 IP 地址。(BBB 也可以正常 ping google.com)。

从 Linux PC(unbuntu)我可以 ping LorenzBBB1.local(但只能使用 .local)。并且 BBB 也只能使用名称 .local 连接到 Linux。

网络上的所有 widnows PC 都可以通过主机名互相 ping 通,没有任何问题。

为此,我得出结论,mDNS 正在运行,但由于某种原因,DHCP 服务器没有更新 BBB 的 DNS 记录?

ifconfig 的结果

eth0      Link encap:Ethernet  HWaddr C8:A0:30:AD:EB:2F
      inet addr:192.168.1.109  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::caa0:30ff:fead:eb2f/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:47334 errors:0 dropped:856 overruns:0 frame:0
      TX packets:664 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:5448097 (5.1 MiB)  TX bytes:68006 (66.4 KiB)
      Interrupt:56


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:204 errors:0 dropped:0 overruns:0 frame:0
      TX packets:204 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:16181 (15.8 KiB)  TX bytes:16181 (15.8 KiB)

来自 journalctl | grep avahi 的结果

Oct 09 08:35:49 LorenzBBB1 avahi-daemon[124]: Server startup complete. Host name is LorenzBBB1.local. Local service cookie is 4096709841.
Oct 09 08:35:49 LorenzBBB1 avahi-daemon[124]: Service "LorenzBBB1" (/services/udisks.service) successfully established.
Oct 09 08:35:49 LorenzBBB1 avahi-daemon[124]: Service "LorenzBBB1" (/services/ssh.service) successfully established.
Oct 09 08:35:49 LorenzBBB1 avahi-daemon[124]: Service "LorenzBBB1" (/services/sftp-ssh.service) successfully established.
Oct 09 08:35:49 LorenzBBB1 avahi-daemon[124]: Service "Cloud9 IDE on LorenzBBB1" (/services/cloud9-avahi.service) successfully established.
Oct 09 08:35:53 LorenzBBB1 avahi-daemon[124]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.1.109.
Oct 09 08:35:53 LorenzBBB1 avahi-daemon[124]: New relevant interface eth0.IPv4 for mDNS.
Oct 09 08:35:53 LorenzBBB1 avahi-daemon[124]: Registering new address record for 192.168.1.109 on eth0.IPv4.
Oct 09 08:35:53 LorenzBBB1 avahi-daemon[124]: Registering new address record for fe80::caa0:30ff:fead:eb2f on eth0.*.

如果我从 BBB ping LorenzBBB1.local,它可以工作,但 LorenzBB1 则不行。只有 mDNS 似乎可以工作。

这更多的是一个如何让 Linux 与域名良好兼容的问题,而不是 BBB 问题,但无论如何,我不知道该检查什么。

我猜这可能是公司路由器的问题,但是路由器上的什么配置会导致 LAN DNS 无法在 Linux 上运行,但在 Windows 上运行良好?

更新:执行 du 的结果。| grep dhcp

8   ./etc/udhcpc.d
4   ./usr/share/common-licenses/busybox-udhcpc
4   ./usr/share/common-licenses/gadget-init-udhcpd
8   ./usr/share/udhcpc

答案1

至少对我来说答案是你需要 NetBIOS

实现这一点的最简单的方法似乎是安装 samba。

opkg install samba

重新启动后它就开始工作了。

如果有人知道或找到比 samba 更轻量级的软件包(我需要的只是 netBIOS)我会非常感兴趣听到它。

答案2

添加主机名后,您还需要更新 dhcp 客户端配置文件

尝试添加以下步骤

打开位于的 dhcp 客户端配置文件

/etc/dhcp3/dhcpclient.conf

替换当前主机名,如果不存在则添加到文件

send host-name "LorenzBBB1"

并重启网络

sudo /etc/init.d/networking restart

答案3

我也刚刚了解这一点,所以请原谅我给出的显而易见的答案。

*.local模式由 avahi-daemon 服务提供。该avahi守护进程仅适用于 Bonjour/Zeroconf/mDNS 系统,默认情况下它不是 Windows 的一部分,但它通常存在于 Apple 和 Linux 上。您可以为 Windows 安装 bonjour。请参阅此链接以获取想法:如何在 Windows 中解析 .local 地址?

我猜,为了让 BBB 为每个人服务,我想你想两个都avahi 和 netBIOS 正在运行。

相关内容