桥接 OpenVPN 网络上的 mDNS

桥接 OpenVPN 网络上的 mDNS

我在防火墙后面的 openbsd 服务器上运行 openvpn,因此它是 LAN 的本地成员。openvpn 是一种桥接配置。

防火墙内部 10.0.10.1 openvpn 服务器 10.0.10.15 vpn 客户端被分配 10.0.10.240 - 10.0.10.244

我已将 PF 设置为在两个网络之间传递流量。流量双向有效。我可以从 VPN 客户端 ping 局域网,也可以从局域网上的其他机器 ping 客户端。

我曾经使用 Bonjour 来处理此设置。我可以在 vpn 连接时管理 timecapsule,并使用其他 bonjour 协议功能。我注意到它不行,并尝试重新启动它,但它不起作用。

我的pf.conf如下所示:

int_if="em0"
vpn_if="tun0"
br_if="bridge0"
all_if="{" $int_if $vpn_if $br_if "}"
local="10.0.10.0/24"

ssh="22"
dns="53"
ntp="123"
mdns_one=5353
mdns_two=5354
mdns="{" $mdns_one $mdns_two "}"
vpn="9999"
pub_tcp="{" $ssh $mdns_one "}"
pub_udp="{" $dns $ntp $mdns_two "}"

set skip on lo
scrub in

block in
pass in on $all_if proto tcp from any to any port $pub_tcp
pass in on $all_if proto udp from any to any port $pub_udp
pass in on $all_if inet proto icmp from any to $int_if    
pass out on $all_if proto { tcp udp icmp } from any to any modulate state

#bonjour
pass in on $int_if dup-to $vpn_if proto { tcp udp } from any to any port $mdns
pass in on $vpn_if dup-to $br_if proto { tcp udp } from any to any port $mdns 

#vpn/bridge info
pass in on $int_if proto udp from any to $int_if port $vpn
pass in on { $vpn_if $br_if } inet proto { tcp udp icmp } from $local to $local
pass in on $int_if dup-to $vpn_if proto { tcp udp icmp } from $local to $local

有任何想法吗?

答案1

您需要在桥接接口上允许来自/到 224.0.0.251/32 的流量。我不太了解 pf,但您似乎只指定了来自/到 10.0.10.0/24 的流量。假设您信任桥接的两端,您可以将其开放给来自所有 IP 的流量,或者阻止来自异常 IP 的流量退出其他接口。

相关内容