Fordi jeg er unik idiot og skrive forfærdeligt, ikke myrlin og nadoolman kode, Jeg kunne ikke forlade uden adgang til hosting maskine mig hele natten. Problemet viste sig at være en sindssyg trivielle, men der mener, at tiden.

#!/bin/bash -x
wget http://checkip.dyndns.org/ -O /tmp/ipaddr
IPADDR=$(cat /tmp/ipaddr | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')
IPADDROLD=$(cat /tmp/ipaddr_old | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')

if [ "$IPADDR" != "$IPADDROLD"  -a "$IPADDR" != "" ]
then
 sed -i "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/$IPADDR/" /etc/bind/neo2shyalien.eu
 /etc/init.d/bind9 restart
 echo "server localhost" > /tmp/nsupdate
 echo "zone neo2shyalien.eu" >> /tmp/nsupdate
 echo "update delete ns.neo2shyalien.eu. A" >> /tmp/nsupdate
 echo "update delete ns.neo2shyalien.eu. CNAME" >> /tmp/nsupdate
 echo "update add ns.neo2shyalien.eu. 38400 A $IPADDR" >> /tmp/nsupdate
 echo "update add *.neo2shyalien.eu. 38400 CNAME ns.neo2shyalien.eu." >> /tmp/nsupdate
 echo "show" >> /tmp/nsupdate
 echo "send" >> /tmp/nsupdate
 echo "" >> /tmp/nsupdate
 /usr/bin/nsupdate -k /etc/Kns.neo2shyalien.eu.+157+59417.private -d /tmp/nsupdate
 mv /tmp/ipaddr /tmp/ipaddr_old
fi

Det var allerede rettet scriptet, som vil være forkert. Vi vil forklare, hvor var det problem er nu at forklare, hvad scriptet gør. I hvert fald ikke, hvis jeg dynamisk offentlig ip. Jeg sætte dette script til at kontrollere ændringer i min adresse, hvis du ændrer indstillinger for at ændre den maskine til at sende oplysninger til mit domæne, hvad er ændringen. Generelt trivielt script, men det var meget sparsomme hullet. I den del, hvor er testet til en forandring"

if [ "$IPADDR" != "$IPADDROLD"  -a "$IPADDR" != "" ]

Tidligere

if [ "$IPADDR" != "$IPADDROLD"]

Så gør han tager følgende 2. IP-adresse, og hvis de krydser de samme, mangler, hvis forskellige pData. I den tidligere version jeg glemte en meget vigtig fejl, for nogle grunden til, at mit script, besluttede jeg, at jeg har en IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉