В брандмауэре pf раздел man-страницы pf.conf указывает, что "protocol"
- это что-то из /etc/protocols
, и что он отличается от "address family"
("<af>"
), которое является inet или inet6. В свою очередь /etc/protocols
содержит протокол "IPv6", а в приложениях, основанных на BSD, таких как брандмауэр pfSense, IPv6 иногда указывается как протокол в отличие от семейства IP (например, в определениях правил NAT).
Но IPv6 не является протоколом в том смысле, как это делают tcp/udp/icmp. Существует четкое логическое и функциональное различие между IPv4/IPv6 как двумя семействами IP-адресов (базовый транспорт) и многими протоколами, транспортируемыми в IPv4/IPv6.
(Если бы это было тогда nat on em1 inet proto ipv6 from 1.2.3.4 to any -> 5.6.7.8 port 2000:2999
иblock drop in inet proto ipv6 from 1.2.3.4 to any
будет значимым и сопоставимым сnat on em1 inet proto tcp from 1.2.3.4 to any -> 5.6.7.8 port 2000:2999
иblock drop in inet proto tcp from 1.2.3.4 to any
)
Когда IPv6 будет иметь смысл или использоваться в поле "протокол" в правиле PF, в отличие от указания его в качестве семейства адресов? (И может ли NAT почти всегда использоваться только для IPv4, иметь какое-либо отношение к нему?)