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
,但我找不到任何好的配置文件示例。
mrouted
FreeBSD 中启用路由的首选解决方案吗?/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 次 |
最近记录: |