当前位置: 首页 > article >正文

配置Bridge模式KVM虚拟机

配置Bridge模式KVM虚拟机

1. 配置基本环境

1 安装软件包。

安装brctl和tunctl命令行工具,要采用Bridge模式的网络配置,首先需要安装两个RPM包,即bridge-utils和tunctl,它们提供所需的brctl和tunctl命令行工具。可以用yum工具安装这两个RPM包。

#yum install bridge-utils -y

#yum -y localinstall tunctl-1.5-26.14.x86_64.rpm

加载tun模块并查看tun模块是否加载。

# modprobe  tun

# lsmod  |grep tun

tun                    27141  0

2 创建Bridge。

建立一个Bridge,并将其绑定到一个可以正常工作的网络接口上,同时让Bridge成为连接本机与外部网络的接口,首先确认网卡正常工作。确保开发者想使用Bridge网桥的网卡能够为KVM虚拟机模块提供网络连接能力,并且网卡可以正常工作。这个网卡能够给KVM虚拟机提供相同的网络支持。接下来的例子说明了网卡的配置,并且可以被外部网络访问。在这个例子中,使用了ens33网卡。主要的配置命令如下。

# brctl addbr br0

创建对应的网桥IP,删除ens33网口的IP地址,如下代码所示。

#cp /etc/sysconfig/network-scripts/ifcfg-ens33  /home/

# vi  /etc/sysconfig/network-scripts/ifcfg-ens33 

DEVICE=ens33

BOOTPROTO=dhcp(none)

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLER=no

BRIDGE=br0

#cp /etc/sysconfig/network-scripts/ifcfg-ens33

/etc/sysconfig/network-scripts/ifcfg-br0

# vi  /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

TYPE=bridge

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=192.168.10.120

NETMASK=255.255.255.0

GATEWAY=192.168.10.1(用route -n进行查询网关信息,根据具体情况设置IP地址与网关)

#yum install net-tools -y

# brctl addif br0 ens33

配置完成之后重启网络,同时查看网络和网桥的配置信息。

# ip addr list

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:ec:49:15 brd ff:ff:ff:ff:ff:ff

    inet6 fe80::20c:29ff:feec:4915/64 scope link

       valid_lft forever preferred_lft forever

3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN

    link/ether 52:54:00:00:49:aa brd ff:ff:ff:ff:ff:ff

    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0

4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 500

    link/ether 52:54:00:00:49:aa brd ff:ff:ff:ff:ff:ff

5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN

    link/ether 00:0c:29:ec:49:15 brd ff:ff:ff:ff:ff:ff

    inet 192.168.10.120/24 brd 30.8.0.255 scope global br0

    inet6 fe80::20c:29ff:feec:4915/64 scope link

       valid_lft forever preferred_lft forever

# route  -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

30.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 br0

169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ens33

169.254.0.0     0.0.0.0         255.255.0.0     U     1005   0        0 br0

0.0.0.0         30.8.0.1        0.0.0.0         UG    0      0        0 br0

# brctl  show

bridge name     bridge id              STP enabled     interfaces

br0            8000.000c29ec4915     no             ens33

virbr0          8000.5254000049aa     yes             virbr0-nic

2. 启动虚拟机

上传qemu-ifup,qemu-down文件至/root,并且给予执行X权限

1 使用命令行启动虚拟机。

用QEMU-KVM命令启动Bridge模式的网络。

# qemu-kvm -m 512 -drive file=cirros-0.3.3-x86_64-disk.img,if=virtio -net nic,model=virtio -net tap,script=qemu-ifup -nographic -vnc :2

2 查看br0桥。

# brctl show br0

bridge name     bridge id               STP enabled     interfaces

br0          8000.000c2982d685        no            ens33

这样就设置一个桥接的网络,查看网桥的接口信息可以看到默认已经绑定到br0桥。该配置表示连接宿主机的TAP网络接口到n号VLAN中,并且使用file和dfile两个脚本在启动客户机时配置网络,并在关闭客户机时取消网络配置。TAP参数,表明使用TAP设备。TAP是虚拟网络设备,它仿真了一个数据链路层设备,它像以太网的数据帧一样处理第二层数据包,而TUN与TAP类似,也是一种虚拟网络设备,它是对网络层设备的仿真。TAP用于创建一个网桥,而TUN与路由相关。vlan=n设罝该设备VLAN编号,默认值为0。


http://www.kler.cn/news/16176.html

相关文章:

  • 第六章结构型模式—代理模式
  • Springboot +Flowable,设置任务处理人的四种方式(一)
  • Android Java 音频采集 AudioRecord
  • 【C++】类和对象
  • HTB靶机06-Beep-WP
  • 【五一创作】机械臂速成小指南(二十四):逆运动学的雅可比方法
  • 制造管理与生产管理,到底哪个更重要?
  • 服务运营| Healthcare Management Science 近期文章精选
  • python-使用Qchart总结4-绘制多层柱状图
  • 高并发场景下JVM调优实践
  • 数据结构-图
  • 【数据结构】一篇带你彻底玩转 链表
  • 电脑CPU/GPU处理器知识普及
  • 【vueCms】vueCms_xg后台管理系统(开源)
  • QString类方法和变量简介(全)
  • Spring注解开发
  • Python中True、False、None的判断(避坑)
  • Http1.0 、1.1、2.0、3.0的区别
  • 《企业级Linux高可用负载均衡集群实践真传》目录
  • LeetCode:面试题 02.07. 链表相交
  • 数据结构基础day9
  • 书接上回,接着研究当今世上缓存第一人
  • pnpm 实现 Monorepo 一些操作命令
  • Java 异常处理、日志
  • Linux od命令
  • ESP32-CAM:TinyML 图像分类——水果与蔬菜
  • 【群智能算法】一种改进的蜣螂优化算法IDBO[2]【Matlab代码#18】
  • 浅谈Kubernetes集群外部通信—Ingress方式
  • 【Java笔试强训 2】
  • Python 练习实例希望这些例子可以帮助您