Последующий pf.conf
(FreeBSD 10.3), похоже, блокирует весь трафик IPv6, и я не могу понять, почему.
tcp_inbound = "{ ssh, domain, http, https }"
tcp_outbound = "{ domain, http, https, imaps, smtps }"
udp_services = "{ domain, ntp }"
block all
pass proto udp to any port $udp_services keep state
pass out proto tcp to any port $tcp_outbound keep state
pass in proto tcp to any port $tcp_inbound keep state
# from https://help.github.com/articles/what-ip-addresses-does-github-use-that-i-should-whitelist/
table <github> { 192.30.252.0/22, 2620:112:3000::/44 }
pass out proto tcp to <github> port { ssh } keep state
pass proto icmp from any to any
Как разрешить трафик IPv6 для тех же служб, которые я разрешаю для IPv4? Я добавил явное inet6
версии каждого правила, и это, похоже, не помогло. Если я отключу pf
тогда трафик IPv6 проходит нормально.
Включив ведение журнала, мне удалось выяснить, что это связано с тем, что запрос маршрутизатора ICMP6 был заблокирован. Добавление
pass proto ipv6-icmp from any to any
до конца файла исправлена проблема.