Encaminhamento de porta no Linux sem iptables?

34

Eu tenho um servidor Linux VPS (virtuozzo) e preciso configurar o encaminhamento de porta, mas meu provedor de hospedagem não permite módulos de kernel iptables-nat, portanto iptables -t nat- não está funcionando.

Estou procurando outras maneiras de como fazê-lo. Eu sei que posso encaminhar porta usando o openssh , mas preciso encaminhar mais de 20 portas diferentes, tcp e udp, para que essa não seja uma opção.

Existe algum software para linux que possa encaminhar portas?

troex
fonte
huh boa pergunta +1. não estou ciente de uma solução, estou ansioso para ver se há algo aqui.
O Shurrican
E então, o que dizer de um programa que permite encaminhar portas para diferentes destinos com base no IP de origem?
dpk 10/05
Evite o problema completamente, nunca usando VPS baseados em Virtuozzo / OpenVZ.
Michael Hampton
@MichaelHampton: Não é extremamente construtivo ...
Nicolas Raoul

Respostas:

47

Use a ferramenta chamada "socat", é uma ótima ferramenta para essas coisas e já está empacotada em muitas distribuições linux. Leia aqui: http://www.dest-unreach.org/socat/doc/README

Exemplo de encaminhamento de porta com socat:

socat TCP4-LISTEN:80,fork TCP4:www.yourdomain.org:8080

Isso redireciona todas as conexões TCP na porta 80 para www.yourdomain.org porta 8080 TCP.

Fbo
fonte
Não se esqueça https é padrão na porta 443, em vez de porta 80 :)
keiki
Socat é a única ferramenta que funcionou para mim em um pi ipv6-only framboesa
chotchki
Perfeito, resolvi meu problema instantaneamente. Observe que você precisa ter certeza de que a porta de entrada está aberta no iptables, se houver.
jancha
13

Há um pequeno programa de recursos leves chamado redirque é bastante configurável.

apt-get install redir em distribuições baseadas no Debian.

Jonathan Ross
fonte
Eu usei esta ferramenta no passado e ele funciona muito bem ...
Alex
Eu segundo esta ferramenta. Parece que esta não é uma ferramenta de encaminhamento de pacotes, mas o tcp tunnel. Ele mudará o endereço IP de origem visto pelo destino. Por isso, funciona muito bem quando você precisa redirecionar uma porta para outro computador que possui uma configuração de roteamento diferente.
22818 scegg #
10

Que tal rinetd?
É um daemon que redireciona as conexões TCP. Dê uma olhada na página de manual para ver se ela atende às suas necessidades: http://www.boutell.com/rinetd/

fabuloso
fonte
Parece interessante, mas é limitado ao TCP apenas como você disse.
troex
Agora o UDP é suportado: github.com/samhocevar/rinetd
kev
6

xinetdsuporta um atributo de redirecionamento que fará o que você deseja. Como outros observaram, existem vários programas que lidam com redirecionamentos.

O uso de xinetdoutro programa que utilize a tcpwrappersbiblioteca permitirá aplicar restrições de acesso, se e quando necessário.

BillThor
fonte
4

xinet / inetd. Por exemplo:

redirecionar

Permite que um serviço tcp seja redirecionado para outro host. Quando o xinetd recebe uma conexão tcp nessa porta, gera um processo que estabelece uma conexão com o host e o número da porta especificados e encaminha todos os dados entre os dois hosts.

http://linux.die.net/man/5/xinetd.conf

poige
fonte
Parece interessante, mas é limitado a TCP apenas como você disse
Doud
4

Eu encontrei um pequeno utilitário chamado portfwd http://portfwd.sourceforge.net/ ele faz exatamente o que eu preciso (encaminhamento de TCP e UDP), a página inicial diz que foi atualizada pela última vez em 2002, mas a versão mais recente é 2007 e funciona no kernel 2.6 .

troex
fonte
Aceito minha resposta, pois parece que este é o único software que suporta totalmente os protocolos TCP e UDP.
troex
3

SSH Faz o encaminhamento de porta, desde que você possa encapsular em uma conexão SSL.

JeffG
fonte
-3

Ok, aqui está a resposta simples que deve funcionar, não é ciência de foguetes, mas a maioria das pessoas complica a resposta e confunde todas as novidades dos usuários do Linux.

ufw allow 2xxx

2xxx = qualquer que seja o número da sua porta, basta digitar esse comando no terminal do servidor e a porta desejada é aberta.

denn
fonte
Apenas abre a porta nas interfaces voltadas para fora do servidor. Não redireciona nem encaminha a porta de um IP para o outro. ABRE O PORTO.
AmirHossein