我有一台 Ubuntu 台式电脑和一台 Windows 7 笔记本电脑。他们通过 wifi 路由器建立网络连接,这为他们提供了本地 IP 地址。通过 IP ping 时,两台计算机都能看到对方。Ubuntu PC 可以通过主机名 ping Windows 机器,但 Windows 笔记本电脑无法 ping Ubuntu PC。
看起来这是一个众所周知的解决方案的常见问题,从这个问题可以看出:按主机名访问服务器?,以及一些重复。但是,那里的解决方案是“安装 avahi”。我有 avahi 正在运行,它对我没有帮助。我不知道如何从这里进行故障排除。
从 Ubuntu PC:
rumtscho@bradbury:~$ sudo service avahi-daemon restart
[sudo] password for rumtscho:
avahi-daemon start/running, process 3019
Run Code Online (Sandbox Code Playgroud)
然后在 Windows 笔记本电脑上:
C:\Users\rumtscho>ping bradbury.local
Ping-Anforderung konnte Host "bradbury" nicht finden. Überprüfen Sie den Namen,
und versuchen Sie es erneut.
Run Code Online (Sandbox Code Playgroud)
这大致意味着“找不到主机名”。
我在 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
Run Code Online (Sandbox Code Playgroud)
我尝试了 pingbradbury和bradbury.local. 我还尝试取消注释publish-addresses=yesconf 文件中的行。两者都不起作用。
任何想法我做错了什么?我怎样才能找到它,我有哪些选择?
更新我在聊天中被告知 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>,
Run Code Online (Sandbox Code Playgroud)
“Zielhost nicht erreichbar”的意思是“无法到达目标主机”,100%丢包。那么我应该怎么做才能使 Ubuntu PC 可以访问
在 Win 7 笔记本电脑上,打开位于 C:\Windows\System32\drivers\etc\hosts 中的主机文件,并添加 Ubuntu 计算机的 IP 地址和主机名。
例如:
192.168.0.100 bradbury
Run Code Online (Sandbox Code Playgroud)
不确定是否需要重新启动,但这应该将 ubuntu 计算机的主机名解析为 IP 地址
小智 0
我认为你不能用这种方式解决你的问题。为了解决您的问题,您必须在其中一台计算机或 WiFi 路由器上设置本地 DNS 服务器。另一种方法是 Rapture 建议的,并将你的 wifi 路由器设置为给你相同的 ip(大多数 wifi 路由器都知道这一点)