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!