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!
[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