Разрешите доменные имена в установке QEMU VDE

Я восстановил QEMU с поддержкой VDE. Для непосвященного VDE подключает программу виртуального коммутатора (vde_switch) к устройству TAP, которое позволяет нескольким VDE-поддерживающим программам использовать единственное устройство TAP.

Моя конечная цель здесь должна смочь разрешить мои виртуальные машины именем хоста, такие как "test1.qemu" "machineb.qemu", и т.д. от моего хоста - это упростит конфигурацию для меня при многих обстоятельствах, так как я использую DHCP через dnsmasq в интерфейсах TAP.

Действительно это - вероятно, вопрос не полностью понимания, как определение имен работает, таким образом, я надеюсь изучить что-то из этого =)

Во-первых, мой dnsmasq конфигурационный файл:

user=nobody
interface=tap0
except-interface=lo
listen-address=192.168.1.1
#Assign IP's 192.168.1.2-192.168.1.253 for 8 hrs
dhcp-range=192.168.1.2,192.168.1.253,255.255.255.0,192.168.1.255,8h
pid-file=/var/run/dnsmasq_tap0.pid
dhcp-leasefile=/var/lib/misc/dnsmasq.vde.leases
domain=qemu
server=/qemu/
#Only really run on tap0, needed so there is no confliction with
#NetworkManager's dnsmasq
bind-interfaces
dhcp-authoritative
dhcp-no-override
strict-order

Как Вы видите, я настроил dnsmasq для ответа за имена "*.qemu". Я могу проверить с помощью ping-запросов 192.168.1.1 правильно, но как стенды, 'проверьте с помощью ping-запросов qemu', не работает. Я предположил, что это было то, потому что моя хост-машина не знала, как разрешить 'qemu', таким образом, я добавил его к/etc/hosts файлу. Хотя, я не уверен, что это - надлежащий способ сделать это. Конечно, после добавления записи в/etc/hosts, qemu решает, но не i386.qemu (один из моего VM's).

Я предполагаю, что хорошая начальная точка была бы: как я говорю моей машине передавать все *.qemu запросы к работе dnsmasq 192.168.1.1 (локальный интерфейс tap0)?

Кроме того, если это - какая-либо справка, вот моя/etc/network/interfaces запись для tap0:

auto tap0
iface tap0 inet static
    address 192.168.1.1
    netmask 255.255.255.0
    vde2-switch -
    pre-up /sbin/sysctl net.ipv4.ip_forward=1
    pre-up /sbin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
    up /usr/sbin/dnsmasq -C /etc/dnsmasq.d/vde-network --pid-file=/var/run/dnsmasq_tap0.pid --bind-interfaces
    post-down /bin/bash -c "kill -9 $(cat /var/run/dnsmasq_tap0.pid)"
    post-down /sbin/sysctl net.ipv4.ip_forward=0
    post-down /sbin/iptables -t nat -D POSTROUTING -o wlan0 -j MASQUERADE
2
задан 30 April 2015 в 06:06

1 ответ

Так, я выяснил ответ, и это было что-то вроде момента фейспалма.

у меня был файл, названный /etc/NetworkManager/dnsmasq.d/qemu, который содержал неправильный IP DNS для моего qemu dnsmasq экземпляр (192.168.100.1, а не 192.168.1.1). Так, я думаю, что происходило, был то, что, когда я запросил qemu, экземпляр NetworkManager по умолчанию сетевой маски попытался передать запрос 192.168.100.1, который не работал по очевидным причинам.

, Как только я изменил адрес на 192.168.1.1 в файле конфигурации и перезапустил NetworkManager (и таким образом его экземпляр dnamasq), все работает отлично! /etc/hosts запись не требовалась, как я думал.

Теперь я просто должен выяснить, как разрешить имя узла моего хоста VM к моему адресу локальной сети в моем VM's вместо того, чтобы возвратиться 127.0.1.1, который является неправильным с точки зрения моих VM.

2
ответ дан 2 December 2019 в 03:54

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

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