Redirecionando portas com IP dinâmico

Publicado por Thomaz em 28/07/2004

[ Hits: 15.114 ]

 


Redirecionando portas com IP dinâmico



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
Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Firefox atualizado no Debian Squeeze

Instalando plugin FastTrack no GiFT (Debian)

Download Day - Firefox

DuckDNS - Simples solução para DNS dinâmico

Rodando Apache em máquina com IP falso (rede interna)

  

Comentários
[1] Comentário enviado por birapn em 03/08/2004 - 08:07h

Santa ignorância batmam, mas eu não entendi!!??!!????

[2] Comentário enviado por alphainfo em 04/01/2005 - 16:47h

Bem, o único tilt q achei foi q a variavel PNET naum existe, o script referencia por IPNET... o resto tah tudo ok....


[]'s

Daniel Freire

[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`

[4] Comentário enviado por Ernani em 08/11/2005 - 09:08h

Ola.
Fiz o direcionamento para uma maquina, e preciso que seja redirecionado para outra maquina, o que devo fazer???
Ou cancelar o direcionamento.

Ernani Ribeiro

[5] Comentário enviado por lois.cc em 03/01/2006 - 12:05h

Gostei, aqui funcionou, mas tive que modificar um puco a linha para o Conectiva 10. ela ficou assim

IPNET=`ifconfig eth0 | grep inet | awk '{ print $3 }'`

ai funcionou beleza...

Valeu....



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts