在网上看到很多篇文章,自己也去试验过,结果实现的效果都不是很理想,并不是自己所需要的,下面是我自己研究,最后成功的经验,希望能够帮到大家。少走一些弯路。

需求

1.无论物理机的网络环境怎么变化,都需要保持虚拟机的IP地址不变,保证我本机使用xshell等终端访问始终用同一个IP地址,或者在安装了其他软件后,访问虚拟机的IP地址保持不变。

2.物理机可访问虚拟机,虚拟机是否可访问网络都行。重点保证本机可访问虚拟机,以及虚拟机之间能互相访问。

3.无论物理机的网络环境怎么变化,虚拟机可以连接到外网。


hyper-v会自动生成一个default switch,根据微软的描述,default switch是为了无论物理机的网络环境怎么变化,虚拟机可以连接到外网。 一句话,物理机可以上网,虚拟机就可以。

这里以centos7为例

固定IP

  1. 新建虚拟机

  1. 应用虚拟机

  1. 设置虚拟交换机的IP

打开控制面板,进入网络与共享中心,更改适配器的设置。找到刚才创建的虚拟机交换机。右键属性,修改IP地址。IP地址随你喜好,我这里用的IP:192.168.137.1,子网:255.255.255.0

  1. 修改虚拟机IP

打开虚拟机进入到network-scripts目录

cd /etc/sysconfig/network-scripts
vi ifcfg-eth0

PS: 不是所有的都是ifcfg-eth0文件,这个需要自己去查看。
主要修改一下键值:

BOOTPROTO=static # 将dhcp设置为static
DEVICE=eth0 #名称
ONBOOT=yes # 开机启动
IPADDR=192.168.137.200 # 这个需要和你前面设置的IP网段一样
GATEWAY=192.168.137.1 # 网关
DNS1=192.168.137.1 # 第一个DNS
NETMASK=255.255.255.0 #子网掩码

设置完成效果:

重启网络

systemctl restart network

查看IP

ip addr


现在就可以用xshell连接到虚拟机了!!!不要告诉我你不会xshell。。。
记得把虚拟机关机,因为后面我们还有操作需要在虚拟机关机状态下完成。

连接外网

现在xshell可以连接了,但是你如果ping百度的话,可能是ping不通的,现在就是要把网络添加到虚拟机上,前面说过,hyper-v会自动生成一个default switch,它可以让你的虚拟机无论物理机在什么网络下,都可以自动分配网络给虚拟机。现在我们就要用到这个default switch。

给虚拟机添加一个硬件配置。为什么我的是灰色的?这就是因为没有关掉虚拟机。

添加完成之后你就可以看到右边的硬件中多了一项 网络适配器,这个网络适配器就选择 default switch。

这个时候最好重启一下虚拟机,当然这个虚拟交换机IP最好是自动获取,DNS,也自动获取。系统会自动分配。
打开xshell 查看一下 IP

ip addr

这个是时候,在ping 百度。

ping www.baidu.com

到这里就大功告成了!!!

PS:前面的配置虚拟机的网络配置顺序不要错,如果你先选择的是default switch,是不能用xshell 连接的。具体的道理,就不说了。自己体会。

原文地址:https://www.cnblogs.com/jadedoo/p/9967111.html

 

Hyper-V Centos7 虚拟机固定IP的更多相关文章

  1. VMWare中CentOS7 设置固定IP且能够访问外网

    最近搭建kubernetes集群环境时遇到一个问题,CentOS7在重启后IP发生变化导致集群中etcd服务无法启动后集群环境变得不可用,针对这种情况,必须要对CentOS7设置固定IP且可以访问外网 ...

  2. 虚拟机固定IP访问外网配置

    大家都知道虚拟机网络连接有三种模式,桥接,host-only,NAT,不再赘述. 这里说一下桥接模式下,实现主机与虚拟机通讯,虚拟机与虚拟机通信,虚拟机访问外网,废话不多说,直接说解决方案: 1.本地 ...

  3. 【linux杂谈】centos6和centos7中固定IP的方法

    众所周知,一大部分集合部署的应用服务器内网相互通信都是采用固定IP.在阿里云.腾讯云上申请的云服务器也是固定IP,这就意味着在云平台内部策略划拨肯定是也固定了IP(即便不是采取直接在系统内固定的方式) ...

  4. 给虚拟机中的CentOS7配置固定ip

    在虚拟机中安装完了CentOS7之后,使用了DHCP来获取ip,vmware的网络连接使用了NAT模式.但是在把Linux设置为固定ip地址后,虚拟机里的linux可以ping通全网段的ip地址,但是 ...

  5. Vmware虚拟机 centos7设置固定IP地址

    参考文章:https://www.cnblogs.com/lfhappy/p/10798400.html      https://blog.csdn.net/u014466635/article/d ...

  6. CentOS7设置固定IP

    在安装完CentOS7后,当我每次启动CentOS并使用SecureCRT链接时,都发现CentOS的IP总是在变,这就很苦恼了,总不能每次链接的时候都先查一下虚拟机的IP吧,所以打算把它设置成固定I ...

  7. 虚拟机环境搭建/修改VMware虚拟机固定IP

    VMware Workstation安装CentOS7.0 详情教程: centos7.0下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64 ...

  8. 【FATE】设置虚拟机固定IP以及免密登录

    一.前期准备 1.VMWare上新建三个Centos7的虚拟机 2.VMWare虚拟机的三种联网方式 1.桥接模式 -- 桥接: 默认使用VMnet0 这一种联网方式最简单,在局域网内,你的主机是怎么 ...

  9. VMware虚拟机固定IP后克隆出现无法访问网卡问题

    通常我们现在都喜欢使用虚拟机进行实验,进行集群搭建等,在这个过程中,会遇到克隆虚拟机问题,当没有修改任何IP的情况下,克隆后,在逐台修改IP地址是没有问题的,但是,如果我们先设置了固定IP地址后,克隆 ...

随机推荐

  1. 阿里云服务器 CentOS 7.5 64位 docker安装redis集群

    网上有很多教程可以参考,但是遇到坑了...... 最后参考这个教程成功了.https://www.cnblogs.com/hbbbs/articles/10028771.html 安装docker 参 ...

  2. BZOJ 4517: [Sdoi2016]排列计数 错排 + 组合

    从 $n$ 个数中选 $m$ 个不错排,那就是说 $n-m$ 个数是错排的. 用组合数乘一下就好了. Code: #include <cstdio> #include <algori ...

  3. Selenium 警告框处理

    警告框分三种类型: alert:显示带有一条指定消息和一个 OK 按钮的警告框. confirm:显示一个带有指定消息和 OK 及取消按钮的对话框. prompt:显示可提示用户进行输入的对话框. 我 ...

  4. Spring Data Jpa (四)注解式查询方法

    详细讲解声明式的查询方法 1 @Query详解 使用命名查询为实体声明查询是一种有效的方法,对于少量查询很有效.一般只需要关心@Query里面的value和nativeQuery的值.使用声明式JPQ ...

  5. 使用Jacoco获取 Java 程序的代码执行覆盖率

    Jacoco是Java Code Coverage的缩写,顾名思义,它是获取Java代码执行覆盖率的一个工具,通常用它来获取单元测试覆盖率.它通过分析Java字节码来得到代码执行覆盖率,因此它还可以分 ...

  6. Win7,win10(部分机型) 安装appscan9.0.3.10(可升级)实操流程

    Win10部分机型不能很好的兼容appscan,建议使用者用win7系统安装appscan 写于:2018.12.2 IBM Security AppScan Standard 可通过自动执行应用安全 ...

  7. [CSP-S模拟测试]:数列(数学)

    题目传送门(内部题95) 输入格式 第一行三个整数$n,a,b$,第二行$n$个整数$x_1\sim x_n$表示数列. 输出格式 一行一个整数表示答案.无解输出$-1$. 样例 样例输入:2 2 3 ...

  8. Json C#解析

    介绍 项目中数据格式如果是是Json格式,推荐大家使用LitJson和Newtonsoft.json进行解析 库的详细介绍和下载地址 推荐使用VS自带的Nuget来使用 Newtonsoft.Json ...

  9. 多层全连接神经网络实现minist手写数字分类

    import torch import numpy as np import torch.nn as nn from torch.autograd import Variable import tor ...

  10. Qt数据库之数据库连接池

     前面的章节里,我们使用了下面的函数创建和取得数据库连接: void createConnectionByName(const QString &connectionName) { QSql ...