Redirecionamento de portas

Publicado por Luciano Gomes em 31/03/2008

[ Hits: 17.092 ]

 


Redirecionamento de portas



Este artigo é para explicar uma maneira diferente de redirecionar portas no lugar do famoso FORWARD, como eu já vi que tem muita gente querendo fazer isso e não estão conseguindo. Com certeza desta maneira vai funcionar, serve para redirecionar VNC, Terminal Server, FTP e tudo que você precisar. Vamos nessa.

Eu uso o conectiva 10 e por padrão o pacote REDIR vem nele nativamente:

# apt-get install redir

Ou vocês podem baixar nesse link:
Uma vez instalado crie um arquivo tipo redir.sh

# touch redir.sh

Mude os direitos do arquivo para execução do root

# chmod 700 redir.sh

Agora é a hora:

# Redirecionando Terminal Server
redir -laddr=0.0.0.0 --lport 3389 --caddr=192.168.1.4 --cport 3389 &

# redirecionando FTP
redir -laddr=0.0.0.0 --lport 21 --caddr=192.168.1.4 --cport 21 &

# redirecionando VNC
redir -laddr=0.0.0.0 --lport 5800 --caddr=192.168.1.4 --cport 5800 &
redir -laddr=0.0.0.0 --lport 5900 --caddr=192.168.1.4 --cport 5900 &

Tradução chula do comando:

Redirecionar tudo que vier da rede 0.0.0.0 (qualquer rede) pela porta 3389 para o micro 192.168.1.4 na porta 3389 e rode em segundo plano.

Moleza, após salvar o arquivo execute:

# ./redir.sh

E acompanhe o processo com:

# ps -aux

Bom, espero ter ajudado alguém... Força sempre!

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Extensão do Firefox para o Twitter

Redirecionamento de portas para VNC (Coyote Linux)

Internet mais rápida com namebench

SkipScreen - Agilize seus downloads no Firefox

Pje e o Código Aberto - Previsão em Lei

  

Comentários
[1] Comentário enviado por rson em 13/08/2008 - 12:44h

bom dia, e parabéns pela dica e me ajudou muito.
Só uma coisa, segui sua dicas e funcionou corretamente, o arquivo criado "redir.sh" precisa ser carregado na inicialização?

[2] Comentário enviado por lucianopqd em 16/08/2008 - 12:31h

Prezado amigo, é preciso sim, caso sua máquina reinicie é bom deixar no /etc/rc.local

[3] Comentário enviado por marcosset em 17/12/2008 - 14:20h

Caro Lucianopqd,

Teria problema em utilizar iptables + redir?

Seguinte, tenho algumas regras já descritas utilizando iptables, mas não estou conseguindo fazer um redirecionamento de uma portar x da internet para uma máquina local.

Tenho um webserver na rede interna e queria deixa-la acessível pela internet.

Há Braço,

Marcos

[4] Comentário enviado por lucianopqd em 18/12/2008 - 09:37h

Claro amigo, sem problemas, não importa o que vc faça no iptables o redir vai funcionar junto sem problemas...
Eu mesmo uso o firewall iptables pra fazer todo o controle da rede e deixo o redirecionamento de portas e IPs com o redir, ficou muito mais fáci assim
mais fácil assim...

abraço.

[5] Comentário enviado por jeff.jno em 17/02/2009 - 23:19h

Sou cru no linux e ja tem tentei colocar outros script dentro do /etc/rc.local e não consegui.
Tem como alguem postar um exemplo de como eu colocaria o scrpit aqui mencionado para rodar ai inicializar o sistema utilizando o /etc/rc.local?

[6] Comentário enviado por salles2000 em 18/02/2009 - 09:48h

Jeff.jno,

Um exemplo pode ser colocar o script citado neste tópico edite o arquivo que na minha distro fica em /etc/rc.d/rc.local e acrescente uma linha que comece com sh (shell) conforme a seguir:

sh /etc/redir.sh

outros exemplos:

sh /etc/rc.firewall
sh /etc/speedylogin.terra


se quiser pode dar display na tela de mensagens informando o que está sendo executado:

echo -e "*** Script de incialização do sistema do Jeff.jno ***\n"
echo -e "Redirecionando Portas .....\n"
sh /etc/redir.sh


Um abraço!

Salles

[7] Comentário enviado por jeff.jno em 18/02/2009 - 22:49h

O mais estranho é o seguinte, utilizei o script para acessar uma maquina na rede interna atravez do meu proxy. Tipo funcionou bonitinho.
Daí o trem deu pau 3/4 depois q eu tentei acessar dinovo utilizando um script de reinicialização.
Eu soh queria que o scritp funcionasse bonitinho quando o pc reinicializa-se.
Eu tenho que abrir as portas no iptables tb?

[8] Comentário enviado por jeff.jno em 18/02/2009 - 23:11h

Fiz desse jeitinho que falou coloquei dentro das minhas regras de firewall

#sh /etc/squid/redir.sh

que eh o meu caso...

Quando eu rodo ele manualmente agora ele retorna um erro:

#server: bind: Address already in use

Agora porque a primeira vez q eu testei deu certo? só foi eu reiniciar o pc q deu isso!

[9] Comentário enviado por jeff.jno em 18/02/2009 - 23:13h

No caso do redir eu preciso começar o arquivo de script com essa linha?
#!/bin/bash

[10] Comentário enviado por lucianopqd em 19/02/2009 - 08:53h

caro amigo, vamos por parte:

1º Não precisa adicionar "#!/bin/bash" essa é uma linha de orientação nem é executada.
2º digamos que vc cirou seu arquivo redir.sh na pasta /etc/squid/ , basta editar o arquivo rc.local: vi /etc/rc.local e na última linha vc escreve /etc/squid/rc.local "que é o caminho do seu script" agora é só salvar e sair "wq", toda vez que a máquina reiniciar ele vai chamaar o script sozinho.
3º execute no seu arquivo o comando "chmod 777 redir.sh" para que ele possa ficar executável.
4º sempre que aparece "bind: Address already in use" siginifica que alguma porta que vc está redirecionando já está em uso.
TIPO: digamos que vc quer redirecionar a porta 80 para outro computador, sendo que se o apache estiver ligado, não vai funcionar porque o apache já usa o porta 80, nesse caso ou vc desativa oi apache ou muda a porta.
5º Não precisa liberar nada no iptables

6º o ideal é que vc comente cada linha redirecionada, para saber qual está dando erro, tipo assim:

echo "Redirecionando TS para o Servidor Plutão"
redir -laddr=0.0.0.0 --lport 3389 -- caddr=192.168.1.4 --cport 3389 &
echo
echo
echo "Redirecionando VNC para o Servidor Netuno"
redir -laddr=0.0.0.0 --lport 5904 --caddr=192.168.1.8 --cport 5900 &


[11] Comentário enviado por lucianopqd em 07/04/2009 - 13:42h

Prezado Amigo,

No seu caso:

redir -laddr=0.0.0.0 --lport 2121 --caddr=192.168.1.4 --cport 2121 &


pra acessar o server, vc usa a porta "lport 2121" mais o "cport 2121" tem que ser a porta original do FTP "cport 21", a não ser é claro que vc tenha mudado no ftp.conf a porta original do ftp...

se vc não alterou a porta padrão do serviço de ftp, então use:

redir -laddr=0.0.0.0 --lport 2121 --caddr=192.168.1.4 --cport 21 &

[12] Comentário enviado por cainf em 01/06/2010 - 17:23h

Amigo há casos que nao redireciona
Por exemplo tenho que liberar um acesso externo pelo browser http://200.200.200.200:8080

Sendo que
200.200.200.200 é o meu proxy

Deve ser redirecionado para o meu servidor de produção 192.168.0.5

Internamente os usuarios acessam http://192.168.0.5:8080

Mas de fora nao vai de jeito maneira ja coloquei varias regras pelo iptables e redir vejo que a porta esta aberta com o ps ax

Ja fiz de tudo mas o maldito nao manda a conexao para a outra maquina poderia me ajudar

Sou eternamente grato

[13] Comentário enviado por lucianopqd em 01/06/2010 - 17:29h

Você criou a regra dessa forma?
redir -laddr=0.0.0.0 --lport 8080 --caddr=192.168.0.5 --cport 8080 &

[14] Comentário enviado por cainf em 01/06/2010 - 18:09h

Fiz sim e coloquei varias outras portas pois ja aconteceu de ser mais de uma
Vi no outro servidor quais portas estao abertas coloquei-as todas com a sua dica mas mesmo assim nao foi
Me diz uma coisa e se a porta for udp ou tcp nao faz diferença ???
Abraço


[15] Comentário enviado por kbecaobh em 23/07/2013 - 12:50h

Amigo Muito Obrigado.
Fiquei 2 Semanas tentando abrir a portas no iptables e fazer o redirecionamento.
Aqui foi questão de 15min(já configurando as portas)...

vlw mesmo!

[16] Comentário enviado por kbecaobh em 24/07/2013 - 15:55h

Como que apaga as regras do REDIR???



Contribuir com comentário