Tema LinuxBSD Ver. 0.2 lnx
 http://www.linuxbsd.com.br 

  


  

  

Redirecionando portas TCP/UDP no FreeBSD

Enviado por DarkWarrior em Qua, 2007-01-17 14:25.

Autor: Luiz Gustavo (gugabsd)
eMail: gustavo[NOSPAM]sitenaweb.com.br
Data: 29 de dezembro de 2003

Existem várias formas de se redirecionar conexões no FreeBSD, neste tutorial vou citar 3 formas de redirecionar portas de um servidor para outro sem ser pelo firewall (ipfw).

1- Através da configuração de NAT

Se você estiver usando NAT no servidor que vai receber a conexão à ser desviada, você utiliza-lo para redirecionar uma porta. Se você não tiver um arquivo separado com os parametros do comando natd, crie um para ficar mais organizado, faça o seguinte:

Edite seu /etc/rc.conf e insira a seguinte linha:

natd_flags="-l -f /etc/natd.conf"

Depois crie um arquivo /etc/natd.conf com as seguintes linhas:

interface ed0
dynamic yes
same_ports yes
use_sockets yes
redirect_port tcp 192.168.0.1:80 200.80.90.100:8080
redirect_port tcp 192.168.0.1:4070 200.80.90.100:4070

Onde “ed0” é a sua interface de NAT.

As duas últimas linhas são as configurações de redirecionamento, veja que você pode redirecionar para portas diferentes e protocolos diferentes. A sintaxe da linha é a seguinte:

redirect_port [tcp/udp] IpdeDESTINO:PORTA IPQUERECEBEUREQUISIÇÃO:PORTA

2- Através do programa socket utilizando o inetd

Você também pode redirecionar conexões TCP utilizando o program socket que roda no inetd. Você deve instalar esse pacote no FreeBSD através dos ports ou no site do FreeBSD.

A sintaxe de utilização do socket é a seguinte:

TIPODECONEXÃO stream tcp nowait root /usr/local/bin/socket socket IPdeDESTINO
TIPODECONEXÃO

Exemplo:

ftp stream tcp nowait root /usr/local/bin/socket socket 192.168.0.1 ftp

Basta colocar essa linha no seu inetd e reinicia-lo, pronto, as conexões serão redirecionadas para seu outro servidor

3- Através do programa redir

Outra opção para redirecionar conexões TCP é utilizando o programa redir que tem que ser instalado no seu FreeBSD, você pode utilizar os ports ou através do site do FreeBSD.

A sintaxe de utilização do redir é a seguinte:

/usr/local/bin/redir --lport=25 --cport=25 --caddr=192.168.0.1 &

Onde “--lport=25” é a porta local, “--cport=25” é a porta de destino e “--caddr=192.168.0.1” é o IP de destino, você ainda pode especificar o redirecionamento para portas diferentes, consulte o man do comando redir (man redir).

Coloque essa linha no seu arquivo de inicialização do FreeBSD (/etc/rc.local)

Espero ter ajudado!

»