Existem varias formas de redirecionar portas no FreeBSD aqui voce citar 3 formas de redirecionar portas de um servidor para outro sem o uso do firewall, seja ipfw ou pf.
- Atraves da configuração de NAT.
Se voce estiver usando NAT no servidor que vai receber as conexões a serem desviadas, voce poderá utiliza-lo para redirecionar portas usando um arquivo de configuracao para melhor organização:
Edite seu /etc/rc.conf e insira a seguinte linha:
natd_enable=”YES”
natd_flags=”-l -f /etc/natd.conf”
Depois crie um arquivo /etc/natd.conf com as seguintes linhas:
interface xl0
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 xl0 é 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] IP_DESTINO:PORTA IP_QUE_RECEBE_PEDIDO :PORTA
- Através do programa socket utilizando o inetd.
Você tambem 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:
TIPODECONEXAO stream tcp nowait root /usr/local/bin/socket socket IPdeDESTINO TIPODECONEXAO
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.
- Através do programa rinetd.
O programa também pode ser instalado via ports, ja na configuracao para redirecionar portas voce pode seguir o exemplo
abaixo usado para conexão do VNC - programa usado para acesso remoto da maquina windows:
/usr/local/etc/rinetd.conf
200.200.200.200 5800 192.168.1.76 5800
200.200.200.200 5900 192.168.1.76 5900
Note que ele tem um padrão parecido com a configuração do NAT, porem agora invertendo o IP do destino.
É isso, ja temos assim 3 formas de redirecionar portas no FreeBSD.