KVM 基础 NAT网络使用及网卡绑定(小节1)

542 阅读3分钟

@[TOC](KVM 基础 NAT网络使用及网卡绑定(小节1))

前提

主机名IP\GW
server1137.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))

vnc-4_1_2-x86_win32_viewer

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

再次打开一个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 

图片.png

图片.png