First-time kvm experience 5: two ways for vm to connect to the network: bridge and nat. First-time kvm experience
1.InstallVmSpecify the network connection mode
1) bridge
Virt-install -- name vm1 -- ram = 1024 -- vcpus = 1 -- disk path =/vm-images/vm1, size = 2 -- cdrom/root/iso/CentOS-6.6-x86_64-minimal.iso -- network bridge: br0
2) nat
Virt-install -- name vm1 -- ram = 1024 -- vcpus = 1 -- disk path =/vm-images/vm1, size = 2 -- cdrom/root/iso/CentOS-6.6-x86_64-minimal.iso -- network: default
If the-network parameter is not specified, the bridge mode is used by default.
2.InstallVmThen modify the network connection mode.
Shut down the vm before modifying the vm network connection mode. After the modification, start the vm to take effect.
1) graphic interface Modification
Use virt-manager to open the vm management page, as shown in
Nat: select "Sourcedevice" as Virtualnetwork 'default '.
Bridge: Select "Sourcedevice" as Hostdevice eth0 (Bridge 'br0 ')
2) use the command line to modify
Virsh edit vm1 modify the vm1 configuration file (the vm configuration file exists in xml format, such as vm1.xml)
<Interface> specifies the network connection mode of the vm.
Nat:
<Interface type = 'network'> <Mac address = '52: 54: 00: eb: d7: 7d '/> <Source network = 'default'/> <Address type = 'pci 'domain = '0x0000' bus = '0x00' slot = '0x03' function = '0x0'/> </Interface> |
Bridge:
<Interface type = 'bridge '> <Mac address = '52: 54: 00: eb: d7: 7d '/> <Source bridge = 'br0'/> <Address type = 'pci 'domain = '0x0000' bus = '0x00' slot = '0x03' function = '0x0'/> </Interface> |
3.NewVirtual network
1) Add an image through the graphic interface
Virt-manager open the vm management interface and select Edit-> Connection Details. The Virtual network already exists in the virtual Networks Tab Of the localhost Connection Details window that appears. After libvirt is installed on the host, the virtual network interface virbr0 is created by default, and its forwarding mode is nat.
Now we create a virtual network nat1, and the forwarding mode is nat
Select "+" in the Left box"
Forward
Forwad
Forwad
Forwad
Forwad
Finish.
The Localhost Connection Details window displays the newly added nat1 network information.
Select the virtual network interface of vm1 as the created nat1
Shut down vm1 and start it.
As you can see, vm1 obtains the address in the address segment of the nat1 network.
2) add
Reference: http://wiki.libvirt.org/page/Networking
The net-xxx command under virsh is used to manage virtual networks.
[Root @ tanghuimin thm] # virsh Welcome to virsh, the parameter alization interactive terminal. Type: 'help' for help with commands 'Quit' to quit Virsh # net- Net-autostart net-define net-dumpxml net-info net-name net-undefine net-uuid Net-create net-destroy net-edit net-list net-start net-update |
Net-list-all: list existing virtualnetwork
Virsh # net-list -- all Name State Autostart Persistent -------------------------------------------------- Default active yes Nat1 active yes |
Virtual network configuration files also exist in xml format, such as nat1.xml
[Root @ tanghuimin thm] # find/-name "nat1.xml" /Etc/libvirt/qemu/networks/nat1.xml /Etc/libvirt/qemu/networks/autostart/nat1.xml /Var/lib/libvirt/network/nat1.xml |
Create a virtual network nat2 configuration file using the default network configuration as the template
[Root @ tanghuimin thm] # virsh net-dumpxml default>/etc/libvirt/qemu/networks/nat2.xml |
Modifying the parameters in nat2.xml does not overlap the existing virtual network.
<Network> <Name> nat2 </name> <Uuid> d8d274ff-fe1f-4e88-94f9-222c1ae11c69 </uuid> <Forward mode = 'nat '/> <Bridge name = 'virbr2' stp = 'on' delay = '0'/> <Mac address = '52: 54: 00: 25: 90: c2'/> <Ip address = '1970. 168.101.1 'netmask = '1970. 255.255.0'> <Dhcp> <Range start = '192. 168.101.2 'end = '192. 168.101.254 '/> </Dhcp> </Ip> </Network> |
Net-define defines virtual networks from xml files
Virsh # net-list -- all Name State Autostart Persistent -------------------------------------------------- Default active yes Nat1 active yes Virsh # net-define/etc/libvirt/qemu/networks/nat2.xml Network nat2 defined from/etc/libvirt/qemu/networks/nat2.xml Virsh # net-list -- all Name State Autostart Persistent -------------------------------------------------- Default active yes Nat1 active yes Nat2 inactive no yes |
Set nat2 to self-start and start nat2
Virsh # net-autostart nat2 Network nat2 marked as autostarted Virsh # net-start nat2 Network nat2 started Virsh # net-list -- all Name State Autostart Persistent -------------------------------------------------- Default active yes Nat1 active yes Nat2 active yes |
Select the virtual network interface of vm1 as the created nat2
...... ...... <Interface type = 'network'> <Mac address = '52: 54: 00: eb: d7: 7d '/> <Source network = 'nat2'/> <Address type = 'pci 'domain = '0x0000' bus = '0x00' slot = '0x03' function = '0x0'/> </Interface> ...... ...... |
Shut down vm1 and start it.
As you can see, vm1 obtains the address in the address segment of the nat2 network.
[Root @ localhost ~] # Ifconfig Eth0 Link encap: Ethernet HWaddr 52: 54: 00: EB: D7: 7D Inet addr: 192.168.101.21 Bcast: 192.168.101.255 Mask: 255.255.255.0 Inet6 addr: fe80: 5054: ff: feeb: d77d/64 Scope: Link Up broadcast running multicast mtu: 1500 Metric: 1 RX packets: 12 errors: 0 dropped: 0 overruns: 0 frame: 0 TX packets: 16 errors: 0 dropped: 0 overruns: 0 carrier: 0 Collisions: 0 FIG: 1000 RX bytes: 1198 (1.1 KiB) TX bytes: 2178 (2.1 KiB) Interrupt: 11 Base address: 0x8000 Lo Link encap: Local Loopback Inet addr: 127.0.0.1 Mask: 255.0.0.0 Inet6 addr: 1/128 Scope: Host Up loopback running mtu: 65536 Metric: 1 RX packets: 0 errors: 0 dropped: 0 overruns: 0 frame: 0 TX packets: 0 errors: 0 dropped: 0 overruns: 0 carrier: 0 Collisions: 0 txqueuelen: 0 RX bytes: 0 (0.0 B) TX bytes: 0 (0.0 B) [Root @ localhost ~] # Ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56 (84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq = 1 ttl = 63 time = 5.53 MS # --- 192.168.1.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 926 ms Rtt min/avg/max/mdev = 5.531/5.531/5.531/0.000 MS |