를 사용하여 가상 머신을 생성하면 가상 머신은 virt-install
다음 XML 구성을 생성하여 자동으로 네트워크 인터페이스에 연결됩니다.virbr0
<interface type="network">
<source network="default"/>
<mac address="52:54:00:6a:40:f8"/>
<model type="e1000e"/>
</interface>
이제 나는 이것을 복제하려고 노력하고 있습니다.
기본 libvirt 네트워크 구성을 확인하면 /var/lib/libvirt/dnsmasq/default.conf
네트워크 인터페이스 이름이 무엇인지 알 수 있습니다 virbr0
.
나는 qemu에게 다음과 같은 동일한 인터페이스를 사용하도록 지시했습니다.
qemu-system-x86_64 -net nic -net bridge,br=virbr0" ...
하지만 XML 구성처럼 사용자 정의 MAC 주소를 지정하는 방법을 모르겠습니다. 누군가 나를 깨달을 수 있습니까?
Tap 장치의 경우 MAC 주소를 다음과 같이 설정할 수 있는 것 같습니다.
-netdev type=tap,id=net0,ifname=tap0,script=tap_ifup,downscript=tap_ifdown,vhost=on \
-device virtio-net-pci,netdev=net0,addr=19.0,mac=52:54:00:6a:40:f8
그러나 그것은 내가 원하는 것이 아닙니다. 나는 단지 그 다리를 이용하고 싶었습니다 virbr0
.
답변1
드디어 알아냈어요!
따라서 virt-install
기본적으로 수행되는 작업은 다음과 같습니다.
sudo virt-install --network network=default,model=e1000,mac=00:11:22:33:44:55
및 와 동등 qemu-system-x86_64
합니다:
INTERFACE_NAME="$(sudo cat /var/lib/libvirt/dnsmasq/default.conf | grep "^interface=" | cut -d'=' -f2-)"
sudo qemu-system-x86_64 -net nic,model=e1000,macaddr=00:11:22:33:44:55 -net bridge,br=${INTERFACE_NAME}
default
먼저 네트워크가 활성화되어 있는지 확인하는 것이 좋습니다 .
if ! sudo virsh net-list | grep default | grep --quiet active; then
sudo virsh net-start default
fi
참고: 전체 기본 네트워크는 패키지에서 제공됩니다 libvirt-daemon-config-network
(적어도 Fedora에서는).
qemu 매뉴얼 페이지에서:
-net nic[,netdev=nd][,macaddr=mac][,model=type] [,name=name][,addr=addr][,vectors=v]
Legacy option to configure or create an on-board (or machine default) Network Interface Card(NIC) and connect it either to the emulated hub with ID 0 (i.e. the default hub), or to the netdev nd. If model is omitted,
then the default NIC model associated with the machine type is used. Note that the default NIC model may change in future QEMU releases, so it is highly recommended to always specify a model. Optionally, the MAC ad‐
dress can be changed to mac, the device address set to addr (PCI cards only), and a name can be assigned for use in monitor commands. Optionally, for PCI cards, you can specify the number v of MSI-X vectors that the
card should have; this option currently only affects virtio cards; set v = 0 to disable MSI-X. If no -net option is specified, a single NIC is created. QEMU can emulate several different models of network card. Use
-net nic,model=help for a list of available devices for your target.
-net user|tap|bridge|socket|l2tpv3|vde[,...][,name=name]
Configure a host network backend (with the options corresponding to the same -netdev option) and connect it to the emulated hub 0 (the default hub). Use name to specify the name of the hub port.
virt-install 매뉴얼 페이지에서:
NETWORKING OPTIONS
-w, --network
Syntax: -w, --network OPTIONS
Connect the guest to the host network. Examples for specifying the network type:
bridge=BRIDGE
Connect to a bridge device in the host called BRIDGE. Use this option if the host has static networking config & the guest requires full outbound and inbound connectivity to/from the LAN. Also use this if live migra‐
tion will be used with this guest.
network=NAME
Connect to a virtual network in the host called NAME. Virtual networks can be listed, created, deleted using the virsh command line tool. In an unmodified install of libvirt there is usually a virtual network with a
name of default. Use a virtual network if the host has dynamic networking (eg NetworkManager), or using wireless. The guest will be NATed to the LAN by whichever connection is active.
type=direct,source=IFACE[,source.mode=MODE]
Direct connect to host interface IFACE using macvtap.
user Connect to the LAN using SLIRP. Only use this if running a QEMU guest as an unprivileged user. This provides a very limited form of NAT.
none Tell virt-install not to add any default network interface.
If --network is omitted a single NIC will be created in the guest. If there is a bridge device in the host with a physical interface attached, that will be used for connectivity. Failing that, the virtual network called de‐
fault will be used. This option can be specified multiple times to setup more than one NIC.
Some example suboptions:
model.type or model
Network device model as seen by the guest. Value can be any nic model supported by the hypervisor, e.g.: 'e1000', 'rtl8139', 'virtio', ...
mac.address or mac
Fixed MAC address for the guest; If this parameter is omitted, or the value RANDOM is specified a suitable address will be randomly generated. For Xen virtual machines it is required that the first 3 pairs in the MAC
address be the sequence '00:16:3e', while for QEMU or KVM virtual machines it must be '52:54:00'.
filterref.filter
Controlling firewall and network filtering in libvirt. Value can be any nwfilter defined by the virsh 'nwfilter' subcommands. Available filters can be listed by running 'virsh nwfilter-list', e.g.: 'clean-traffic',
'no-mac-spoofing', ...
virtualport.* options
Configure the device virtual port profile. This is used for 802.Qbg, 802.Qbh, midonet, and openvswitch config.
Use --network=? to see a list of all available sub options. Complete details at https://libvirt.org/formatdomain.html#elementsNICS
This option deprecates -m/--mac, -b/--bridge, and --nonetworks