поисковый домен в resolv.conf не добавляется к хостам при выполнении ping или других сетевых коммуникаций

Проблема может заключаться в том, что параметр оболочки extglob установлен в интерактивной оболочке, но не в оболочке сценария.

$ shopt -u extglob
$ echo "${var1/${pattern}/}"
/some/path/to/file/the_file.arbitrary.n.ext.0.random.ext
$ shopt -s extglob
$ echo "${var1/${pattern}/}"
/some/path/to/file/the_file.arbitrary.n.ext

Таким образом, вы можете попробовать поместить shopt -s extglob сразу после строки shebang в скрипте.

Из справочного руководства Bash :

Если параметр оболочки extglob включен с помощью встроенной функции shopt , несколько расширенных шаблонов распознаются операторы сопоставления .... Составные шаблоны могут быть сформированы с использованием одного или нескольких из следующих подшаблонов:

? (PATTERN-LIST)
Соответствует нулю или одному вхождению заданных шаблонов .

2
04.08.2017, 21:30
2 ответа

Хорошо -так что это было довольно невнимательно с моей стороны, но вот в чем проблема. У меня был domain1.local, указанный в параметре domainв /etc/resolv.conf

.
### Standard Search domains:
search domain1.local domain2.local
domain domain1.local # removed this line

После того, как я запустил отладку nslookup и заметил, что он пытается добавить domain1.localк nslookup, я удалил это, и это явно устранило проблему.

user@host:~$ nslookup hosty
Server:     192.16.1.110
Address:    192.16.1.110#53

Name:   hosty.domain2.local
Address: 192.16.48.20

Довольно глупо с моей стороны, но на случай, если кто-то еще совершит ту же ошибку, возможно, это может им помочь.

2
27.01.2020, 22:37

Из руководства resolvconf , относительно dns -search

Опция dns -nameservers также принимается и, в отличие от dns -nameserver, может иметь несколько аргументов, разделенных пробелами. Параметр домена dns -устарел в пользу поиска dns -.

Результирующая строфа может выглядеть, как в следующем примере.

iface eth0 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameserver 192.168.1.254
    dns-nameserver 8.8.8.8
    dns-search foo.org bar.com

Н.Б.:На компьютере, на котором resolvconf только что был установлен или будет установлен и который ранее полагался на статический файл /etc/resolv.conf ,

• информация о сервере имен в этом статическом файле, (, то есть информация о сервере имен, домене,строки поиска и списка сортировки )должны быть перенесены в соответствующий раздел iface (s )в /etc/network/interfaces (5 ), как только что было описано.

отказ от ответственности :Обычно я удаляю сетевой менеджер, resolvconf и systemd со своих серверов Debian.

0
27.01.2020, 22:37

Теги

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