V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nikoo
V2EX  ›  问与答

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

  •  
  •   nikoo · 2019-02-16 00:59:50 +08:00 · 1867 次点击
    这是一个创建于 2108 天前的主题,其中的信息可能已经有所发展或是发生改变。
    同一个局域网下,一台 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
    如何排查原因呢?谢谢!
    10 条回复    2019-02-16 11:36:10 +08:00
    namesc
        1
    namesc  
       2019-02-16 01:11:00 +08:00
    局域网要什么 hostname 啊,直接给电脑手机 mac 地址各指定一个固定的内网 IP 然后用 IP 不就好了,简单,好用。
    hjc4869
        2
    hjc4869  
       2019-02-16 01:12:59 +08:00   ❤️ 1
    windows 用的 NetBIOS 解析吧。raspbian 可以装个 samba 然后 nmblookup 计算机名
    misaka19000
        3
    misaka19000  
       2019-02-16 01:15:28 +08:00 via Android
    是不是 DNS 的原因?
    nikoo
        4
    nikoo  
    OP
       2019-02-16 01:19:21 +08:00
    @hjc4869 谢谢,安装 samba 后 ping desktop-abcde123 能得到 IP 吗?
    nikoo
        5
    nikoo  
    OP
       2019-02-16 01:20:44 +08:00
    @namesc 是可以,只是想知道为什么

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

    真的,用 IP 好用,手机也能直接访问,要不然你手机要修改 hosts 文件什么的,十有八九又得 root 权限。
    msg7086
        7
    msg7086  
       2019-02-16 04:34:00 +08:00   ❤️ 1
    Windows 的传统是 NetBIOS ( WINS )。Linux 下传统则是 DNS。
    所以你要么装 Samba 搞 Winbind,要么就老老实实开一台 Intranet DNS。
    OscarUsingChen
        8
    OscarUsingChen  
       2019-02-16 06:06:35 +08:00   ❤️ 1
    也可以都装 mDNS,加上.local 的后缀来 ping
    yzwduck
        9
    yzwduck  
       2019-02-16 07:23:42 +08:00 via Android   ❤️ 1
    Windows 有独立的局域网主机名解析协议,Linux 默认并不支持。
    比较通用的办法,是在 DHCP 时,client 向路由器 push 自己的 hostname,之后路由器会将 hostname 解析到对应的局域网主机,这需要 client 和路由器双方都支持。
    Windows 和大部分 Linux 都支持,但路由器很难说,OpenWRT 自带的 dnsmasq 是支持 ipv4 的(有支持 ipv6 的额外脚本),但某些基于 OpenWRT 的路由器却不支持。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2200 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 01:34 · PVG 09:34 · LAX 17:34 · JFK 20:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.