为什么手机与树莓派无法用 hostname 访问同一局域网的 win10 主机?

2019-02-16 00:59:50 +08:00
 nikoo
同一个局域网下,一台 win10 电脑 hostname 为:desktop-abcde123
在另外一台 win7 电脑上可以 ping desktop-abcde123 得到 IP,也可以通过这个 hostname 访问它的共享盘、nginx

但同一局域网的树莓派( raspbian 系统) ping desktop-abcde123 就无法得到 IP:
root@raspberrypi:~# ping desktop-abcde123
ping: unknown host desktop-abcde123

同样,S8 手机用浏览器测试也显示无法解析出该 hostname 的 IP
如何排查原因呢?谢谢!
1730 次点击
所在节点    问与答
10 条回复
namesc
2019-02-16 01:11:00 +08:00
局域网要什么 hostname 啊,直接给电脑手机 mac 地址各指定一个固定的内网 IP 然后用 IP 不就好了,简单,好用。
hjc4869
2019-02-16 01:12:59 +08:00
windows 用的 NetBIOS 解析吧。raspbian 可以装个 samba 然后 nmblookup 计算机名
misaka19000
2019-02-16 01:15:28 +08:00
是不是 DNS 的原因?
nikoo
2019-02-16 01:19:21 +08:00
@hjc4869 谢谢,安装 samba 后 ping desktop-abcde123 能得到 IP 吗?
nikoo
2019-02-16 01:20:44 +08:00
@namesc 是可以,只是想知道为什么

@misaka19000 不是,在任何主机 nslookup desktop-abcde123 都无法解析 IP
namesc
2019-02-16 01:26:35 +08:00
@nikoo 估计是因为协议什么的不同吧,原理我不知道,Linux 要 ping Windows 主机名都要安装一个 winbind 然后在 ns 服务器配置上加一个 wins 字符串。

真的,用 IP 好用,手机也能直接访问,要不然你手机要修改 hosts 文件什么的,十有八九又得 root 权限。
msg7086
2019-02-16 04:34:00 +08:00
Windows 的传统是 NetBIOS ( WINS )。Linux 下传统则是 DNS。
所以你要么装 Samba 搞 Winbind,要么就老老实实开一台 Intranet DNS。
OscarUsingChen
2019-02-16 06:06:35 +08:00
也可以都装 mDNS,加上.local 的后缀来 ping
yzwduck
2019-02-16 07:23:42 +08:00
Windows 有独立的局域网主机名解析协议,Linux 默认并不支持。
比较通用的办法,是在 DHCP 时,client 向路由器 push 自己的 hostname,之后路由器会将 hostname 解析到对应的局域网主机,这需要 client 和路由器双方都支持。
Windows 和大部分 Linux 都支持,但路由器很难说,OpenWRT 自带的 dnsmasq 是支持 ipv4 的(有支持 ipv6 的额外脚本),但某些基于 OpenWRT 的路由器却不支持。
zbinlin
2019-02-16 11:36:10 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/535512

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX