Alternativa de reencaminhamento de porta para o IPTables?

2

Estou tentando redirecionar as portas em um IP específico. Existe alguma maneira de contornar isso sem usar o iptables?

ANTECEDENTES

Estou usando o node.js & socket.io como um servidor em tempo real. Para garantir que este servidor esteja disponível em todas as redes (que possuem controles rígidos de segurança sobre o tráfego de portas), ele possui um IP dedicado. Isso significa que ele pode usar a porta 80, que é permitida na maioria das redes.

Isso causou um segundo problema. Alguns softwares antivírus bloqueiam esse tráfego na porta 80. Descobri que a melhor porta a ser usada é 4000.

Eu quero ter duas opções de conexão para o cliente. A porta 80 será o padrão e, se falhar, usará 4000. Depois, preciso reencaminhar a porta 4000 de volta para a porta 80, para que as duas portas usem o mesmo servidor node.js.

Eu tentei usar o iptable para redirecionar essa porta, mas meu provedor de VPS não suporta módulos NAT para o iptables. Eles também não podem alterar o kernel para suportar isso.

Quais são as outras opções disponíveis?

    
por Kit 22.08.2011 / 13:24

3 respostas

3

Eu estaria procurando por um novo provedor de VPS ... parece que você está em um sistema Virtuozzo, o que nunca é uma experiência agradável.

Eu diria que sua única opção será ter algum tipo de proxy escutando em qualquer porta que você quiser, e encaminhar as solicitações para o lugar certo. Eu estaria inclinado a usar haproxy, simplesmente porque está no nível certo de simplicidade e robustez. Se você não precisa dos dados do endereço IP do cliente, pode simplesmente executá-los no modo de conexão TCP, caso contrário, execute-os como um proxy HTTP e insira os cabeçalhos apropriados para registrar o IP do cliente. Você poderia executar um servidor HTTP completo e executá-lo como um proxy reverso, mas é um grande exagero e só é provável que cause complicações, especialmente considerando os usos abaixo do mainstream aos quais você estar colocando isso.

    
por 22.08.2011 / 13:29
1

Você pode usar o recurso de redirecionamento do xinetd ou netcat ou até mesmo uma combinação deles. como alternativa você poderia (eu não recomendo embora) também usar recursos de reforço ssh.

Verifique as páginas de manual para o acima mencionado ...

HTH

    
por 22.08.2011 / 15:21
0

Você pode tentar o nginx; seria muito mais eficaz do que [x] inetd e co.

    
por 22.08.2011 / 16:59