Eu finalmente encontrei uma maneira de fazer tudo o que eu disse antes. Eu vou explicar isso:
Em /etc/pf.conf
:
Negando todo o tráfego recebido
(exceto a interface LAN)
block in all
pass in quick on $int_if
O primeiro bloco de linha eveything enquanto o segundo permite qualquer coisa da interface de LAN.
Se você quer saber qual é a palavra-chave quick
, leia esta .
Como você pode ter certeza de que está funcionando? Basta fazer um pfctl -sr
, deve ser algo como:
block drop in all
pass in quick on em1 all flags S/SA
Redirecionando o tráfego HTTP (S) para uma VM
Como dito anteriormente, eu já configurei uma configuração de DNS, DHCP e DDNS. O que significa que, se eu tiver uma VM nginx solicitando uma concessão de DHCP, ela associará automaticamente a entrada nginx.local.lan
do domínio ao IP concedido.
Sabendo disso, tentei torná-lo elegent no arquivo de configuração usando a macro:
nginx_vm_map=80 443
pass in quick on $ext_if proto tcp from any to any port {$nginx_vm_map} rdr-to nginx.local.lan
A primeira linha define as portas que eu quero redirecionar para minha VM, então eu uso essa macro $nginx_vm_map
dentro da regra de natting para torná-la facilmente alterável.