DNS ПРОБЛЕМИ

Pois eu sou idiota única e escrever código terrivelmente marliv e meia-boca, Deixo sem acesso à máquina me hospedagem para a noite inteira. O problema acabou por ser um imbecil trivial, mas qualquer pensamento de tempo.

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

Isto agora é corrigido script que não vai errar. Vou explicar de onde era a parte problema agora para explicar o que faz com que o script. Pelo menos eu tenho um IP público dinâmico. Eu coloquei o script acima para verificar se há uma mudança no meu endereço, se mudado para alterar as configurações da máquina e envia informações para o meu domínio, uma mudança. roteiro trivial geral, mas eu fui feito omissão terrivelmente demente. Na parte em que você verificar se há uma mudança de endereço

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

antes que fosse

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

Assim fim em si torna este leva endereço IP segundo e ordenar-lhes se eles são idênticos dispensada se diferentes atualizações. Na versão anterior eu tinha perdido um erro muito importante por alguma razão o script que eu tinha decidido que eu IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉

2 comments

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

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

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

Deixe uma resposta

Seu endereço de email não será publicado. Campos obrigatórios são marcados *

anti SPAM *