@[TOC](KVM 基础 NAT网络使用及网卡绑定(小节1))
前提
| 主机名 | IP\GW |
|---|---|
| server11 | 37.11\37.2 |
server11
[root@server11 ~]# yum install -y vim wget tree lrzsz gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
验证开启虚拟化
[root@server11 ~]# grep -E "vmx|svm" /proc/cpuinfo |wc -l
2
安装kvm工具包
[root@server11 ~]# yum install qemu-kvm qemu-kvm-tools libvirt libvirt-client virt-manager virt-install -y
#启动服务
[root@server11 ~]# systemctl start libvirtd
#开机启动
[root@server11 ~]# systemctl enable libvirtd
#生成NAT网卡
[root@server11 ~]# ifconfig virbr0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:a2:14:fc txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@server11 ~]# grep 192.168.122.1 /etc/libvirt/ -R
/etc/libvirt/qemu/networks/autostart/default.xml: <ip address='192.168.122.1' netmask='255.255.255.0'>
/etc/libvirt/qemu/networks/default.xml: <ip address='192.168.122.1' netmask='255.255.255.0'>
#ip地址和子网掩码都可以更改
[root@server11 ~]# vim /etc/libvirt/qemu/networks/default.xml
<network>
<name>default</name>
<uuid>03e77b69-f483-4ae5-9b4b-a846de23ced3</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:a2:14:fc'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
CentOS-7-x86_64-Minimal-1810.iso
[root@server11 ~]# cd /usr/local/src/
#上传文件
[root@server11 src]# ls
CentOS-7-x86_64-Minimal-1810.iso
[root@server11 src]# ll /var/lib/libvirt/images/
#创建一个格式为qcow2大小为10G的稀疏格式磁盘
[root@server11 src]# qemu-img create -f qcow2 /var/lib/libvirt/images/linux37_centos7.6.qcow2 10G
#创建一个格式为raw大小为10G的裸磁盘
[root@server11 src]# qemu-img create -f raw /var/lib/libvirt/images/linux37_centos7.6.raw 10G
[root@server11 ~]# ll /var/lib/libvirt/images/ -h
total 196K
-rw-r--r-- 1 root root 10G Aug 21 02:04 CentOS37-7-x86_64.raw
-rw-r--r-- 1 root root 193K Aug 21 02:00 linux37_centos7.6.qcow2
创建默认网络虚拟机
[root@server11 src]# virt-install --virt-type kvm --name linux37_centos7_vm1 --ram 1024 --vcpus 2 --cdrom=/usr/local/src/CentOS-7-x86_64-Minimal-1810.iso --disk path=/var/lib/libvirt/images/linux37_centos7.6.qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
[root@server11 src]# ss -ntlp|grep 5900
LISTEN 0 1 *:5900 *:* users:(("qemu-kvm",pid=8174,fd=19))
再次打开一个server11窗口、可以从这里跳过去
[root@server11 ~]# ssh 192.168.122.102
#查看一下ip地址
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:5e:38:62 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.102/24 brd 192.168.122.255 scope global dynamic eth0
valid_lft 3263sec preferred_lft 3263sec
inet6 fe80::5054:ff:fe5e:3862/64 scope link
valid_lft forever preferred_lft forever
[root@localhost ~]# yum install -y vim wget tree lrzsz gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
网卡绑定
桥接 网络配置
环境
| 主机 | 网卡 |
|---|---|
| server1 | 网卡1:桥接 网卡2:桥接 |
| server2 | 网卡1:桥接 网卡2:桥接 |
server1
#此插件要有、否则重启网卡后会断掉
[root@server1 ~]# yum install bridge-utils -y
配置br0
[root@server1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge <--
BOOTPROTO=static
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.1.101
GATEWAY=192.168.1.1
PREFIX=24
DNS1=192.168.1.1
eth0
[root@server1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0 <--桥接指向br0
[root@server1 ~]# systemctl restart network
#此时可ping通外网
[root@server1 ~]# ping jd.com -c 2
PING jd.com (211.144.27.126) 56(84) bytes of data.
64 bytes from 211.144.27.126 (211.144.27.126): icmp_seq=1 ttl=54 time=5.56 ms
64 bytes from 211.144.27.126 (211.144.27.126): icmp_seq=2 ttl=54 time=5.20 ms
--- jd.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1011ms
rtt min/avg/max/mdev = 5.209/5.386/5.563/0.177 ms
]# pwd
cd /etc/sysconfig/network-scripts/
#为了防止出错、提前备份到opt目录下
]# cp ifcfg-eth0 ifcfg-br0 /opt/
配置bond0
]# cat ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
MASTER=bond0
#不允许普通用户进行配置
USERCTL=no
SLAVE=yes
]# vim ifcfg-bond0
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
ONBOOT=yes
BONDING_MASTER=yes
#指定绑定类型为1及链路状态检测间隔时间
BONDING_OPTS="mode=1 miimon=100"
#指向了br0、IP地址的最终配置还在br0上
BRIDGE=br0
]# scp /etc/sysconfig/network-scripts/ifcfg-eth* /etc/sysconfig/network-scripts/ifcfg-b* 192.168.1.102:/etc/sysconfig/network-scripts/
server2
[root@server2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.1.102 <--
GATEWAY=192.168.1.1
PREFIX=24
DNS1=192.168.1.1
[root@server2 ~]# systemctl restart network
server1
[root@server1 network-scripts]# virsh list --all
Id Name State
----------------------------------------------------
- linux37_centos7_vm1 shut off
[root@server1 network-scripts]# virt-manager