Eri*_*und 7 freebsd multicast mdns bonjour avahi
我有一个 FreeBSD 9 路由器(Soekris net6501)通过 dsl 调制解调器(桥接)连接到互联网,为两个内部子网 10.0.1.0/24(LAN)和 10.0.2.0/24(wifi 网)执行 NAT。
有子网之类的东西之间的路线ssh host-A.wifi从host-B.lan作品。
但是,10.0.2.0/24 网络上的无线客户端(如 iPad 和 iPhone)似乎无法在 LAN 上找到东西(例如,在 LAN 上播放到 Apple-TV)。
我不完全确定,但我认为这是因为 Apple 使用 Bonjour,Bonjour 使用多播来查找内容,而多播不跨子网路由。
根据FreeBSD 手册,要路由多播,我需要编译内核options MROUTING并创建一个/etc/mrouted.conf,但我找不到任何好的配置文件示例。
mroutedFreeBSD 中启用路由的首选解决方案吗?/etc/mrouted.conf在 10.0.1.0/24 和 10.0.2.0/24 之间创建路由?感谢@chris-s,我通过使用 Avahi 而不是尝试路由多播流量解决了我自己的问题。
这对我有用:
net/avahi,并dns/nss_mdns从港口树。avahi_daemon_enable="YES"和dbus_enable="YES"到/etc/rc.conf/usr/local/etc/avahi/avahi-daemon.conf) 并将我的两个内部网络接口(两个内部子网)添加到allow-interfaces密钥(逗号分隔)并将enable-reflector密钥设置为,yes以使 avahi 将流量传播到所有内部网络。hosts条目编辑/etc/nsswitch.conf为hosts: files dns mdns启动 avahi 守护进程后,您可以通过直接从 mdns 服务器机器进行查找来检查它是否工作:
root@server / # getent hosts apple-tv.local
10.0.1.4 apple-tv.local
root@server / # getent hosts iphone4s.local
10.0.2.27 iphone4s.local
root@server / # getent hosts ipad.local
10.0.2.22 ipad.local
Run Code Online (Sandbox Code Playgroud)
或者通过使用Bonjour Browser或iStumbler(两者都很棒)等实用程序浏览 .local 域。您应该能够看到所有子网上的设备、主机和服务。
一个脚注是我的 FreeBSD 9.0 安装默认/etc/syslogd.conf没有记录消息,avahi-daemon所以我一开始没有看到任何日志记录(添加了一个daemon.*指向的选择器/var/log/daemon.log)
| 归档时间: |
|
| 查看次数: |
4468 次 |
| 最近记录: |