Поиск DNS на сервере с несколькими IP-адресами

Вот общий способ с последними версиями GNU awk:

gawk -i join '
{
  split($0, F, //)
  asort(F)
  h[join(F, 1, length(F), SUBSEP)]++
}
END {
  asorti(h, x)
  for(k in h) 
    print h[k], k
}' infile

Или как отдельный скрипт:

order.awk

@include "join"
{
  split($0, F, //)
  asort(F)
  h[join(F, 1, length(F), SUBSEP)]++
}
END {
  asorti(h, x)
  for(k in h) 
    print h[k], k
}

Запустите это так:

gawk -f order.awk infile

Выход:

2 ab
1 ac
1 bc
5
08.08.2019, 20:51
1 ответ

Необходимо использовать то, что называется DNS с разделенным горизонтом или разделенным представлением.

Не все серверы поддерживают это. Возможно, для этого вам придется использовать ISC BIND , так как NSD от NLnet Labs и большинство других современных переписываний не рекламируют поддержку этого.

С практической точки зрения я бы рекомендовал создать единую зону со всеми именами хостов в ней, а затем использовать сценарий оболочки для автоматического создания разделенных зон на основе исходной зоны (, выбрав только соответствующие подсети. для каждого разделенного вида ). Вы можете использовать что-то вроде grepcidr , если ваши подсети сложнее, чем просто /24.

6
27.01.2020, 20:38

Теги

Похожие вопросы