Поиск и устранение неисправностей dnsmasq

У меня проблемы с DNS при новой установке Ubuntu 16.04:

kqs@mycomputer:~$ nslookup localserver Server: 127.0.0.1 Address: 127.0.0.1#53 ** server can't find localserver: NXDOMAIN

Но если я укажу DNS-сервер (или иногда, если я просто подожду некоторое время), он работает:

kqs@mycomputer:~$ nslookup localserver 192.168.0.1 Server: 192.168.0.1 Address: 192.168.0.1#53 Name: localserver.localdomain Address: 192.168.0.24

И это тот же самый DNS-сервер, который появляется сначала в Network Manager:

kqs@mycomputer:~$ nmcli device show IP4.ADDRESS[1]: 192.168.0.152/24 IP4.GATEWAY: 192.168.0.1 IP4.ROUTE[1]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000 IP4.DNS[1]: 192.168.0.1 IP4.DNS[2]: 131.215.254.100 IP4.DNS[3]: 131.215.139.100

Кажется, та же проблема, что и «dnsmasq иногда решает вещи, иногда это не делает», t "и" Разрешение адресов интрасети и dnsmasq ", но в этом решении они отключают dnsmasq, комментируя строку dns=dnsmasq в /etc/NetworkManager/NetworkManager.conf.

Однако я хотел бы устранить неисправность dnsmasq, а не полностью обходить его.

Итак, мои вопросы:

Я понимаю, что dnsmasq - это легкий DNS-сервер, работающий на моем компьютере. Предположительно, настройки DNS Network Manager используются для настройки dnsmasq, но в конечном итоге это dnsmasq, который несет исключительную ответственность за обработку DNS-запросов (с помощью восходящих DNS-серверов, которые он сочтет необходимыми). Это верно? Могу ли я увидеть, как dnsmasq обрабатывает определенный DNS-поиск? то есть он отвечает на него из своего кеша? Какому серверу восходящего DNS он пересылает его? Могу ли я dnsmasq указать конкретный DNS-сервер для локального домена?
2
задан 14 April 2017 в 01:18

9 ответов

[D0] 1. dnsmasq и Network Manager

Как вы можете от нескольких дней в будущем: ваше понимание правильное.

Обратите внимание, однако, что Network Manager запускает экземпляр dnsmasq как дочерний процесс (не отдельный демон) и сохраняет свой собственный набор настроек конфигурации dnsmasq.

2. Могу ли я увидеть, как dnsmasq обрабатывает определенный поиск DNS?

Извините, я до сих пор не знаю.

3. Могу ли я dnsmasq использовать конкретный DNS-сервер для локального домена?

Да, опция --server в dnsmasq (справочная страница здесь) позволяет указать восходящие DNS-серверы для определенных доменов.

Вы можете передать эту опцию при вызове диспетчера сети dnsmasq. Я сделал это, создав файл в каталоге /etc/NetworkManager/dnsmasq.d/ с содержимым:

server=//192.168.0.1

Обычно эта строка будет server=/domain/<ipaddr>; в этом случае пустая спецификация домена означает «только неквалифицированные имена», например localserver в вашем примере (в отличие от localserver.domain).

Как я исправил вашу непосредственную проблему

Вышеизложенное изменение по-прежнему не помогло. Я подтвердил, что это было загружено (service NetworkManager status показывает запись в журнале dnsmasq[<pid>]: using nameserver 192.168.0.1#53 for unqualified names), но она по-прежнему возвращает NXDOMAIN при поиске. Итак, я остановился на следующем хаке:

Локальные компьютеры, с которыми я подключаюсь ко всем, имеют статические IP-адреса, поэтому я вручную указал их в файле в /etc/NetworkManager/dnsmasq.d с содержимым:

address=/localserver/192.168.0.13 address=/localserve2/192.168.0.14 [...and so on...]
3
ответ дан 18 July 2018 в 15:01
[D0] 1. dnsmasq и Network Manager

Как вы можете от нескольких дней в будущем: ваше понимание правильное.

Обратите внимание, однако, что Network Manager запускает экземпляр dnsmasq как дочерний процесс (не отдельный демон) и сохраняет свой собственный набор настроек конфигурации dnsmasq.

2. Могу ли я увидеть, как dnsmasq обрабатывает определенный поиск DNS?

Извините, я до сих пор не знаю.

3. Могу ли я dnsmasq использовать конкретный DNS-сервер для локального домена?

Да, опция --server в dnsmasq (справочная страница здесь) позволяет указать восходящие DNS-серверы для определенных доменов.

Вы можете передать эту опцию при вызове диспетчера сети dnsmasq. Я сделал это, создав файл в каталоге /etc/NetworkManager/dnsmasq.d/ с содержимым:

server=//192.168.0.1

Обычно эта строка будет server=/domain/<ipaddr>; в этом случае пустая спецификация домена означает «только неквалифицированные имена», например localserver в вашем примере (в отличие от localserver.domain).

Как я исправил вашу непосредственную проблему

Вышеизложенное изменение по-прежнему не помогло. Я подтвердил, что это было загружено (service NetworkManager status показывает запись в журнале dnsmasq[<pid>]: using nameserver 192.168.0.1#53 for unqualified names), но она по-прежнему возвращает NXDOMAIN при поиске. Итак, я остановился на следующем хаке:

Локальные компьютеры, с которыми я подключаюсь ко всем, имеют статические IP-адреса, поэтому я вручную указал их в файле в /etc/NetworkManager/dnsmasq.d с содержимым:

address=/localserver/192.168.0.13 address=/localserve2/192.168.0.14 [...and so on...]
3
ответ дан 24 July 2018 в 20:32
[D0] 1. dnsmasq и Network Manager

Как вы можете от нескольких дней в будущем: ваше понимание правильное.

Обратите внимание, однако, что Network Manager запускает экземпляр dnsmasq как дочерний процесс (не отдельный демон) и сохраняет свой собственный набор настроек конфигурации dnsmasq.

2. Могу ли я увидеть, как dnsmasq обрабатывает определенный поиск DNS?

Извините, я до сих пор не знаю.

3. Могу ли я dnsmasq использовать конкретный DNS-сервер для локального домена?

Да, опция --server в dnsmasq (справочная страница здесь) позволяет указать восходящие DNS-серверы для определенных доменов.

Вы можете передать эту опцию при вызове диспетчера сети dnsmasq. Я сделал это, создав файл в каталоге /etc/NetworkManager/dnsmasq.d/ с содержимым:

server=//192.168.0.1

Обычно эта строка будет server=/domain/<ipaddr>; в этом случае пустая спецификация домена означает «только неквалифицированные имена», например localserver в вашем примере (в отличие от localserver.domain).

Как я исправил вашу непосредственную проблему

Вышеизложенное изменение по-прежнему не помогло. Я подтвердил, что это было загружено (service NetworkManager status показывает запись в журнале dnsmasq[<pid>]: using nameserver 192.168.0.1#53 for unqualified names), но она по-прежнему возвращает NXDOMAIN при поиске. Итак, я остановился на следующем хаке:

Локальные компьютеры, с которыми я подключаюсь ко всем, имеют статические IP-адреса, поэтому я вручную указал их в файле в /etc/NetworkManager/dnsmasq.d с содержимым:

address=/localserver/192.168.0.13 address=/localserve2/192.168.0.14 [...and so on...]
3
ответ дан 31 July 2018 в 23:34

1. dnsmasq и Network Manager

Как вы можете от нескольких дней в будущем: ваше понимание верное.

Обратите внимание, однако, что Network Manager запускает экземпляр dnsmasq как дочерний процесс (не отдельный демон) и сохраняет свой собственный набор настроек конфигурации dnsmasq.

2. Могу ли я увидеть, как dnsmasq обрабатывает определенный поиск DNS?

Извините, я до сих пор не знаю.

3. Могу ли я dnsmasq использовать конкретный DNS-сервер для локального домена?

Да, опция --server в dnsmasq ( manpage здесь ) позволяет указать DNS-серверы верхнего уровня для определенных доменов.

Вы можете передать эту опцию при вызове Network Manager dnsmasq. Я сделал это, создав файл в каталоге /etc/NetworkManager/dnsmasq.d/ с содержимым:

server=//192.168.0.1

Обычно эта строка будет server=/domain/<ipaddr>; в этом случае пустая спецификация домена означает «только неквалифицированные имена», например localserver в вашем примере (в отличие от localserver.domain).

Как я исправил вашу непосредственную проблему

Вышеизложенное изменение по-прежнему не помогло. Я подтвердил, что это было загружено (service NetworkManager status показывает запись в журнале dnsmasq[<pid>]: using nameserver 192.168.0.1#53 for unqualified names), но она по-прежнему возвращает NXDOMAIN при поиске. Поэтому я остановился на следующем взломе:

Локальные компьютеры, с которыми я подключаюсь ко всем, имеют статические IP-адреса, поэтому я вручную указал их в файле в /etc/NetworkManager/dnsmasq.d с содержимым:

address=/localserver/192.168.0.13
address=/localserve2/192.168.0.14
[...and so on...]
3
ответ дан 2 August 2018 в 18:31

1. dnsmasq и Network Manager

Как вы можете от нескольких дней в будущем: ваше понимание верное.

Обратите внимание, однако, что Network Manager запускает экземпляр dnsmasq как дочерний процесс (не отдельный демон) и сохраняет свой собственный набор настроек конфигурации dnsmasq.

2. Могу ли я увидеть, как dnsmasq обрабатывает определенный поиск DNS?

Извините, я до сих пор не знаю.

3. Могу ли я dnsmasq использовать конкретный DNS-сервер для локального домена?

Да, опция --server в dnsmasq ( manpage здесь ) позволяет указать DNS-серверы верхнего уровня для определенных доменов.

Вы можете передать эту опцию при вызове Network Manager dnsmasq. Я сделал это, создав файл в каталоге /etc/NetworkManager/dnsmasq.d/ с содержимым:

server=//192.168.0.1

Обычно эта строка будет server=/domain/<ipaddr>; в этом случае пустая спецификация домена означает «только неквалифицированные имена», например localserver в вашем примере (в отличие от localserver.domain).

Как я исправил вашу непосредственную проблему

Вышеизложенное изменение по-прежнему не помогло. Я подтвердил, что это было загружено (service NetworkManager status показывает запись в журнале dnsmasq[<pid>]: using nameserver 192.168.0.1#53 for unqualified names), но она по-прежнему возвращает NXDOMAIN при поиске. Поэтому я остановился на следующем взломе:

Локальные компьютеры, с которыми я подключаюсь ко всем, имеют статические IP-адреса, поэтому я вручную указал их в файле в /etc/NetworkManager/dnsmasq.d с содержимым:

address=/localserver/192.168.0.13
address=/localserve2/192.168.0.14
[...and so on...]
3
ответ дан 3 August 2018 в 20:49

1. dnsmasq и Network Manager

Как вы можете от нескольких дней в будущем: ваше понимание верное.

Обратите внимание, однако, что Network Manager запускает экземпляр dnsmasq как дочерний процесс (не отдельный демон) и сохраняет свой собственный набор настроек конфигурации dnsmasq.

2. Могу ли я увидеть, как dnsmasq обрабатывает определенный поиск DNS?

Извините, я до сих пор не знаю.

3. Могу ли я dnsmasq использовать конкретный DNS-сервер для локального домена?

Да, опция --server в dnsmasq ( manpage здесь ) позволяет указать DNS-серверы верхнего уровня для определенных доменов.

Вы можете передать эту опцию при вызове Network Manager dnsmasq. Я сделал это, создав файл в каталоге /etc/NetworkManager/dnsmasq.d/ с содержимым:

server=//192.168.0.1

Обычно эта строка будет server=/domain/<ipaddr>; в этом случае пустая спецификация домена означает «только неквалифицированные имена», например localserver в вашем примере (в отличие от localserver.domain).

Как я исправил вашу непосредственную проблему

Вышеизложенное изменение по-прежнему не помогло. Я подтвердил, что это было загружено (service NetworkManager status показывает запись в журнале dnsmasq[<pid>]: using nameserver 192.168.0.1#53 for unqualified names), но она по-прежнему возвращает NXDOMAIN при поиске. Поэтому я остановился на следующем взломе:

Локальные компьютеры, с которыми я подключаюсь ко всем, имеют статические IP-адреса, поэтому я вручную указал их в файле в /etc/NetworkManager/dnsmasq.d с содержимым:

address=/localserver/192.168.0.13
address=/localserve2/192.168.0.14
[...and so on...]
3
ответ дан 5 August 2018 в 05:29

1. dnsmasq и Network Manager

Как вы можете от нескольких дней в будущем: ваше понимание верное.

Обратите внимание, однако, что Network Manager запускает экземпляр dnsmasq как дочерний процесс (не отдельный демон) и сохраняет свой собственный набор настроек конфигурации dnsmasq.

2. Могу ли я увидеть, как dnsmasq обрабатывает определенный поиск DNS?

Извините, я до сих пор не знаю.

3. Могу ли я dnsmasq использовать конкретный DNS-сервер для локального домена?

Да, опция --server в dnsmasq ( manpage здесь ) позволяет указать DNS-серверы верхнего уровня для определенных доменов.

Вы можете передать эту опцию при вызове Network Manager dnsmasq. Я сделал это, создав файл в каталоге /etc/NetworkManager/dnsmasq.d/ с содержимым:

server=//192.168.0.1

Обычно эта строка будет server=/domain/<ipaddr>; в этом случае пустая спецификация домена означает «только неквалифицированные имена», например localserver в вашем примере (в отличие от localserver.domain).

Как я исправил вашу непосредственную проблему

Вышеизложенное изменение по-прежнему не помогло. Я подтвердил, что это было загружено (service NetworkManager status показывает запись в журнале dnsmasq[<pid>]: using nameserver 192.168.0.1#53 for unqualified names), но она по-прежнему возвращает NXDOMAIN при поиске. Поэтому я остановился на следующем взломе:

Локальные компьютеры, с которыми я подключаюсь ко всем, имеют статические IP-адреса, поэтому я вручную указал их в файле в /etc/NetworkManager/dnsmasq.d с содержимым:

address=/localserver/192.168.0.13
address=/localserve2/192.168.0.14
[...and so on...]
3
ответ дан 6 August 2018 в 22:37

1. dnsmasq и Network Manager

Как вы можете от нескольких дней в будущем: ваше понимание верное.

Обратите внимание, однако, что Network Manager запускает экземпляр dnsmasq как дочерний процесс (не отдельный демон) и сохраняет свой собственный набор настроек конфигурации dnsmasq.

2. Могу ли я увидеть, как dnsmasq обрабатывает определенный поиск DNS?

Извините, я до сих пор не знаю.

3. Могу ли я dnsmasq использовать конкретный DNS-сервер для локального домена?

Да, опция --server в dnsmasq ( manpage здесь ) позволяет указать DNS-серверы верхнего уровня для определенных доменов.

Вы можете передать эту опцию при вызове Network Manager dnsmasq. Я сделал это, создав файл в каталоге /etc/NetworkManager/dnsmasq.d/ с содержимым:

server=//192.168.0.1

Обычно эта строка будет server=/domain/<ipaddr>; в этом случае пустая спецификация домена означает «только неквалифицированные имена», например localserver в вашем примере (в отличие от localserver.domain).

Как я исправил вашу непосредственную проблему

Вышеизложенное изменение по-прежнему не помогло. Я подтвердил, что это было загружено (service NetworkManager status показывает запись в журнале dnsmasq[<pid>]: using nameserver 192.168.0.1#53 for unqualified names), но она по-прежнему возвращает NXDOMAIN при поиске. Поэтому я остановился на следующем взломе:

Локальные компьютеры, с которыми я подключаюсь ко всем, имеют статические IP-адреса, поэтому я вручную указал их в файле в /etc/NetworkManager/dnsmasq.d с содержимым:

address=/localserver/192.168.0.13
address=/localserve2/192.168.0.14
[...and so on...]
3
ответ дан 9 August 2018 в 03:02

1. dnsmasq и Network Manager

Как вы можете от нескольких дней в будущем: ваше понимание верное.

Обратите внимание, однако, что Network Manager запускает экземпляр dnsmasq как дочерний процесс (не отдельный демон) и сохраняет свой собственный набор настроек конфигурации dnsmasq.

2. Могу ли я увидеть, как dnsmasq обрабатывает определенный поиск DNS?

Извините, я до сих пор не знаю.

3. Могу ли я dnsmasq использовать конкретный DNS-сервер для локального домена?

Да, опция --server в dnsmasq ( manpage здесь ) позволяет указать DNS-серверы верхнего уровня для определенных доменов.

Вы можете передать эту опцию при вызове Network Manager dnsmasq. Я сделал это, создав файл в каталоге /etc/NetworkManager/dnsmasq.d/ с содержимым:

server=//192.168.0.1

Обычно эта строка будет server=/domain/<ipaddr>; в этом случае пустая спецификация домена означает «только неквалифицированные имена», например localserver в вашем примере (в отличие от localserver.domain).

Как я исправил вашу непосредственную проблему

Вышеизложенное изменение по-прежнему не помогло. Я подтвердил, что это было загружено (service NetworkManager status показывает запись в журнале dnsmasq[<pid>]: using nameserver 192.168.0.1#53 for unqualified names), но она по-прежнему возвращает NXDOMAIN при поиске. Поэтому я остановился на следующем взломе:

Локальные компьютеры, с которыми я подключаюсь ко всем, имеют статические IP-адреса, поэтому я вручную указал их в файле в /etc/NetworkManager/dnsmasq.d с содержимым:

address=/localserver/192.168.0.13
address=/localserve2/192.168.0.14
[...and so on...]
3
ответ дан 14 August 2018 в 21:20

Другие вопросы по тегам:

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