O encaminhamento de porta não está funcionando no mac osx

1

Eu configurei o encaminhamento de porta no meu mac assim:

sudo sysctl net.inet.ip.forwarding=1
echo "rdr pass inet proto tcp from any to any port 445 -> 127.0.0.1 port 5441" | sudo pfctl -ef -

Para essa configuração, estou executando um servidor usando nc da seguinte forma:

$ nc -l 5441

Quando tento conectar-me a este servidor via telnet, a tentativa falha com o seguinte erro:

$ sudo telnet 127.0.0.1 445
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host

A execução de tcpdump na porta 445 não captura nenhum pacote. Não tenho certeza do que está acontecendo e gostaria de receber toda a ajuda.

    
por user1071840 16.02.2017 / 16:52

1 resposta

2

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.

    
por 16.02.2017 / 18:09