Artfiles & Plesk DNS Slave/Primary Problem

Du könntest mal schauen, ob sich bei dir die ID ändert, mit
/usr/local/psa/bin/dns --update-soa domain.tld
Das soll angeblich die ID aktualisieren. Bei mir hat das nichts gebracht, aber ich habe auch die IP vorher nicht geändert.

Ansonsten hier noch die geänderte php Datei. Damit sollte auch die ID in der Tabelle "dns_zone" aktualisiert werden.
( bin kein php Profi, also ohne Gewähr ;) )

PHP:
 <?php

include 'mysql_config.php';

$dynDomains = array('tragl-home.de','tragl.gs-server.de','gs-server.de');

$newIP = $_SERVER['REMOTE_ADDR'];
$DoUpdateFile = "updatefile/doupdate";

if(!isset($_GET['domain'])){
    die('Parameter "domain" not set');
}
// Check if the requested domain is in our list of domains we want to keep updated.
if(! in_array($_GET['domain'], $dynDomains)){
    die('Requested domain is not in the list of maintained dyn domains.');
}

// Check if IP is really an IP (should always be the case, but just to be safe...)
if($newIP == "" || !preg_match_all("/(\d{1,3}\.){3}\d{1,3}/", $newIP, $matches )){
    die();    
}    

// We need to append a dot (.) to the end of the requested domain
$dyndns = $_GET['domain'] . '.';

$query = "SELECT id, val, dns_zone_id FROM dns_recs WHERE host = '$dyndns' AND type = 'A';";

$result = mysql_query($query);
$row = mysql_fetch_assoc($result);

$rowId = $row['id'];
$oldIP = $row['val'];
$dnsId = $row['dns_zone_id'];

if($oldIP == $newIP){
    echo "No update. IP has not changed since last update: " . $newIP;
    echo "good ".$newIP;
    die();
}

// Update IP

$newSerial = date("YmdH");

$updateQuery = "UPDATE dns_recs SET val = '$newIP', displayVal = '$newIP' WHERE id = '$rowId';";
$updated = mysql_query($updateQuery ) or die (mysql_error());

$updateQuery = "UPDATE dns_zone SET serial = '$newSerial' WHERE id = '$dnsId';";
$updated = mysql_query($updateQuery ) or die (mysql_error());

$updateDomain = $_GET['domain'] . ";";
# Create do-update file to notice cron job to update the DNS entry
file_put_contents($DoUpdateFile, $updateDomain, FILE_APPEND);

echo "good ".$newIP;

?>
 
hi.

also das soa-update hat nicht funktioniert, das hatte ich gestern schon durch.
jedoch dein PHP funktioniert und er generiert mir eine neue serial.
vor dem ip-wechsel 2016041402 -> danach 2016041417

scheint auch direkt vom auth2.artfiles.de gefressen worden zu sein innerhalb der ttl.

beobachte das mal für morgen, wenn das automatisch so weiter läuft, dann scheint für das Problem endlich eine Lösung gefunden zu sein :)

Vielen Dank schonmal!
 
Back
Top