4. KVM虚拟机的网络

2022-04-04 分类:kvm 阅读(277) 评论(0)

孙富阳, 江湖人称没人称。多年互联网运维工作经验,曾负责过孙布斯大规模集群架构自动化运维管理工作。擅长Web集群架构与自动化运维,曾负责国内某大型博客网站运维工作。

1.虚拟机的桥接网络

##设置桥接网络(会发现eth1网卡的ip跑到了br2上了)
[root@test ~]# virsh iface-bridge eth1 br2
Created bridge br2 with attached device eth1
Bridge interface br2 started

##修改配置文件
[root@test ~]# virsh dumpxml web01 |grep bridge
    <interface type='bridge'>
      <source bridge='br0'/>
##取消桥接网络设置
[root@test ~]# virsh iface-unbridge br2
Device eth1 un-attached from bridge br2

Interface eth1 started

2.自定义一个NAT网络

#先导出一份配置文件改吧改吧即可
[root@kvm01 ~]# virsh net-dumpxml --network default > /tmp/test.xml
[root@kvm01 ~]# vim /tmp/test.xml
<network>
  <name>ddd</name>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr1' stp='on' delay='0'/>
  <ip address='192.168.12.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.12.2' end='192.168.12.254'/>
    </dhcp>
  </ip>
</network>
[root@kvm01 ~]# virsh net-define --file /tmp/test.xml

3.nat和桥接的区别

nat上网依赖宿主机的路由转发和iptables规则
[root@test ~]# sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
[root@test ~]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
RETURN     all  --  192.168.122.0/24     224.0.0.0/24        
RETURN     all  --  192.168.122.0/24     255.255.255.255     
MASQUERADE  tcp  --  192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
MASQUERADE  udp  --  192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
MASQUERADE  all  --  192.168.122.0/24    !192.168.122.0/24   
##查看虚拟机使用的是哪个vnet
[root@test ~]# virsh dumpxml web01|grep vnet
      <target dev='vnet0'/>

4.为什么nat模式默认网段是 192.168.122.0/24

系统自定义的
[root@test ~]# virsh net-list 
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 default              active     yes           yes

[root@test ~]# virsh net-edit default 
<network>
  <name>default</name>
  <uuid>4b37a0d2-92a9-45c6-a42d-52eb3f9d865f</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:20:85:73'/>
  <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>
##同样配置文件里也能看到
[root@test ~]# cat /etc/libvirt/qemu/networks/default.xml 
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh net-edit default
or other application using the libvirt API.
-->

<network>
  <name>default</name>
  <uuid>4b37a0d2-92a9-45c6-a42d-52eb3f9d865f</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:20:85:73'/>
  <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>

5.kvm冷添加硬盘和网卡

关机状态下直接编辑配置文件添加就是冷添加
[root@test ~]# virsh edit web01
复制原来的磁盘配置
删除总线的行<address type='pci'
修改<source file=路径
修改<target dev
复制原来的网卡配置
删除总线的行<address type='pci'
删除<mac address=

评论已关闭

登录

忘记密码 ?

切换登录

注册

鲁ICP备2021019243号-1