Um rdr é apenas um redirecionamento; também pode ser necessário um pass (ou um clicky apropriado nas Preferências do Sistema) para permitir o acesso a essa porta. Isso funciona para mim (embora eu tenha desativado quase totalmente as regras de firewall da Apple no meu laptop Mac OS X 10.11) em /etc/pf.conf :
set skip on { lo0, vboxnet0 }
rdr pass inet proto tcp from any to any port 445 -> 127.0.0.1 port 5441
block in
pass in inet proto tcp from any to any port 445
E, em seguida, um sudo pfctl -f /etc/pf.conf para carregar isso e, em seguida, o teste com nc -l 127.0.0.1 5441 e conexões para a porta 445 de uma máquina remota mostra o acesso.
Hmm! No entanto, localmente para o sistema do Mac OS X telnet 127.0.0.1 445 falha, provavelmente por causa do skip lo0 . Isso pode ser corrigido por não usar skip se o acesso localhost ao redirecionamento for necessário:
set skip on vboxnet0
rdr pass inet proto tcp from any to any port 445 -> 127.0.0.1 port 5441
block in
pass on lo0
pass in inet proto tcp from any to any port 445
Observe também que locahost pode significar 127.0.0.1 ou ::1 , portanto, talvez você também precise configurar regras relacionadas inet6 ou garantir que as conexões sejam sempre feitas com IPv4 para que o IPv6 funcione ou não usado.