Script para ip publica ( cuando hay NAT/Port Forwarding )

por | 06/21/2012

Dado que puede ser que el servidor tenga una ip privada y necesitemos saber la ip publica para publicarla con algun servicio, hice un simple script que lo resulve:
[code]
#!/bin/bash
wget -O – -q myip.dk |grep ‘"ha4"’ | egrep -o ‘[0-9.]+’ | grep -v 4 > ip_publica.log
ippublica=$(cat ip_publica.log)
[servicio] -[opcion_para_poner_la_ip] $ippublica
rm ip_publica.log
[/code]

La linea 2, lo que hace es bajar el index, en el cual se busca el tag «ha4», el cual contiene la ip publica ( se trae todo la linea ) y mediante el egrep se trae solamente numeros de 0-9 y el «.», y posteriormente se filtra el 4 de «ha4».

En mi caso, como uso no-ip:
[code]
#!/bin/bash
wget -O – -q myip.dk |grep ‘"ha4"’ | egrep -o ‘[0-9.]+’ | grep -v 4 > ip_publica.log
ippublica=$(cat ip_publica.log)
noip2 -i $ippublica
rm ip_publica.log
[/code]

Por cron, llamo el script cada 1hs.

La parte del .log, la pueden exceptuar… yo lo hago para hacer un «debug».

Espero que les sirva :)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.