我有一台 Ubuntu 台式电脑和一台 Windows 7 笔记本电脑。它们通过 wifi 路由器建立网络连接,从而获得本地 IP 地址。两台计算机通过 IP ping 时都能看到对方。Ubuntu 电脑可以通过主机名 ping Windows 机器,但 Windows 笔记本电脑无法 ping Ubuntu 电脑。
这看起来是一个常见问题,有一个众所周知的解决方案,从这个问题可以看出:通过主机名访问服务器?,以及一些重复。但是,那里的解决方案是“安装 avahi”。我正在运行 avahi,但它对我没有帮助。我不知道如何从这里进行故障排除。
从 Ubuntu PC:
rumtscho@bradbury:~$ sudo service avahi-daemon restart
[sudo] password for rumtscho:
avahi-daemon start/running, process 3019
然后在 Windows 笔记本电脑上:
C:\Users\rumtscho>ping bradbury.local
Ping-Anforderung konnte Host "bradbury" nicht finden. Überprüfen Sie den Namen,
und versuchen Sie es erneut.
其含义大致为“未找到主机名”。
我在 avahi.conf 中没有发现任何可疑的东西。以下是该文件的工作行(其他所有内容均已注释掉):
[server]
use-ipv4=yes
use-ipv6=yes
[wide-area]
enable-wide-area=yes
[rlimits]
rlimit-core=0
rlimit-data=4194304
rlimit-fsize=0
rlimit-nofile=768
rlimit-stack=4194304
rlimit-nproc=3
我尝试了 pingbradbury
和bradbury.local
。我还尝试了取消注释publish-addresses=yes
conf 文件中的行。两者都不起作用。
你知道我做错了什么吗?我该如何找出答案,我有什么选择?
更新在聊天中我被告知 Windows PC 需要“多播 DNS 解析器”,因此我安装了 Bonjour。现在错误消息有所不同:
Ping wird ausgeführt für bradbury.local [*IPv6 address edited out*] mit 32 Byt
es Daten:
Zielhost nicht erreichbar.
Zielhost nicht erreichbar.
Zielhost nicht erreichbar.
Zielhost nicht erreichbar.
Ping-Statistik für *IPv6 address edited out*:
Pakete: Gesendet = 4, Empfangen = 0, Verloren = 4
<100% Verlust>,
“Zielhost nicht erreichbar” 表示“无法到达目标主机”,数据包丢失率为 100%。那么我该怎么做才能让 Ubuntu PC 可以访问
答案1
Avahi 是一个 zeroconf/bonjour DNS 响应器,由于它是 Apple 发明的,因此默认情况下在 Windows 上不可用。如果您在 W 7 机器上安装“Bonjour for Windows”,它可能会有所帮助。
如果您不喜欢这样,如果桌面运行 samba,Windows 笔记本电脑可以解析您的 Linux 桌面,那里的 nmbd 守护进程将通过 TCP/IP 上的 NetBIOS 公布主机名和相应的 IP 地址,这只是 Windows 网络首选项中的某个复选框。
路由器可能只支持 IPV4,也许禁用两者的 IPV6,重新启动 Windows,然后重试。此外,avahi 可能不会立即获取配置更改,请restart avahi
以 root 身份执行。
答案2
在您的 Win 7 笔记本电脑上打开位于 C:\Windows\System32\drivers\etc\hosts 的 hosts 文件并添加您的 Ubuntu 机器的 IP 地址和主机名。
例如:
192.168.0.100 bradbury
不确定是否需要重新启动,但这应该会将你的 ubuntu 机器的主机名解析为 ip 地址
答案3
我认为你无法通过这种方式解决问题。为了解决你的问题,你必须在你的一台电脑或你的 wifi 路由器上设置本地 dns 服务器。另一种方法是 Rapture 建议的,将你的 wifi 路由器设置为给你相同的 ip(大多数 wifi 路由器都知道这一点)