Uppdatera IP dynamiskt

Vill du använda detta, så hör av dig till oss på supporten så lägger vi in skriptet (vilket i själva verket är 2 stycken) på ditt konto och sätter upp dem för dig första gången. Du kan sedan själv justera skriptet i framtiden.

Det är relativt okomplicerat. Överst i skriptet anger du $domain till den huvuddomän det gäller som du äger. Om det är pekaren till denna huvuddomän som skall ändras skall $name vara samma som $domain. Ifall det är en subdomän som pekar på din hemmaserver, då skall $name vara denna subdomän. $name är alltså name i DNS -record som skall ändras. Dvs, det måste vara konsistent med den post du ändrade i DNS för att peka om din domän till hemmaservern. Super-simpel, eller hur?

<?php

include 'httpsocket.php';

$domain = "gbg.cc";
$name = "hemma.gbg.cc"; // skall sluta med namn på zon

....
För att ditt IP i dina DNS -inställningar skall uppdateras, så lägger du sedan in en crontab på din hemmaserver. Denna crontab skall periodiskt, t.ex. en gång per timme eller en gång per dag, anropa ett skript på servern.

Vi börjar med vad skriptet heter och hur det beter sig och tar sedan crontab -grejen.

checkdns.php

Skripet du lägger in ett anrop till heter som standard checkdns.php. Du kan döpa om detta till något annat, av säkerhetsskäl. När du kör detta "naket" som kommer du få följande meddelande, dvs du får instruktioner hur ditt anrop egentligen ska se ut.



Om vi kör skriptet med hela denna URL inklusive den långa strängen av tecken, så kontrolleras om IP -numret till din router har ändrats och isåfall uppdateras IP-numret i din DNS -record.



Det är viktigt du kopierar och spara ner denna URL, då det är denna URL du skall anropa från din crontab. Skulle du glömma/tappa bort den, så antingen skickar du ett meddelande till supporten så hjälper vi dig eller så loggar du in med ssh på ditt konto och tittar i filen hemmaserver_config.dat som ligger i roten på ditt bibliotek.

Vad du gör nu är att att du lägger in ett periodiskt anrop i din crontab, t.ex. en gång per dag eller en gång per timme. Ifall din routers IP skulle ändras, så kommer nu DNS -inställningarna att också ändras.

crontab

Vi vill alltså lägga in ett anrop i crontab till vår checkdns.php. Dvs något i stil men curl https://gbg.cc/checkdns.php?p=CmjGHsyqMzuINdblZkRoitfUngaOYETFBcJWAvrQLPpxe.

Vi skriver cd /etc/cron.hourly/ och sedan t.ex.
nano uppdatera_dns_for_doman

I denna fil (du kan kalla den vad som helst, jag döpte den nu till uppdatera_dns_for_doman) så lägger vi in vårt anrop till skriptet på servern.



För att det skall fungera så måste också denna fil ha lite rättigheter, så vi skriver chmod 755 uppdatera_dns_for_doman



Vi kan testköra skriptet... ./uppdatera_dns_for_doman

Och denna utdata känner vi såklart igen, så det verkar funka.



Vi kan modifiera skriptet pyttelite så att denna utdata pipe'as in i en loggfil.



Låter vi servern stå under natten så ser vi i loggfilen att att det anropas som det skall en gång per timme.



Den här logg -grejen går förstås att göra snyggare, beroende på vad du önskar. Det är ju trots allt din egen server därhemma. Det går också att anpassa utdata på skriptet på servern så att det passar dina behov.

Kör inte detta skript oftare en 1 gång per timme. Det är helt onödigt och ska inte göras. Troligtvis behåller du ditt dynamiskt tilldelade IP väldigt lång tid, kanske upp till flera år.

Huvudartikel: Hemmaserver under egen domän