实验十二:kvm环境下qemu-kvm创建虚拟机之间的网络配置

实验名称:

  kvm环境下使用qemu-kvm创建虚拟机之间的网络配置

实验环境:

  保证kvm环境正常即可,拥有qemu-kvm管理工具;

  同时,我们这里离需要拥有bridge-utils桥工具

实验需求:

  1、保证kvm环境的正常运行;

  2、安装qemu-kvm管理工具,以及bridge-utils桥管理工具;

  3、安装虚拟机;

  4、配置网络,包括隧道模式、路由模式、nat模式、以及仅主机模式四种;

实验配置:

  1、配置启动脚本程序

  配置一个脚本,到时候需要引用到虚拟机启动参数中;

vim /etc/qemu-ifup
#!/bin/bash
#
bridge=br0

if [ -n '$1' ]
then
    ip link set $1 up
   brctl addbr $bridge brctl addif $bridge $
1 [ $? -eq 0 ] && exit 0 || exit 1 else echo "Error: no interface specified" exit 1 fi

  赋予脚本程序执行权限

chmod +x /etc/qemu-ifup

  2、创建虚拟机

cd /images/kvm/
qemu-kvm -m 256 -cpu host -smp 2 -name 'test1' -drive file=cirros-0.3.0-i386-disk.img,if=virtio,media=disk,format=qcow2,cache=writeback -nographic -net nic -net tap,ifname=vif0.0,script=/etc/qemu-ifup

  其中,nic指定的是前端虚拟机上面的io驱动;而tap则指定是物理机上面的前端驱动程序;

  【这里需要注意的是,-cpu 的参数在hypervisor为虚拟机的时候,可能导致系统无法启动,可以删除这个选项】

  启动第二台虚拟机:

qemu-kvm -m 256 -cpu host -smp 2 -name 'test2' -drive file=cirros-0.3.0-i386-disk.img,if=virtio,media=disk,format=qcow2,cache=writeback -nographic -net nic -net tap,ifname=vif1.0,script=/etc/qemu-ifup

  3、配置网络,实现隧道模式

  此时,两台虚拟机正常启动,且都通过脚本程序自动桥接到了br0桥上;

  此时,需要将两台虚拟机配置到同一个网络即可:

#第一台虚拟机
ifconfig eth0 192.168.100.1/24 up
#第二台虚拟机
ifconfig eth0 192.168.100.2/24 up

  相互ping通,则隧道模式测试成功;

  【这时候注意一个问题,我们的虚拟机的mac地址的获取是自动的,会出现mac地址冲突】 所以,我们需要手动去指定MAC地址;

-net nic,macaddr=52:54:00:12:34:57 -net tap,ifname=vif1.0,script=/etc/qemu-ifup

  #如果不存在mac地址冲突的问题,则可以不用使用这个命令

  4、配置网络,实现路由模式

  此时,我们需要使虚拟机能够通过我们的centos7能访问外网,通过配置路由模式来实现

#虚拟机配置网关
route add default gw 192.168.100.254

  虚拟机有了网关以后,还需要在真实机器上配置网关地址,同时需要开启路由转发功能;

#centos7
ifconfig br0 192.168.100.254 up
echo 1 > /proc/sys/net/ipv4/ip_forword

  测试:

  这时候数据包能到达192.168.238.129,却无法到达192.168.238.1,是因为192.168.238.1没有回去192.168.100.0/24网段的路由,所以这是需要在192.168.238.1上面配置明晰路由

#在192.168.238.1上面添加回指路由
route -p add 192.168.100.0 mask 255.255.255.0 192.168.238.129

  再在cirros上面来ping就可以通了

  5、配置网络,nat模式配置

  首先我们的nat模式属于三层功能,所以centos7也必须支持路由转发才行:

echo 1 > /proc/sys/net/ipv4/ip_forword

  去掉192.168.238.1机器上面的路由配置:

route delete 192.168.100.0

  此时,cirros到192.168.238.1的网络又不通了;则需要我们来指定nat方式来实现:

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j SNAT --to-source 192.168.238.0/24
iptables -t nat -L -n

  此时虚拟机cirros依然能够正常通讯,ping 192.168.238.1;

  同时可以抓包查看;

tcpdump -i br0 -nn icmp
tcpdump -i eno16777736 -nn icmp

   6、网络配置,桥接模式

  在桥接模式下面,我们需要将物理网卡桥接到桥交换机上面来;

  首先我需要去掉br0上面地址

ifconfig br0 0 up

  再把eno16777736的网卡添加到br0上面来;

brctl addif br0 eno16777736; ifconfig br0 192.168.238.129/24 up
brctl show
ifconfig
route  #查看本机路由,看清楚网关地址

  把虚拟机cirros的地址也配置到同一个网段中,同时制定网关地址;

ifcongfig eth0 192.168.238.100/24 up
route add default gw 192.168.238.2

  此时,虚拟机去ping公网就能ping通,这就是桥接模式:

实验结果:

 

转载于:https://www.cnblogs.com/BurnovBlog/p/10810510.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值