Para quem já utilizou a solução de SSLVPN da Juniper, sabe que é preciso mapear as portas para seu uso (no meu FreeBSD não funciona o modo de tunelamento).

Como vários serviços são acessiveis via portas baixas, incluindo ssh, ftp, telnet, etc, existe a possibilidade de mapear as portas acima de 1024 nas portas baixas através de vários ips de loopback.

O script abaixo gera o arquivo rinetd.conf para as várias interfaces :-)


#! /bin/sh 
CONF="/usr/local/etc/rinetd.conf" 
PORTS="110:11000 25:2500 443:44300 80:8000 22:2200 23:2300 21:2100 20:2000" 

### Commands here ### 
TMSTAMP=`date "+%Y%m%d"` 
if [ -f $CONF ]; then 
    mv $CONF $CONF-$TMSTAMP 
fi 
IPS=`ifconfig lo0 | grep netmask | awk '{print $2}'` 

for ip in $IPS 
    do echo "Configuring: $ip" 
    for port in $PORTS 
        do 
        LOW_PORT=`echo $port | awk -F":" '{print $1}'` 
        HIGH_PORT=`echo $port | awk -F":" '{print $2}'` 
        echo -e "$ip $LOW_PORT \t $ip $HIGH_PORT" >> $CONF 
    done 
done