Hyper V 默认的Default Switch同时支持了NAT网络以及DHCP,虚拟机能够访问外网。

但使用过程中发现这个IP网段经常变化,而且Hyper V没有提供管理其NAT网络与DHCP的图形化界面功能。

如果开发者需要同时管理多个VM,且在局域网中无法为他们单独分配固定IP时,使用可自行配置的NAT网络显得尤为重要。

本文提供一种自定义管理Hyper V NAT网络的方法,虚拟机能够通过固定IP连接至该网络,且能够访问外网。

如果你能够为虚拟机在外部网络中分配一个固定ip,应该优先考虑使用桥接模式,即创建“外部”虚拟交换机,跳过本教程。

目标

添加一个Switch能够支持 192.168.56.0 / 24 网段,并能够将 Linux(CentOS 7) 虚拟机通过固定IP连接到该网段。

支持物理机与虚拟机的相互访问,且支持虚拟机访问外网。

配置

以管理员身份启动PowerShell ,执行下列命令

# 创建虚拟交换机,等同于在Hyper-V管理器界面中新建虚拟网络交换机
New-VMSwitch -SwitchName "NAT-VM" -SwitchType Internal
# 查看 NAT-VM 的 ifindex
Get-NetAdapter
# 创建ip,InterfaceIndex参数自行调整为上一步获取到的ifindex。这一步等同于在 控制面版-网卡属性 中设置ip
New-NetIPAddress -IPAddress 192.168.56.1 -PrefixLength 24 -InterfaceIndex 6
# 创建nat网络,这一步是教程中的关键命令,24为子网掩码位数,即:255.255.255.0
New-NetNat -Name NAT-VM -InternalIPInterfaceAddressPrefix 192.168.56.0/24

在Hyper V管理器中设置该Linux虚拟机的网络适配器为 NAT-VM

设置Linux网络静态ip

#/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
TYPE="Ethernet"
DEFROUTE="yes"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR="192.168.56.101"
PREFIX="24"
GATEWAY="192.168.56.1"
DNS1="223.5.5.5" #需使用外网DNS,通过网关IP无法获取DNS
DNS2="119.29.29.29"

CentOS还可通过管理工具nmtui来设置ip

重启linux网络

service network restart

错误处理

操作失误或需要修改nat网络时,可以删除之前的创建的nat网络。

进行下面前你应该确认仅有一个nat网络

Get-NetNat #确认获取到的nat只有一个且是你想要删除的
Get-NetNat | Remove-NetNat #删除nat网络

win10 1903 有时会出现NAT网络无法访问外网的情况,此时需要重启物理机才能恢复正常。猜测与电脑睡眠或网络环境变化有关。

DHCP

前面我们已经可以通过固定ip访问网络,但是你需要为每个虚拟机配置一个固定Ip,

比起其他vm工具,还是缺少了一个dhcp网络。

如果你需要自动分配,可通过配置第三方的dhcp服务软件实现,例如tftpd64 、 dhcpserver

tftpd64

http://www.tftpd64.com/

  1. 下载服务版
  2. 在windows防火墙中,添加例外配置

  3. 配置dhcp服务

dhcpserver

下载: http://www.dhcpserver.de/cms/

使用方法:https://blog.csdn.net/candy1232009/article/details/80785367

注意:发现dhcpserver会影响win10的移动热点功能

虚拟机硬盘转换工具 vmware <=> hyper-v

https://www.starwindsoftware.com/starwind-v2v-converter

参考:

https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/setup-nat-network

https://anandthearchitect.com/2018/01/06/windows-10-how-to-setup-nat-network-for-hyper-v-guests/

https://github.com/docker/for-win/issues/1378#issuecomment-502380490

Hyper V NAT 网络设置 固定IP / DHCP的更多相关文章

  1. vmware fusion nat网络模式设置固定ip

    最近想在本地用虚拟环境搭一个k8s环境,但是发现虚拟机的ip会不定时自动变化,导致mosh客户端连接经常中断.于是就想让虚拟机的ip固定住,不再变动. mac 上的 vmware fusion 设置固 ...

  2. VMware workstation CentOs 7 虚拟机网卡设置为NAT模式并设置固定IP

    一.背景知识      虚拟机网络模式 无论是vmware workstation,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3 ...

  3. VMware workstation 14 CentOs 7.5.1804 虚拟机网卡设置为NAT模式并设置固定IP

    一.背景知识     虚拟机网络模式 无论是vmware workstation,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3. ...

  4. linux-centos7.6设置固定IP网络方法

    两种方法设置固定IP 本文分别用了虚拟机网络模式桥接模式和Net模式,至于两者直接的区别可查看其他文档. 一.安装时设置固定IP地址 1.在系统设置界面,点击“网络和主机名”选项,可以看到默认是未连接 ...

  5. docker 设置固定ip、配置网络

    Docker安装后,默认会创建下面三种网络类型 $ docker network ls NETWORK ID NAME DRIVER SCOPE 9781b1f585ae bridge bridge ...

  6. 转 -- Linux系列:Ubuntu虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写)

    原文转自:http://www.cnblogs.com/lanxuezaipiao/p/3613497.html#undefined 虚拟机里设置上网方式为NAT最方便,因为无需手动设置即可上网,但是 ...

  7. Linux系列:Ubuntu虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写)

    虚拟机里设置上网方式为NAT最方便,因为无需手动设置即可上网,但是NAT的上网方式默认是DHCP动态分配IP的,这意味着你每次重启虚拟机都 有不一样的IP地址,这对一般用户没任何问题.但是如果你的机子 ...

  8. 虚拟机中的CentOS 7设置固定IP连接最理想的配置

    说明:在网上搜了好多文章都是大同小异,都没有完全解决我想要的固定IP后要达到的如下效果, 1.笔记本主机IP为设置自动获取,不管什么情况下,不受虚拟机影响,只要连接外网就可以正常上网: 2.只要笔记本 ...

  9. centOS7虚拟机设置固定IP

      说明:想要达到的如下效果, 1.笔记本主机IP为设置自动获取,不管什么情况下,不受虚拟机影响,只要连接外网就可以正常上网: 2.只要笔记本主机可以正常访问外网,启动虚拟机中的CentOS 7系统就 ...

随机推荐

  1. Razor_02 第一个应用程序+Model+EF 添加

    第一个应用程序+Model+EF 添加 小试牛刀 今天 也试了试 边说边写,但是 有时候 编辑器不给力,或者网路不给力,倒是浪费大家时间,所以今天录制完了就裁切了 部分视频,如果有不清楚的地方,可以留 ...

  2. Python读写Excel文件的实例

    最近由于经常要用到Excel,需要根据Excel表格中的内容对一些apk进行处理,手动处理很麻烦,于是决定写脚本来处理.首先贴出网上找来的读写Excel的脚本. 1.读取Excel(需要安装xlrd) ...

  3. 猪肉涨价飞快?让我们用python来预测一下今年最后一个月的猪肉价格吧!

    今天我们将使用Facebook的“先知”模型来预测2019年12月广东省的猪肉价格,本实验仅供参考. 1.准备数据 在猪价系统网站上利用开发者工具获得过去一年广东省的猪肉价格保存为json格式:htt ...

  4. [转]JVM系列一:JVM内存组成及分配

    原文地址:http://www.cnblogs.com/redcreen/archive/2011/05/04/2036387.html JVM系列一:JVM内存组成及分配 java内存组成介绍:堆( ...

  5. springboot-配置多个数据源

    1.创建一个datasource包,新建DataSource1,DataSource2两个文件,通过注解来配置数据源 DataSource1: package com.springboot.datas ...

  6. Troubleshooting ORA-1628 - max # extents (32765) reached for rollback segment <SEGMENT_NAME> (Doc ID 1580182.1)

    Troubleshooting ORA-1628 - max # extents (32765) reached for rollback segment <SEGMENT_NAME> ( ...

  7. SQL注入漏洞技术的详解

    SQL注入漏洞详解 目录 SQL注入的分类 判断是否存在SQL注入 一:Boolean盲注 二:union 注入 三:文件读写 四:报错注入 floor报错注入 ExtractValue报错注入 Up ...

  8. openresty安装笔记

    目录 安装步骤: openresty安装在ubuntu下的安装 参考 安装OpenResty(Nginx+Lua)开发环境 安装步骤: # 创建目录/usr/servers,以后我们把所有软件安装在此 ...

  9. zabbix使用钉钉告警

    1.钉钉创建群 2.[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf # 配置文件中查找”Alert”查看告警脚本存放路径 [root@lo ...

  10. CloudCompare中对点云进行降采样和剪裁

    降采样: Edit=>Subsample 出现一个弹窗,可以选择3种降采样的方式:Random, Space, Octree. 下面用一个例子来说明3种方式.例子是一个5.88M个点的点云文件( ...