Se você tem uma conexão no seu firewall que é com IP dinâmico
e quer usar o IP dela para redirecionar as portas para a rede
interna, pode usar o AWK para capturar o IP da placa de rede
com o ifconfig e jogar no iptables.
Segue um script que fiz:
# ipdinamico.sh
# Redirecionando portas de conexões com IP dinâmico
#######################################
## Thomaz (thomazguazzelli@yahoo.it) ##
#######################################
##
# DEFINIR VARIÁVEIS
# Pegar IP da placa de rede ligada na internet usando o awk
# Substituir eth0 pela placa
IPNET=`ifconfig eth0 | grep addr: | awk '{ print $2 }' | cut -d: -f 2`
PNET=eth0 #Interface ligada na internet(mesma acima)
INTERVNC=192.168.0.1 #Maquina interna rodando o VNCServer
INTERBASE=192.168.0.2 #Maquina interna rodando o Servidor do Firebird
#
# Regras do Netfilter (iptables)
#
# Redirecionar conexões que chegam no ip da internet (IPNET) para
# a máquina interna VNC (INTERVNC)
iptables -t nat -A PREROUTING -p tcp -d $IPNET --dport 5900 -j DNAT --to $INTERVNC
iptables -t nat -A POSTROUTING -p tcp -d $INTERVNC --dport 5900 -j SNAT --to $IPNET
# Redirecionar conexões que chegam a IPNET
# para Servidor Interbase (Firebird) interno
iptables -t nat -A PREROUTING -i $PNET -p tcp -d $IPNET --dport 3050 -j DNAT --to $INTERBASE
[3] Comentário enviado por removido em 22/01/2005 - 21:20h
IPNET é o IP de eth0
PNET é a eth0
Sugiro que diefinas primeiro a interface de rede (PNET) e depois pegue o seu ip, por quê? Porque assim o ip á atualizado com menos trabalho, uma forma mais "slack" de se trabalhar...
PNET=eth0 #Interface ligada na internet (pode ser ethX, pppX, e assim por diante...)
IPNET=`ifconfig $PNET | grep addr: | awk '{ print $2 }' | cut -d: -f 2`