我是 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 正在运行。