Como fazer um encaminhamento de porta no Mac OS X

31

Gostaria de fazer com que todas as conexões de entrada para a porta 1000 do meu host (IP: 200.234.XXX.XXX) sejam encaminhadas para a porta 80 no host 10.211.55.5

Como posso fazer isso no meu host? Está executando o Mac OS X 10.5.8

    
por Daniel Cukier 27.08.2009 / 21:51

6 respostas

27

Muito simples de fazer Primeiramente, você precisará ativar o serviço de login remoto no seu Mac ( Preferências do Sistema -> Compartilhamento - > Login Remoto ). Isso inicia seu servidor ssh.

Em seguida, execute o seguinte comando no seu Terminal OS X:

ssh -L 200.234.XXX.XXX:10000:10.211.55.5:80 -N 127.0.0.1

Você pode precisar aceitar a impressão digital do servidor inicialmente, bem como digitar sua senha local para o login do ssh. (Você também pode configurar uma chave pública / privada ssh local para local para fazer com que ela não solicite uma senha, isso deixará isso como um exercício para o leitor.)

O formato é:

ssh -L local_addr:local_port:remote_addr:remote_port -N 127.0.0.1
    
por 02.02.2011 / 19:37
8

Muito simples usando a ferramenta versátil ncat:

sudo ncat --sh-exec "ncat 10.211.55.5 80" -l 1000 --keep-open

Obtenha os binários do ncat / nmap para Mac OS X no site oficial: link

EDIT: adicionado sudo para escutar em uma porta restrita < 1024

    
por 18.11.2014 / 07:54
5

Supondo que você tenha um roteador UPnP, é fácil configurar as portas usando o PortMap

Tem uma interface de usuário muito simples.

    
por 14.09.2009 / 01:03
2

Bem, posso dizer-lhe como faço esse tipo de coisa no meu sistema Mac OS X 10.5.8.

Comecei com uma resposta sobre o NAT, mas acho que você realmente quer um programa de encaminhamento de TCP (você menciona 'proxy' e redirecionamento de porta.)

Existem algumas maneiras de fazer isso, dependendo de suas necessidades, até mesmo o 'SSH' pode ser colocado em ação, embora minha maneira curta e doce favorita seja um script em Perl tcpforward .

Se você precisar de alguma manipulação HTTP (talvez seja necessário ajustar os redirecionamentos HTTP, de modo que quando uma solicitação chegar a uma URL sem um '/' não redirecionado para o servidor real e inacessível), o Apache pode fazer o trabalho de um proxy reverso. Você vai querer olhar para mod_proxy e especificamente ProxyPass e ProxyPassReverse. Não não ative ProxyRequests, isso é para proxy de reencaminhamento. Deveria ser possível usar o Apache do Mac OS para fazer isso, se você o tiver executado. Ele vem com mod_proxy e /etc/httpd/httpd.conf é o arquivo de configuração para atualizar.

Mesmo com o Apache, você precisa se certificar de que todos os links no conteúdo do servidor real são relativos, se eles referenciam o servidor real, então você pode tentar o módulo mod_proxy_html (não tenho experiência de como isso funciona.)

    
por 31.08.2009 / 00:27
-1

A sua máquina está conectada diretamente à internet (ou seja, sem roteador)? Normalmente você faz o encaminhamento de porta no roteador, mas se você usa um modem para se conectar diretamente, o iptables é provavelmente o melhor caminho.

    
por 27.08.2009 / 21:55
-1

Aqui está um bom artigo: link

Mas desde que você está encaminhando para 80, eu estou supondo que você quer ir para um servidor web, então eu mudaria a configuração do servidor web para configurar um proxy reverso ou algo assim.

    
por 27.08.2009 / 21:56