Подобно большинству systemd
заменителей важных служб (ntp, dns, cron и т. д.)systemd-resolved
является недоработанной -реализацией, которая подходит только для настольных компьютеров, которые очень похожи на рабочий стол Леннарта Поттеринга. машина. Если это работает для его нужд в его системе, то этого достаточно для всех, так что хватит ныть. WONTFIX NOTABUG ОШИБКА ПОЛЬЗОВАТЕЛЯ. systemd в качестве init в порядке, жаль, что он некомпетентно пытается сделать гораздо больше, чем должен.
Итак, сначала отключите systemd-resolved
с помощью:
systemctl stop systemd-resolved
systemctl disable systemd-resolved
Затем установите настоящее имя рекурсивного кэширования -сервер (dnsmasq
, unbound
, bind
или любой другой )и настройте его для пересылки запросов для вашего hosts.virsh
домена на 192.168.122.1
С dnsmasq вы должны использовать что-то вроде --server=/hosts.virsh/192.168.122.1
.
Со связкой,определите зону переадресации в вашем named.conf
вот так:
zone "hosts.virsh" {
type forward;
forwarders { 192.168.1.122; };
};
С Unbound что-то вроде:
forward-zone:
name: "hosts.virsh."
forward-addr: 192.168.1.122
Если этот сервер имен настроен на прослушивание всех IP-адресов (или, по крайней мере, адреса, доступного в вашей локальной сети ), он также может действовать как кэширующий преобразователь для других машин в вашей сети. IMO каждая сеть должна иметь кэширующий преобразователь, время отклика менее -мс для кэшированного разрешения DNS лучше, чем миллисекунды, десятки или даже сотни миллисекунд.
Если вы уже используете dnsmasq
для своих виртуальных машин, должна быть возможность настроить его для работы как с вашими виртуальными машинами, так и с вашим хостом (и другими машинами в вашей сети )без необходимости пересылки для хостов..virsh (этот домен уже будет частью его конфигурации ).
Я говорю "следует", потому что не пробовал, потому что не использую dnsmasq
. Вместо этого я использую фиксированные IP-адреса ISC dhdcpd
и bind9
и жесткий код -на основе MAC-адреса в моем dhdpd.conf
и вручную добавляю записи для своих виртуальных машин в файл зоны моего домена.
Вам не нужно -i
, если вы укажете -t
, который задокументирован как
When set to true Podman will allocate a pseudo-tty and attach to the standard input of the container. This can be used, for example, to run a throwaway interactive shell. The default is false.
Опции -a
и -i
start
нельзя использовать для переопределения опций (отмены)-t
или -i
, заданных для create
. Они полезны, когда эти опции не были указаны в create
времени. Обратите внимание, что -i
имеет немного другое значение наcreate
:
Keep STDIN open even if not attached.
т.start
:
Attach container’s STDIN.
В обоих случаях -i
можно использовать без -t
или -a
, хотя это может не дать ничего полезного (в зависимости от того, что ожидают команды, работающие в контейнере ).