OpenWrt + WireGuard 打通 mDNS:让iphone通过 VPN 在远程自动发现局域网打印机

家里添置了一台打印机,遇到的问题。

手机通过 WireGuard 回到家里的局域网后,可以访问 LAN 中的设备,但却无法自动发现网络打印机。

很多现代网络设备会使用 mDNS(Multicast DNS) 来进行服务发现。例如 AirPrint、一些网络打印服务以及其他局域网服务,都可能依赖 mDNS 来告诉客户端:这里有一台打印机。

但是 mDNS 是基于多播的,而 WireGuard 并不会天然把 LAN 上的 mDNS 广播转发给 WireGuard 客户端。

最终通过 mdns-repeater 把 LAN 和 WireGuard 接口之间的 mDNS 流量转发起来,解决了这个问题。

wireguard在openwrt 上,所以openwrt直接安装:

opkg update

opkg install mdns-repeater

然后用opkg files mdns-repeater命令看看配置文件在哪里。

最后修改配置文件/etc/config/mdns_repeater,把lan接口和wg接口打通。

config mdns_repeater 'main'

        list interface 'lan'

        list interface 'wg'

由于我的lan和wg本来就在同一个防火墙区域,所以无需配置防火墙。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>