Esto te permitirá tener actualizado los archivos de configuración de tus DNS colocándote la IP pública Dinámica a tu máquina desde PHP.
Quiero saber que IP Pública dinámica tengo asociado a mi maquina para asignarlo en los DNS el archivo de configuración es pdns.comf en este caso, pero si deseas agregar esta constante en otro servicio lo puedes hacer, pero lo primero que debemos es instalar lo siguiente:
aptitude install php5 php5-cli

Lluego creamos un archivo dnsDinamic.php con el siguiente contenido:
Puede descargar desde aqui


$archivo=’pdns.conf’;
$archivo2=’pdns.conf_tmp’;
// Leo el archivo remoto donde esta el url que me dice la pagina
$lines=file(‘http://checkip.dyndns.org/skip/index.php’);
// iniciamos contador y la fila a cero
foreach ($lines as $line_num => $line) {
$reset=htmlspecialchars($line);
$IP1= explode(‘&lt’, $reset);
$IP2= explode(‘:’, $IP1[6]);
print_r($IP2[1]);

}
// Cuento cuantas linea tiene el archivo
$cont=exec(“wc -l $archivo “);
// Separo el archivo por espacio en blanco para que me traiga el valor real
$val =explode(‘ ‘,$cont);
$val[0];
if($val>309){
// Procedimiento para eliminar las filas demas y lo paso a un archivo temp
echo exec(” sed ‘309,$val[0]d’ $archivo > $archivo2″);
echo exec(“mv $archivo2 $archivo”);
}
// Agrego el contenido de la ip pubica dentro del dns
exec(“echo local-address=$IP2[1] >> $archivo “);

Ahora creamos una instruccion en el crontab para que se ejecuta cada cierto tiempo y de esta manera tienes actualizado tu maquina