Странная проблема с DNS: сверло работает, а getent hosts нет

Несколько советов, которые могут вам помочь:

  • Вам не нужен AV Linux для использования Guitarix, если он находится в официальных репозиториях в Fedora 26, поэтому я не вижу никаких преимуществ в использовании его внутри контейнера/VM.

So my idea is to create a Docker image based on AV Linux and somehow pass my USB sound card adapter thingy (which I use to connect my guitar) through to the Docker container and then use a VNC tool to interact with the Guitarix GUI in the container.

Насколько мне известно, образа докера AVLinux не существует.

Если вы действительно хотите использовать Guitarix внутри контейнера, вы можете посмотреть здесь:

https://blog.jessfraz.com/post/docker-containers-on-the-desktop/

Существует несколько примеров настольных приложений, работающих в контейнере и соответствующих файлах докеров. Вы можете извлечь из этого уроки.

But my fear is that doing this with Docker would introduce a lot of audio latency, effectively rendering it useless.

Нет, это не приведет к большой задержке звука (почти никакой ).

A 100 milliseconds for example would be way too much already. 20-30ms would probably be acceptable.

Выше 6 -7 мс это чувствуется, вероятно впечатления будут не большие.

Если вы хотите выполнить работу правильно, приложите некоторые усилия, чтобы запустить ее на своем хосте. Если вы хотите приключений, постарайтесь лучше понять способ работы контейнера, чтобы избежать некоторых неправильных представлений.

Если вы хотите попробовать другой аудиодистрибутив Linux, вы всегда можете взглянуть наhttp://kxstudio.linuxaudio.org/

1
01.12.2019, 04:33
1 ответ

Современные браузеры могут использовать DNS -поверх -HTTPS(Chromium , Firefox). В результате у них может быть функционирующее разрешение имени хоста, которое полностью не зависит от основной ОС.

Ваш nsswitch.confуказывает, чтоresolve(т. е.systemd-resolved)следует использовать в первую очередь перед традиционнымresolv.conf-поиском DNS на основе(dns). Если systemd-resolvedне может найти запрошенные данные или выдает временный код ошибки, ошибка будет считаться результатом поиска. Вы можете просмотреть DNS-серверы, используемые systemd-resolved, запустив resolvectl status.

Команда drillявно ищет в resolv.confсерверы имен по умолчанию; кроме этого, он полностью пропускает механизмы nsswitch.confи выполняет всю работу сам.

(systemd-resolvedявно игнорирует resolv.conf, чтобы разрешить перенаправление таких программ, как drill, на systemd-resolvedпутем указания nameserver 127.0.0.53в resolv.conf, а также потому, что systemd-resolvedпозволяет настраивать разные DNS-серверы для разных сетевых интерфейсов.)

Итак, моя интерпретация происходящего такова:

  • Chromium :работает, поскольку использует DNS -поверх -HTTPS.
  • drill:работает, потому что он пропускает nsswitch.confи просто смотрит на resolv.conf.
  • в основном все остальное :использует механизмы, указанные в nsswitch.conf, и заканчивается запросом systemd-resolved, который по какой-то причине явно не -имеет нефункциональные настройки DNS (возможно, его запросы блокируются брандмауэрами, или разговариваете с несговорчивым DNS-сервером? )и поэтому не может получить информацию DNS. DNS-серверы, указанные в resolv.conf, будут использоваться этим классом программ только в том случае, если попытки использовать systemd-resolvedвернут код результата «постоянный сбой» -, и, по-видимому, сейчас этого не происходит.

mymachinesв nsswitch.conf, вероятно, относится к этому модулю разрешения имен хостов , который будет автоматически разрешать имена хостов локальных виртуальных машин и других контейнеров, управляемых systemd-machined.Это не должно иметь никакого эффекта при разрешении не -локальных имен.

Аналогично, myhostname, вероятно, относится к этому модулю разрешения имен хостов , который гарантирует, что текущее локальное имя хоста, имена localhostи localhost.localdomainи имя _gatewayвсегда будут разрешены, даже если нет подключения к сети.

1
27.01.2020, 23:40

Теги

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