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

在原本的局域网中有两台主机,一台是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. Uniswap详解之一(概览)

    一.Uniswap简介 Uniswap是以太坊上的DEX实现,基于"恒定乘积自动做市"模型,与传统的中心化和DEX具有很大的差别. 主要特点: 无订单簿,无做市商 兑换币具有很低的 ...

  2. js 获取input type="file" 选择的文件大小、文件名称、上次修改时间、类型等信息

    文件名的传递 ---全路径获取 $('#file').change(function(){ $('#em').text($('#file').val()); }); 文件名的传递 ---只获取文件名 ...

  3. 【leetcode】575. Distribute Candies

    原题 Given an integer array with even length, where different numbers in this array represent differen ...

  4. json —— pickle 的序列化和反序列化

    前言json的序列化和反序列化 1, json 只能序列化简单的数据类型,如,列表,字典,字符串,等简单的类型,不能序列化复杂的类型. 2, json 是支持所有的语言的,多以我们跨语言的时候都是用j ...

  5. 爬虫保存Cookie

    import http.cookiejar as cookielib session.cookie = cookielib.LWPCookieJar() session.cookie.save(fil ...

  6. LightOJ - 1151 Snakes and Ladders

    LightOJ - 1151 思路: 将期望dp[x]看成自变量,那么递推式就可以看成方程组,用高斯消元求方程组的解就能求解出期望值 高斯消元求解的过程也是期望逆推的过程,注意边界情况的常数项,是6/ ...

  7. pandas库介绍之DataFrame基本操作

    怎样删除list中空字符? 最简单的方法:new_list = [ x for x in li if x != '' ] 今天是5.1号. 这一部分主要学习pandas中基于前面两种数据结构的基本操作 ...

  8. hive的shell用法(脑子糊涂了,对着脚本第一行是 #!/bin/sh 疯狂执行hive -f 结果报错)

    hive脚本的执行方式 hive脚本的执行方式大致有三种: hive控制台执行: hive -e "SQL"执行: hive -f SQL文件执行:参考hive用法: usage: ...

  9. java- 泛型类到底是类还是接口,<T extends Comparable>的写法中为什么没有用implements

    java-core P533 public static <T extands Comparable> T min(T[] a ) 这里产生了一个疑问,就是 泛型类的英文是generic ...

  10. window open() 方法

    open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口. 语法 window.open(URL,name,specs,replace) 参数 说明 URL 可选.打开指定的页面的URL.如 ...