FreeBSD

Проверка DNS: ip-hostname-ip

С помощью данного скрипта можно проверить работу dns сервера, а именно правильно ли резолвится ip адрес в имя и обратно. Скрипт будет полезен при настройке dns сервера небольшой корпоративной сети.

Конфигурация скрипта:

Блок который будем проверять задаётся переменной «NETS«. Для примера 2 сети 192.168.20 и 192.168.21.
Переменная «IPS» отвечает за OS в которой будет работать скрипт (Linux|xBSD)
Сам скрипт dns_check.sh

#### dns_check.sh
#
NETS="192.168.20 192.168.21"
#IPS=$(seq 1 10)  ## for Linux
#
 IPS=$(jot 254 1)  ## for OpenBSD or FreeBSD
# IPS=$(seq 1 254)  ## for Linux
#
echo
echo -e "tip        ->     hostname      -> ip"
echo '--------------------------------------------------------'
for NET in $NETS; do
  for n in $IPS; do
    A=${NET}.${n}
    HOST=$(dig -x $A +short)
    if test -n "$HOST"; then
      ADDR=$(dig $HOST +short)
      if test "$A" = "$ADDR"; then
        echo -e "okt$A -> $HOST -> $ADDR"
      elif test -n "$ADDR"; then
        echo -e "failt$A -> $HOST -> $ADDR"
      else
        echo -e "failt$A -> $HOST -> [unassigned]"
      fi
    fi
  done
done

echo ""
echo "DONE."

Запускаем скрипт

# ./dns_check.sh
          ip        ->     hostname      -> ip
  --------------------------------------------------------
  ok      192.168.20.1 -> host1.domain.lan. -> 192.168.20.1
  ok      192.168.20.2 -> host2.domain.lan. -> 192.168.20.2
  ok      192.168.20.3 -> host3.domain.lan. -> 192.168.20.3
  ok      192.168.20.4 -> host4.domain.lan. -> 192.168.20.4
  ok      192.168.20.5 -> dhca5.domain.lan. -> 192.168.20.5
  ok      192.168.20.6 -> dhca6.domain.lan. -> 192.168.20.6
  ok      192.168.20.7 -> dhca7.domain.lan. -> 192.168.20.7
  ok      192.168.20.8 -> dhca8.domain.lan. -> 192.168.20.8
  ok      192.168.20.9 -> dhca9.domain.lan. -> 192.168.20.9
  ok      192.168.20.10 -> dhca10.domain.lan. -> 192.168.20.10
  ok      192.168.21.1 -> host5.domain.lan. -> 192.168.21.1
  ok      192.168.21.2 -> host6.domain.lan. -> 192.168.21.2
  ok      192.168.21.3 -> host7.domain.lan. -> 192.168.21.3
  ok      192.168.21.4 -> host8.domain.lan. -> 192.168.21.4
  ok      192.168.21.5 -> dhcb5.domain.lan. -> 192.168.21.5
  ok      192.168.21.6 -> dhcb6.domain.lan. -> 192.168.21.6
  ok      192.168.21.7 -> dhcb7.domain.lan. -> 192.168.21.7
  ok      192.168.21.8 -> dhcb8.domain.lan. -> 192.168.21.8
  ok      192.168.21.9 -> dhcb9.domain.lan. -> 192.168.21.9
  ok      192.168.21.10 -> dhcb10.domain.lan. -> 192.168.21.10

  DONE.

Насколько полезным был этот пост?

Нажмите на звезду, чтобы оценить!

Средний рейтинг 5 / 5. Голосов: 1

Пока оценок нет! Будьте первым, поставь свою оценку этому посту.

Мы сожалеем, что этот пост не был полезен для вас!

Давайте улучшим этот пост!

Расскажите, как мы можем улучшить этот пост?

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

  1. У меня почему-то пустоту показывает

    # ./dns_check.sh

    tip -> hostname -> ip
    ———————————————————

    DONE.

    1. А если в поле прописать

      NETS="193.17.174"

      тоже на выходе пусто?
      У меня так:

              ip        ->     hostname      -> ip
      --------------------------------------------------------
      fail    193.17.174.1 -> bgp.instalnet.pl. -> 86.111.240.162
      fail    193.17.174.2 -> noc.instalnet.pl. -> 86.111.240.162
      fail    193.17.174.3 -> backup.instalnet.pl. -> 86.111.240.162
      fail    193.17.174.4 -> gw.instalnet.pl. -> 86.111.240.162
      fail    193.17.174.5 -> hosting.instalnet.pl. -> 86.111.240.162
      fail    193.17.174.6 -> hosting6.instalnet.pl. -> 86.111.240.162
      fail    193.17.174.7 -> hosting7.instalnet.pl. -> 86.111.240.162
      fail    193.17.174.8 -> hosting8.instalnet.pl. -> 86.111.240.162
      fail    193.17.174.9 -> hosting9.instalnet.pl. -> 86.111.240.162
      

Добавить комментарий

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Back to top button