Redirecionamento de portas

Publicado por Luciano Gomes em 31/03/2008

[ Hits: 19.684 ]

 


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

Como ouvir rádios online via terminal

Tubarão nas nuvens? Vá de Cloudshark!

Instalando facilmente Mercury Messenger 2.0 RC5 no OpenSUSE e no Mandriva

Ouvindo música navegando

Problemas com o Squid 2.5 no Fedora Core 4

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts