Gostaria de fazer com que todas as conexões de entrada da porta 1000 do meu host (IP: 200.234.XXX.XXX) fossem 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
Gostaria de fazer com que todas as conexões de entrada da porta 1000 do meu host (IP: 200.234.XXX.XXX) fossem 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
Respostas:
Muito simples de fazer, primeiro você precisará habilitar 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 OS X Terminal:
ssh -L 200.234.XXX.XXX:10000:10.211.55.5:80 -N 127.0.0.1
Pode ser necessário aceitar inicialmente a impressão digital do servidor e digitar sua senha local para o login ssh. (Você também pode configurar uma chave pública / privada ssh local para local para não solicitar uma senha, isso será um exercício para o leitor.)
O formato é:
ssh -L local_addr:local_port:remote_addr:remote_port -N 127.0.0.1
Muito simples usando a versátil ferramenta 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: http://nmap.org/download.html#macosx
EDIT: adicionado sudo para escutar em uma porta restrita <1024
Bem, posso lhe dizer 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 deseja um programa de encaminhador TCP (você menciona 'proxy' e encaminhamento de porta).
Existem algumas maneiras de fazer isso, dependendo de suas necessidades, até o 'SSH' pode ser acionado, embora minha maneira curta e doce favorita seja um script Perl tcpforward .
Se você precisar de alguma manipulação HTTP (talvez seja necessário ajustar os redirecionamentos HTTP, para que, quando uma solicitação for enviada para uma URL sem um '/' à direita, você não seja redirecionado para o servidor real e inacessível), o Apache poderá fazer o trabalho de um proxy reverso. Você vai querer ver mod_proxy e, especificamente, ProxyPass e ProxyPassReverse. Você não permitir ProxyRequests, que é de proxy para a frente. Deve ser possível usar o próprio Apache do Mac OS para fazer isso, se você o tiver em execução. Ele vem com mod_proxy e /etc/httpd/httpd.conf é o arquivo de configuração a ser atualizado.
Mesmo com o Apache, você precisa garantir que todos os links no conteúdo do servidor real sejam relativos; se eles fizerem referência ao servidor real, você poderá tentar o módulo mod_proxy_html (não tenho experiência de como isso funciona).
Sua máquina está conectada diretamente à Internet (IE - sem roteador)? Normalmente você faz o encaminhamento de porta no roteador, mas se você usa um modem para se conectar diretamente, o iptables é provavelmente a melhor maneira.
iptables
para realizar o que a pergunta fazia, isso poderia ser útil.
Aqui está um bom artigo: http://www.cyberhq.nl/article/384/port-forwarding-in-macos-x
Mas, como você está encaminhando para 80, suponho que você queira que ele vá para um servidor da Web, então eu alteraria a configuração do servidor da Web para configurar um proxy reverso ou algo assim.