以桥接的方式搭建虚拟机网络,其优势是可以将网络中的虚拟机看作是与主机同等地位的服务器。

在原本的局域网中有两台主机,一台是win7(IP: 192.168.0.236),一台是CentOS7(IP: 192.168.0.251),现在要在CentOS(以下简称HOST)中搭建虚拟机,并使得虚拟机能够处于与Win7和HOST相同的网络环境中。

HOST原本的网络配置

打开HOST的网络链接配置文件:

vi /etc/sysconfig/network-scripts/ifcfg-enp3s0

其文件内容为:

TYPE=Ethernet
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_AUTOCONF=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp3s0
UUID=99244a4d-8cac--9a09-8e50c547cd3a
DEVICE=enp3s0
HWADDR=b0:6e:bf:bb::ad #static assignment
ONBOOT=yes
BOOTPROTO=static IPADDR=192.168.0.251
GATEWAY=192.168.0.1
NETMASK=255.255.255.0

DNS服务器配置在如下文件中:

vi /etc/sysconfig/network

其内容为:

DNS1=192.168.0.1

配置桥接

以桥接的方式配置网络,修改 ifcfg-enp3s0文件:

TYPE=Ethernet
BRIDGE=br0 #DEFROUTE=yes
#PEERDNS=yes
#PEERROUTES=yes
#IPV4_AUTOCONF=yes
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_PEERDNS=yes
#IPV6_PEERROUTES=yes
#IPV6_FAILURE_FATAL=no
NAME=enp3s0
UUID=99244a4d-8cac--9a09-8e50c547cd3a
DEVICE=enp3s0
#HWADDR=b0:6e:bf:bb::ad #static assignment
ONBOOT=yes
#BOOTPROTO=static #IPADDR=192.168.0.251
#GATEWAY=192.168.0.1
#NETMASK=255.255.255.0

同时,在相同目录下拷贝一份该文件,并命名为 ifcfg-br0:

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

然后修改该文件内容为:

TYPE=Bridge
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_AUTOCONF=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=br0
#UUID=99244a4d-8cac--9a09-8e50c547cd3a
DEVICE=br0
#HWADDR=b0:6e:bf:bb::ad #static assignment
ONBOOT=yes
BOOTPROTO=static IPADDR=192.168.0.251
GATEWAY=192.168.0.1
NETMASK=255.255.255.0

修改完成这两个文件之后,重启网络服务:

systemctl restart network.service

配置虚拟网络

使用如下命令打开KVM管理工具:

virt-manager

看到窗口:

在【编辑】菜单中选择【连接详情】,打开如下窗口:

选择【网络接口】这个Tab,将br0接口给停止掉,即左侧下方红色的大叉叉,注意不是圆圈的叉叉,那个是删除,此处不要删除。

然后选择【虚拟网络】这个Tab,将原本的一个default网络给停止并删除掉,然后重新创建一个虚拟网络,创建过程如下:

设置一个虚拟网络的名称,然后下一步:

然后

然后是选择转发的物理网络,此处注意是选择enp3s0,模式采用路由的方式:

配置完成之后回到网络接口界面,启动br0,然后再回到虚拟网络界面,启动vnet0。

此时我们查看ifconfig:

br0: flags=<UP,BROADCAST,RUNNING,MULTICAST>  mtu
inet 192.168.0.251 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::b26e:bfff:febb:12ad prefixlen scopeid 0x20<link>
ether b0:6e:bf:bb::ad txqueuelen (Ethernet)
RX packets bytes (3.8 MiB)
RX errors dropped overruns frame
TX packets bytes (68.0 KiB)
TX errors dropped overruns carrier collisions enp3s0: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
ether b0:6e:bf:bb::ad txqueuelen (Ethernet)
RX packets bytes (19.5 MiB)
RX errors dropped overruns frame
TX packets bytes (897.1 KiB)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (120.0 KiB)
RX errors dropped overruns frame
TX packets bytes (120.0 KiB)
TX errors dropped overruns carrier collisions virbr0: flags=<UP,BROADCAST,MULTICAST> mtu
inet 192.168.100.1 netmask 255.255.255.0 broadcast 192.168.100.255
ether :::b3::b9 txqueuelen (Ethernet)
RX packets bytes (0.0 B)
RX errors dropped overruns frame
TX packets bytes (0.0 B)
TX errors dropped overruns carrier collisions vnet0: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet6 fe80::fc54:ff:fe00:8db prefixlen scopeid 0x20<link>
ether fe:::::db txqueuelen (Ethernet)
RX packets bytes (768.5 KiB)
RX errors dropped overruns frame
TX packets bytes (18.0 MiB)
TX errors dropped overruns carrier collisions

可以看到类似这样的几个连接信息:enp3s0、br0、vnet0、virbr0。

注意,此时我们的HOST网络访问都是正常的。

然后创建一台虚拟机,其虚拟机配置为:

配置其网络连接为:

TYPE=Ethernet
UUID=55ec455e-aa43-47df--d7846c355792
ONBOOT=yes
NM_CONTROLLED=yes
DEVICE=eth0
#HWADDR=:::::DB
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6NIT=no
NAME="System eth0"
#HWADDR=:0C:::D2:
PEERDNS=yes
PEERROUTES=yes
LAST_CONNECT= #static assignment
BOOTPROTO=static
IPADDR=192.168.0.211
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.1
DNS1=192.168.0.1

然后查看虚拟机的网络连接信息:

eth0      Link encap:Ethernet  HWaddr :::::DB
inet addr:192.168.0.211 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80:::ff:fe00:8db/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (17.9 MiB) TX bytes: (767.7 KiB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::/ Scope:Host
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (578.0 b) TX bytes: (578.0 b) virbr0 Link encap:Ethernet HWaddr ::::DA:
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 b) TX bytes: (0.0 b)

测试:

在Win7上Ping HOST:

正在 Ping 192.168.0.251 具有  字节的数据:
来自 192.168.0.251 的回复: 字节= 时间<1ms TTL=
来自 192.168.0.251 的回复: 字节= 时间<1ms TTL=
来自 192.168.0.251 的回复: 字节= 时间<1ms TTL=
来自 192.168.0.251 的回复: 字节= 时间<1ms TTL= 192.168.0.251 的 Ping 统计信息:
数据包: 已发送 = ,已接收 = ,丢失 = (% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms

在Win7上Ping虚拟机:

正在 Ping 192.168.0.211 具有  字节的数据:
来自 192.168.0.211 的回复: 字节= 时间<1ms TTL=
来自 192.168.0.211 的回复: 字节= 时间<1ms TTL=
来自 192.168.0.211 的回复: 字节= 时间<1ms TTL=
来自 192.168.0.211 的回复: 字节= 时间<1ms TTL= 192.168.0.211 的 Ping 统计信息:
数据包: 已发送 = ,已接收 = ,丢失 = (% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms

在HOST上Ping虚拟机:

PING 192.168.0.211 (192.168.0.211) () bytes of data.
bytes from 192.168.0.211: icmp_seq= ttl= time=0.206 ms
bytes from 192.168.0.211: icmp_seq= ttl= time=0.114 ms
bytes from 192.168.0.211: icmp_seq= ttl= time=0.138 ms
bytes from 192.168.0.211: icmp_seq= ttl= time=0.135 ms

在虚拟机上Ping HOST:

PING 192.168.0.251 (192.168.0.251) () bytes of data.
bytes from 192.168.0.251: icmp_seq= ttl= time=0.104 ms
bytes from 192.168.0.251: icmp_seq= ttl= time=0.277 ms
bytes from 192.168.0.251: icmp_seq= ttl= time=0.254 ms
bytes from 192.168.0.251: icmp_seq= ttl= time=0.220 ms

在虚拟机上Ping Win7:

PING 192.168.0.236 (192.168.0.236) () bytes of data.
bytes from 192.168.0.236: icmp_seq= ttl= time=0.826 ms
bytes from 192.168.0.236: icmp_seq= ttl= time=0.405 ms
bytes from 192.168.0.236: icmp_seq= ttl= time=0.384 ms
bytes from 192.168.0.236: icmp_seq= ttl= time=0.434 ms

所有的网络都是通畅的,万事大吉!

KVM安装使用

KVM——以桥接的方式搭建虚拟机网络配置的更多相关文章

  1. hadoop搭建一:虚拟机网络配置和基础(未完成)

    基于VMware 15+CentOS 7+Hadoop 2.6,hadoop的搭建主要用于个人学习,水平有限. hadoop搭建一:虚拟机网络配置和基础 hadoop搭建二:hadoop全分布搭建 h ...

  2. win7 VMware CentOS桥接(bridge)模式网络配置

    主要内容参考自: centos下vmware 桥接设置静态ip例子 关于虚拟机网络配置的文章: Win7+VMware Workstation环境下的CentOS-Linux网络连接设置(推荐阅读) ...

  3. Hadoop(一)Centos7虚拟机网络配置

    Centos7虚拟机网络配置(桥接模式) 一 VirtualBox提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式). 1 桥接模式(br ...

  4. 关于路由器漏洞利用,qemu环境搭建,网络配置的总结

    FAT 搭建的坑 1 先按照官方步骤进行,完成后进行如下步骤 2 修改 move /firmadyne into /firmware-analysis-toolkit navigate to the ...

  5. Linux系统学习 三、网络基础—虚拟机网络配置

    Linux网络基础 Linux的ip地址配置 Linux网络配置文件 常用网络命令 虚拟机网络参数配置 1.配置Linux的IP地址 首先配置一个IP地址,让IP生效. ifconfig查看当前网络配 ...

  6. CDH安装系统环境准备——虚拟机网络配置

    虚拟机网络配置教程如下: 1.修改网络配置文件[root@master ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0配置IP地址.网关.掩码.DNS ...

  7. 环境变量(windows下tomcat问题);shh连接虚拟机网络配置

    环境变量(windows下tomcat问题) 有tomcat有jdk 再配置环境变量:参考 提示:若选择“用户变量”,则本次配置的变量只对该用户有效          若选择“系统变量”,则对所有用户 ...

  8. 虚拟机网络配置详解(NAT、桥接、Hostonly)

    VirtualBox中有四种网络连接方式: NAT Bridged Adapter Internal Host-only Adapter VMWare中有三种,其实它跟VMWare的网络连接方式都是一 ...

  9. centos虚拟机网络配置--桥接模式

    什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥 进行通信.在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接 设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在 ...

随机推荐

  1. C#基础 冒泡排序

    冒泡排序 依次比较相邻的两个数,将小数放在前面,大数放在后面. 对数组中两个变量进行交换,是冒泡排序中最基本的步骤 //数组中两个变量进行交换 ,,}; ]; s [] = s [s.Length-] ...

  2. docker搭建单机ELK

    yum -y install epel-release yum -y install python-pip // 更新pip pip install --upgrade pip // 安装docker ...

  3. Vs2017 NetCode Mvc EF Mysql 整合2

    1 NetCode EF整合 代码 3  源代码 https://github.com/chxl800/EFMysqlDemo 1.1 项目文件结构 1.2 NuGet  MySql.Data.Ent ...

  4. Centos7下安装MongoDB4.0.10

    前言 模式自由 :可以把不同结构的文档存储在同一个数据库里 面向集合的存储:适合存储 JSON风格文件的形式 完整的索引支持:对任何属性可索引 复制和高可用性:支持服务器之间的数据复制,支持主-从模式 ...

  5. Python中的对象与参考

    参考 当创建一个对象并给它赋一个变量的时候,这个变量仅仅参考哪个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存.这被称作名称到对象的绑定. 对象与参考的例子 注意两次不 ...

  6. Apache Maven setting.xml

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...

  7. 用js刷剑指offer(变态跳台阶)

    一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 牛客网链接 思路 假设青蛙跳上一个n级的台阶总共有f(n)种跳法. 现在青蛙从第n个台阶 ...

  8. linux 、 CentOs ---> 环境变量设置

    Linux下环境变量设置 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错 ...

  9. LoadRunner生成测试报告

     loadrunner笔记(三):设置.运行场景和生成测试报告   //上一篇的代码有点问题,问题出在 web_reg_find()函数中,这个函数简单的说是搜索下一步操作的请求对象(html)页面中 ...

  10. Procomm Plus 与ASPECT脚本语言在基于远程终端设备上的测试应用

    产测 ---------------------------------------------------- 原文:http://www.bixuanzl.com/20180801/1084478. ...