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
Оставить комментарий

avatar
1 Цепочка комментария
1 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
2 Авторы комментариев
Александр Тимченкоffv Авторы недавних комментариев

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

  Подписаться  
новее старее большинство голосов
Уведомление о
ffv
Гость
ffv

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

# ./dns_check.sh

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

DONE.

Back to top button
Close
Close