Как получают названия lxc контейнеров от хоста?

lxd по умолчанию создает запараллеленную сеть в managed dns.mode. Одна из функций этого режима - то, что все контейнеры видят друг друга своим именем (не только IP-адресом). Например, от контейнера"c1"Я могу запросить сервер имени по умолчанию для IP-адреса другого контейнера c2 с nslookup c2.

Отлично.

Но это не работает над хостом. Я знаю, что могу запросить lxc list для IP-адресов контейнеров, но это - боль, чтобы сделать, если я только хочу простое ssh root@c1.

Я подошел к точке, когда я понял, что решение потребует настройки dnsmasq настройки, который служит названиям мостов. Я сдался, когда я обнаружил, что лучший кандидат, устанавливающий, --auth-server. Человек говорит

При конфигурировании dnsmasq для действия, поскольку авторитетный сервер DNS осложнен тем, что он включает конфигурацию внешних серверов DNS для обеспечения делегации.

Я не хочу регистрировать свою домашнюю динамическую IP сеть на внешней стороне (dyn) сервис DNS. Я просто хочу контейнерные имена быть видимым в хосте (и еще лучше на моей целой LAN)

2
задан 20 April 2017 в 12:31

1 ответ

Добавьте строку

server=/lxd/10.150.161.1

к Вашему/etc/dnsmasq.conf и перезапуску dnsmasq сервис. После этого

nslookup ‹containter_name›.lxd

должен работать.

Это предполагает использование в настоящее время установки по умолчанию выполнения dnsmasq демона как локальный сервер DNS (проверка, перечисляет ли/etc/resolv.conf 127.0.0.x как сервер имен). Заключенная в кавычки строка конфигурации дает этому серверу имен команду запрашивать 10.150.161.1 для адресов в .lxd домене. Вторичный dnsmasq работает туда, который был настроен установкой LXD — это - то, что слушают Ваши контейнеры.

0
ответ дан 2 December 2019 в 09:08

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

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