DNS խնդիրները

Քանի որ ես յուրահատուկ մի moron և գրում եմ ահավոր, мърлив եւ недообмислен կոդ, ես չէի կարող թողնել առանց մուտքի հոստինգ մեքենա ես ամբողջ գիշեր. Խնդիրը հայտնվել է մոլագար չնչին, բայց ովքեր կարծում են, որ ժամանակը.

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

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

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

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

Leave a Reply

Ձեր email address will not be published. Պարտադիր դաշտերը նշված են *

Հակա-սպամ *