Eu também estava enfrentando esse problema e levou um pouco de teste e tcpdump para descobrir tudo.
Para responder a sua primeira pergunta, qual é a rule 7/0(match) : é a regra "Generic_blocks_ (IPv4)" adicionada automaticamente pelo IceFloor para bloquear e registrar todo o tráfego não explicitamente autorizado. Você pode confirmar o número dessa regra executando pfctl -gsr como root.
Sobre o motivo pelo qual ele está bloqueado. A conexão de entrada é o que está bloqueado. Não tem nada a ver com o não-roteamento ou qualquer coisa no conjunto de regras visível . Tem a ver com a forma como o seu nome DNS é tratado localmente. A tabela de roteamento da sua máquina ( netstat -r ) tem uma entrada para o seu nome DNS que aponta para localhost na interface lo0 .
A entrada de log contém algumas informações intrigantes, especificamente a block in on en0 , que leva você a acreditar que algo está acontecendo na interface en0 . No entanto, fazer um tcpdump -nvvvi en0 tcp and port 80 mostrou que nenhum pacote estava realmente viajando em en0 . No entanto, os pacotes foram encontrados com tcpdump -nvvvi lo0 tcp and port 80 , confirmando assim que o tráfego estava (como esperado) acontecendo em lo0 .
A configuração padrão do IceFloor ( /Library/IceFloor/icefloor.conf ) é gerada com uma linha que possui set skip on lo0 . No começo, isso parece ser uma linha muito bem-vinda e bem-vinda (veja link ). Todos os outros pedaços de lo0 apareceram desimpedidos pelas regras pf. Em um palpite, decidi comentar essa linha e adicionar uma nova regra (logo após a inclusão da tabela): pass quick on lo0 . Depois de recarregar com essa configuração modificada, consegui acessar meu servidor da web por meio do meu nome DNS (problema resolvido). Então, parece que a linha set skip on lo0 tem alguns problemas.
O recuo com a modificação manual do arquivo icefloor.conf é que ele impede que você use a guia Firewall na interface do IceFloor. Como salvar uma nova configuração substituiria qualquer edição manual.