У меня openvpn запущен на сервере openbsd, который находится за брандмауэром, поэтому он является локальным участником локальной сети. OpenVPN - это конфигурация моста.
брандмауэр внутренний 10.0.10.1 openvpn server 10.0.10.15 vpn клиенты назначаются 10.0.10.240 - 10.0.10.244
У меня установлен PF для передачи трафика между двумя сетями. Трафик работает в обе стороны. Я могу пинговать LAN от клиентов vpn, и я могу пинговать клиентов с других машин в локальной сети.
Я использовал Bonjour для работы над этой настройкой. Я мог управлять timecapsule при подключении vpn и использовать другие функции протокола 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
Любые идеи?
вам необходимо разрешить трафик от / до 224.0.0.251/32 на вашем интерфейсе моста. Я плохо знаю pf, но вы, кажется, указываете там только трафик от / до 10.0.10.0/24. Предполагая, что вы доверяете обоим концам моста, вы можете просто открыть его для трафика со всех IP или заблокировать трафик с необычных IP от выхода с других интерфейсов.