Случилось так, что файловая система была переполнена и места для сборки ядра с поддержкой ipfw из исходников не нашлось. Попытка выполнить сборку закончилась каким-то достаточно нелепым и маловразумительным сообщением о внутренней ошибке
Поэтому решил попробовать включить фаервол с NAT на уровне ядра через файлы конфигурации системы /etc/rc.conf и /boot/loader.conf
bsd$ grep -i ipfw /boot/defaults/loader.conf
bsd$ egrep -i '^firewall_' /etc/defaults/rc.conf
firewall_enable="NO"
firewall_script="/etc/rc.firewall"
firewall_type="UNKNOWN"
firewall_quiet="NO"
firewall_logging="NO"
firewall_logif="NO"
firewall_flags=""
firewall_coscripts=""
firewall_client_net="192.0.2.0/24"
firewall_simple_iif="ed1"
firewall_simple_inet="192.0.2.16/28"
firewall_simple_oif="ed0"
firewall_simple_onet="192.0.2.0/28"
firewall_myservices=""
firewall_allowservices=""
firewall_trusted=""
firewall_logdeny="NO"
firewall_nologports="135-139,445 1026,1027 1433,1434"
firewall_nat_enable="NO"
firewall_nat_interface=""
firewall_nat_flags=""
# Set to YES to enable firewall functionality
# Which script to run to set up the firewall
# Firewall type (see /etc/rc.firewall)
# Set to YES to suppress rule display
# Set to YES to enable events logging
# Set to YES to create logging-pseudo interface
# Flags passed to ipfw when type is a file
# List of executables/scripts to run after
# IPv4 Network address for "client"
# Inside network interface for "simple"
# Inside network address for "simple"
# Outside network interface for "simple"
# Outside network address for "simple"
# List of TCP ports on which this host
# List of IPs which have access to
# List of IPs which have full access to this
# Set to YES to log default denied incoming
# List of TCP/UDP ports
# Enable kernel NAT (if firewall_enable == YES)
# Public interface or IPaddress to use
# Additional configuration parameters
Перед перезагрузкой следует не забыть прописать в /etc/rc.conf параметры запуска ipfw, чтобы после перезагрузки не потерять соединение с сервером
bsd$ echo 'firewall_enable="YES"' | sudo tee -a /etc/rc.conf
bsd$ echo 'firewall_type="OPEN"' | sudo tee -a /etc/rc.conf
Модуль ipfw.ko можно загрузить вручную, но при этом надо держать в уме, что он не загрузит правила, определенные в rc.firewall и тогда единственным правилом будет правило, запрещающее все соединения(!)
bsd$ sudo ls / ;Чтобы на следующие команды не запрашивался пароль(!)
bsd$ sudo kldload ipfw.ko; sudo /etc/rc.d/ipfw restart;
bsd$ man ipfw
bsd$ man ipfirewall