我曾与数十个消费级 WiFi 路由器合作过,尽管似乎越来越好,但他们对此确实遇到了麻烦。
问题示例:
许多路由器都有允许它工作的设置。
请参阅http://community.linksys.com/t5/Wireless-Routers/WRT120N-WLAN-Issues/td-p/400073和http://forums.verizon.com/t5/FiOS-Internet/Communication-between-wired -and-wireless-network-on-actiontec/td-p/461359例如。
是否有任何与此不兼容的列表?原因是什么?只是路由器中的错误?
我正在寻找一种在 Windows 10 中解析 .local 地址的方法。
Windows 本身也包括 mDNS 支持,但这似乎只适用于现代 API 应用程序。
过去,建议一直是安装 Apple 的 Bonjour,例如How to enable mDNS on Windows (7)。不幸的是,这似乎不再起作用。
据我所知,问题在于 Windows 自己的进程之一 DNSCache 现在正在侦听端口 5353。
如何让 mDNS 为非现代应用程序工作?
在 PC 中安装 Bonjour 后,我可以在 Mac 中使用“.local”访问我的服务器。例如,我可以使用名称“prosseek.local”访问我的 mac。
问题是在 PC 版 Chrome 中,它无法识别“本地”来打开搜索页面而不是访问 mac 服务器。
PC 中的其他 Web 浏览器(explore/firefox)不会发生此问题。更奇怪的是,chrome 有时似乎可以识别“.local”,但并非总是如此。
如何解决这个问题?或者,我如何教 chrome “.local” 是页面名称的一部分,以便不定向到搜索页面?
似乎这个问题已经有一段时间了,所以我认为谷歌对解决这个问题没有兴趣,这是一个阻止使用 chrome 的节目塞子。
http://code.google.com/p/chromium/issues/detail?id=30636
我找到了其他网页,但在解决这个问题时不是很有用
我知道谷歌说它不支持。有没有人使用 Chromecast 与不同子网上的客户端通话?我有一个 OpenWRT 路由器连接到我的互联网提供商路由器(父路由器)。OpenWRT 网络是一个不同的子网,处理 DHCP 等。 OpenWRT 网络 (192.168.1.0/24) 和父网络 (192.168.11.0/24)
chromecast 在父网络上,我希望 OpenWRT 网络上的客户端使用 Chromecast。
我已启用 igmp_snooping,在反射器模式下运行 igmpproxy 和 avahi-daemon。我可以在 bonjour 资源管理器中看到 Chromecast(来自 OpenWRT 网络上的机器),但 Chromecast 应用程序无法连接。
我也尝试过增加 OpenWRT 路由器上的 TTL
iptables -t mangle -A PREROUTING -i eth0 -d 239.255.255.250 -j TTL --ttl-inc 1
iptables -t mangle -A PREROUTING -i wlan0 -d 239.255.255.250 -j TTL --ttl-inc 1
Run Code Online (Sandbox Code Playgroud)
使用wireshark我可以看到,chromecast和计算机正在通过子网通话......但它仍然无法连接。
我还可以从子网络 ping chromecast。
有人做过这个吗?任何指针?
在家里,我有一个 ADSL 调制解调器,也用作路由器。作为记录,它是由荷兰 Tele2 提供的 DavoLink DV-2020。事实证明,如果一台计算机通过电缆连接到路由器,而另一台计算机以无线方式连接,那么它们就无法看到彼此通过Bonjour(Apple 的服务发现协议,Zeroconf 的实现)广告的服务。有线/有线和无线/无线的组合工作正常。这意味着有线和无线连接的机器在不同的物理网络上,尽管它们的 IP 处于相同的范围 (192.168.1.*)。
有问题的调制解调器没有提供很多我可以使用的选项。所以,我想购买第二个路由器来连接调制解调器,然后将我所有的机器连接到第二个路由器。问题是我怕我会再次遇到同样的问题。
我正在寻找有关提供我想要的功能的路由器的建议(有线和无线连接之间的 Bonjour)。我想一种解决方案是 Apple 的 Airport Extreme 基站,但 160 欧元的价格贵得离谱。还有其他选择吗?如果有线和无线连接在同一个物理网络上,为什么在技术特性中很难找到?
我有一个使用 mDNS 设置的家庭网络,其中包含各种系统(包括始终在线的 Raspberry Pi)。我的机器正在运行 avahi 守护进程,所以目前的情况是:
\n\nhost.local名称。我还想要什么:
\n\nhost到与 相同的地址host.local。我可以想到三种方法来做到这一点:
\n\n输入:mDNS 不尊重这一点search local,因为它被认为是\xe2\x80\x9ccausing issues\xe2\x80\x9d。我可以使用我所有机器上的选项重新编译。/etc/resolv.conf--enable-search-domains
在所有网络机器中写入静态/etc/hosts文件。这就是我目前所做的。但是,它使配置变得分布式,这是我想避免的(这些文件最终会不同步)。
在网络上设置 DNS 服务器。然而,提供互联网接入的路由器不支持 DNS(这几乎是换另一家公司的一个很好的理由),所以我需要在 Raspberry 上设置它。这也带来了分布式配置的问题:Raspberry 上的静态 DNS 信息最终会与 mDNS 信息不同步,因此host和host.local可能会令人困惑地指向两个不同的 IP 地址......
所以,我的问题是:
\n\n该选项带来的 \xe2\x80\x9cproblems\xe2\x80\x9d 是什么--enable-search-domains?(我看到的唯一一个是它允许 LAN 上的任何人设置不合格的主机名,但是 1. 除了我已经控制的主机名之外,我不会使用不合格的主机名,并且 2. LAN 访问已被限制为无论如何,值得信赖的同行)。
我错过了其他第四个选择吗?(例如,设置一个 …
我正在尝试从 Windows 上运行的 Bash 脚本通过 mDNS 连接到 PC。虽然我能够.local在 CMD 中通过 PC 的 mDNS 地址 ping 通 PC,但由于主机名解析问题,在 Ubuntu/Bash 窗口中执行相同操作会失败。
当我尝试安装时avahi-daemon,似乎无法启动服务,因此我无法解析 mDNS 名称。
$ sudo apt-get install avahi-daemon
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libfreetype6 os-prober
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
libavahi-common-data libavahi-common3 libavahi-core7 libdaemon0 libnss-mdns
Suggested packages:
avahi-autoipd
The following NEW packages …Run Code Online (Sandbox Code Playgroud) 我在 Windows 10 中启用 mDNS 时遇到问题。
我已经实现了这个问题中提供的解决方案并且它有效,但是在运行 PC 24 小时后它消失了并且 Bonjour Services 找不到任何 mDNS 本地:
空白 BonjourServices 窗口的图形
在我的手机上运行服务浏览器应用程序发现 mDNS 本地:
重新启动电脑是我现在唯一的解决方案。
注意:我总是使用 Windows 睡眠而不是关机。睡眠不会阻止 Bonjour 服务查找 mDNS 本地地址。
我希望以下 PC 信息对您有所帮助:
我正在尝试建立自己的家庭 DNS 服务器,部分原因是为了允许没有 avahi/Bonjour 的计算机解析 .local 地址。(例如无根机器人)我正在尝试为此使用 unbound。因为我知道这dig hostname.local @224.0.0.251 -p 5353行得通(由于某种原因dig hostname.local @FF02::FB -p 5353似乎没有,即使我在本地有 IPv6),我想我可以简单地将这些行放在我的 unbound.conf 中:
forward-zone:
name: local
forward-addr: 224.0.0.251@5353
Run Code Online (Sandbox Code Playgroud)
但是,这会导致 SERVFAIL。问题似乎是 unbound 没有从它发送请求的 IP 得到回复。我的日志文件中有以下几行:
[1412507591] unbound[30868:3] info: 0RDd mod1 rep debian-bbb.local. A IN
[1412507591] unbound[30868:3] debug: cache memory msg=117331 rrset=174700 infra=488970 val=79412
[1412507591] unbound[30868:3] debug: answer cb
[1412507591] unbound[30868:3] debug: Incoming reply id = 3b44
[1412507591] unbound[30868:3] debug: Incoming reply addr = ip4 192.168.0.11 port 5353 (len 16)
[1412507591] unbound[30868:3] …Run Code Online (Sandbox Code Playgroud) 首先,我对网络和 Unix/Ubuntu/Linux 发行版都很陌生。只是一个警告,对于任何设置/代码可能看起来有点难看。
基本上,我的最终目标是在不同的 wifi 网络或 LTE 上从我的 iPhone 成功地 AirPlay 镜像到远程 Ubuntu 服务器。
TL;DR:使用 mdns-repeater/avahi-daemon 和 OpenVPN,我仍然无法将 mDNS 请求从 eth0 传递到 tun0。
首先,我知道我需要一个支持镜像的基于 Ubuntu/Linux/Unix 的操作系统的 AirPlay 接收器(希望是开源的)。我找到了几个,大多数用于 Mac OS/Windows,或者根本不支持镜像。经过更多的搜索,我在 Magic Mirror 中找到了Slave,这是一个运行和工作的开源 Linux AirPlay 服务器/接收器(基于我的调试,因为我无法物理访问我运行它的服务器)。
现在,我知道 AirPlay 只能通过 LAN 运行(当时不明白 Bonjour 如何只在同一子网上工作),所以我研究了一些 VPN 选项。OpenVPN 似乎是最灵活和最容易设置的。为了加快速度并保证我在设置 OpenVPN 时不会犯任何错误,我使用了这里的预制脚本。经过测试和完美运行,VPN 连接没有 DNS 泄漏,所有流量路由都成功通过 VPN。
我的 VPN 就像我的设备现在在我服务器的 LAN 上一样,并且我在 Magic Mirror(AirPlay 服务器)中成功运行了 Slave。所以它现在应该可以工作了,对吧?毫不奇怪,它没有,因为我不明白 AirPlay 服务器实际上发送了 mDNS/Bonjour 请求(或探测?真正的术语现在让我忘记了......)。作为家庭,常规用户,由于这些mDNS请求是zeroconf(零配置),这太神奇了!但作为企业或商业用户,这很难跨 VLAN 工作。
通过研究,我得出的最终结果是,我需要某种 mDNS 中继器/代理/网桥类型设置。我最终得到了 mDNS 中继器。我尝试使用两个程序。
mdns ×10
bonjour ×5
zeroconf ×3
dns ×2
router ×2
ubuntu ×2
windows-10 ×2
airplay ×1
avahi ×1
blocking ×1
chromecast ×1
linux ×1
multicast ×1
networking ×1
upnp ×1
vpn ×1