DNS ПРОБЛЕМИ

Потому что я уникальный дебил и пишу ужасно, не мърлив и недообмислен код, я не мог оставить без доступа к хостинг машина мне всю ночь. Проблема оказалась маньяк тривиальный, но кто считает, что время.

#!/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

Это уже была исправлена сценарий, который не будет ошибаться. Мы расскажем, где была проблемной области теперь можно объяснить, что делает скрипт. По крайней мере, не так ли я динамического публичного ip. Я поставил этот скрипт, чтобы проверить изменения в адрес моего если изменить настройки менять машины и передает информацию для моего домена, что есть изменения. Вообще тривиальный сценарий, но он был очень дефицитный разрыв. В той части, где проверяется на изменение адреса

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

Раньше был

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

Так что сам очередь, делает следующее берет 2-й IP-адрес и их перекрестной если одинаковы, скучает, если различные ъпдейтва. В предыдущей версии я пропустил очень важную ошибку по какой-то причине мой сценарий, я было решил, что у меня есть IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉

2 Комментарии

  1. Не мога да не се въздържа и да не репликирам със следния виц:
    На Иванчо са му дали 3 ябълки.
    Той е изял 2.
    Колко ябълки има Иванчо?
    Мислите си че 1?
    Ама никъде не е казано, колко ябълки е имал Иванчо преди да му дадат 3-те.
    Изводнулирайте си променливите!

    Всички сме ги правили тези грешки, аз няма да забравя, когато цяла зона ми умря заради една долна черта. Вече долнтие черти си ги заменям с тирета и си чета рфц-тата редовно.
    Важното е следващия път варианта с липсващо ай пи да ни е на ум. 🙂

    1. 😀 Дам 12 са били :)))) Ами Мисля че както промених скрипта няма да се осерат нещата. Иначе дам хубаво е човек да си вади поуки и да не пише калпаво с леви крак 😉

оставьте ответ

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *

анти СПАМ *