windows server 2019 Hyper-V 开nat小鸡学习笔记
主机哥开了台16-16的云主机,恰巧支持嵌套虚拟化,于是拿来测试下开小鸡,做个笔记。
主机哥后来用windows server 2019物理机安装hyper-v然后给小鸡开启嵌套虚拟化后也成功小鸡生小鸡(俗称套娃)。
阿里云限量代金券 | 此广告位出租25元/月 |
教程准备:
windows server 2019 服务器英文版改成中文
由于主机哥的主机提供商只提供了英文版的Windows server 2019的系统,如果想汉化,要先打补丁。
补丁地址:https://support.microsoft.com/help/4476976
如果找不到的可以点击下面的连接下载:
补丁下载完毕,还需要下载语言包。语言包地址:点击下载
下载完语言包以后,需要挂上iso,windows2019自带挂载功能,打开iso即可自动挂载。
下一步,点击开始,按R (Win+R) ,输入并运行lpksetup.exe,打开以后,选择刚才挂载的iso文件目录里的zh-cn的cab文件。
安装完语言包后,需要进行语言设置 打开控制面板
进入Contorl Panel
搜索language,点击change date,time的选项,进入后点击 Language preferences,进入后选择中文
保存以后,在Region的区域,把能选择CHina或者Chinese的都选一下。
重启。
这样就汉化完毕了。
参考教程
http://www.taohost.com/helpcenter/windowsserver2019tochinese.html
https://jingyan.baidu.com/article/f006222829f0b1bad2f0c874.html
查看小鸡是否支持虚拟化
如果我们的大号虚拟机是 Windows ,我们可以安装 hyper-v 进行验证,能安装,则证明我们上面的设置是成功的,如果我们的虚拟机是 Linux ,则我们在命令行输入 lsmod 进行查看是否有下图的内容,如果有,则证明宿主机是开启了嵌套虚拟化的。
kvm_intel 188793 0 drm 456166 4 ttm,drm_kms_helper,cirrus kvm 637515 1 kvm_intel irqbypass 13503 1 kvm
若小鸡不支持虚拟化可开启母鸡的虚拟化
由于hyper-v的特殊性,为了实现嵌套虚拟化(也就是我们常说的无限套娃),小鸡也必须使用windows+hyper-v虚拟化
打开powershell
Get-VM Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version ---- ----- ----------- ----------------- ------ ------ ------- nat1 Off 0 0 00:00:00 正常运行 9.0 这个命令可以列出我们的虚拟机,nat1就是我虚拟机的名称 Get-VMProcessor -VMName nat1 | fl ResourcePoolName : Primordial Count : 16 CompatibilityForMigrationEnabled : False CompatibilityForOlderOperatingSystemsEnabled : False HwThreadCountPerCore : 0 ExposeVirtualizationExtensions : False EnablePerfmonPmu : False EnablePerfmonLbr : False EnablePerfmonPebs : False Maximum : 100 Reserve : 0 RelativeWeight : 100 MaximumCountPerNumaNode : 12 MaximumCountPerNumaSocket : 1 EnableHostResourceProtection : False OperationalStatus : {} StatusDescription : {} Name : 处理器 Id : Microsoft:DC60CBF6-2831-40A6-A770-579C7FEE043D\b637f346-6a0e-4d ec-af52-bd70cb80a21d\0 VMId : dc60cbf6-2831-40a6-a770-579c7fee043d VMName : nat1 VMSnapshotId : 00000000-0000-0000-0000-000000000000 VMSnapshotName : CimSession : CimSession: . ComputerName : YZCU118-04 IsDeleted : False VMCheckpointId : 00000000-0000-0000-0000-000000000000 VMCheckpointName : 上面这个命令是查看虚拟机是否支持虚拟化,可以看到,嵌套虚拟化ExposeVirtualizationExtensions选项的值为 False,设置为 True 即可 Set-VMProcessor -ExposeVirtualizationExtensions $true -VMName nat1 开启虚拟化命令,正常情况下,运行这条命令后是没有输出的 Get-VMProcessor -VMName nat1 | fl ResourcePoolName : Primordial Count : 16 CompatibilityForMigrationEnabled : False CompatibilityForOlderOperatingSystemsEnabled : False HwThreadCountPerCore : 0 ExposeVirtualizationExtensions : True EnablePerfmonPmu : False EnablePerfmonLbr : False EnablePerfmonPebs : False Maximum : 100 Reserve : 0 RelativeWeight : 100 MaximumCountPerNumaNode : 12 MaximumCountPerNumaSocket : 1 EnableHostResourceProtection : False OperationalStatus : {} StatusDescription : {} Name : 处理器 Id : Microsoft:DC60CBF6-2831-40A6-A770-579C7FEE043D\b637f346-6a0e-4d ec-af52-bd70cb80a21d\0 VMId : dc60cbf6-2831-40a6-a770-579c7fee043d VMName : nat1 VMSnapshotId : 00000000-0000-0000-0000-000000000000 VMSnapshotName : CimSession : CimSession: . ComputerName : YZCU118-04 IsDeleted : False VMCheckpointId : 00000000-0000-0000-0000-000000000000 VMCheckpointName : 再次运行上面第二个命令查看设置结果,可以看到嵌套虚拟化ExposeVirtualizationExtensions选项的值为True 经过上面这4个步骤后就可以在小鸡内再进行虚拟化了,也就是所谓的套娃
参考教程:母鸡如何开启Hyper V嵌套虚拟化以及大号小鸡开NAT小鸡教程https://www.wnark.com/archives/132.html
在宿主机或者已开启嵌套虚拟化的小鸡上安装hyper v
注意:
如果是在云服务器商买的大号vps上安装完hyper v会发现多出了一个虚拟网卡而且服务器无法上网,只要重启一下服务器就可以上网了,并且你会发现云服务器的ip已经自动获取到了多出来的虚拟网卡上,但是如果你的主机上没有开启DHCP获取IP的话你的云服务器会失联,只能通过VNC手动设置虚拟网卡的ip回主机商原来的IP。如果是在物理机上安装,而且物理机没有vnc支持的话,安装hyper-v后会导致IP地址改变,失去远程后那就只能联系机房人员手动恢复原来的服务器IP了。
但是如果是自己物理机创建的大号小鸡里安装完hyper-v会自动将小机服务器里设置的静态ip改为自动获取ip,并且获取的ip也到了虚拟网卡上,由于会随机获取其他的内网ip导致远程断开,进hyper-v连接小鸡重新手动设置静态ip就有网了。
https://blog.csdn.net/meigang2012/article/details/77863273/
创建nat网络
进入hyper-v 管理器-虚拟交换机管理器-新建虚拟交换机-内部-创建虚拟交换机,然后名称随便命名-连接类型选内部网络,最后点击确定。
回到物理机-网络和internet-网络连接-vEthernet(Red Hat VirtlO Ethernet Adapter #2)-属性里选择共享
创建的虚拟机—设置-网络适配器–选择-刚才我们创建的虚拟机交换机,nat机就可以联网了
注意:
1、新建的NAT网络IPV4已经默认设置好了IP192.168.137.1和掩码255.255.255.0,如果不创建虚拟交换机就直接网卡属性里共享网络会导致服务器失去网络连接如果你的服务器没VNC功能那就只能重装了。
2、主机哥发现重启宿主机后会导致所有小鸡没有网络了,则说明网络共享不正常,可以先禁用网络共享再按照前文重新开启即可恢复小鸡的网络(就是将刚才网卡属性共享的勾取消确定然后再勾回去确定)。
参考教程:
https://www.jb51.net/article/252602.htm
https://blog.csdn.net/bamboo_2001/article/details/112549558
hyper v创建虚拟机
https://blog.csdn.net/weixin_34232617/article/details/91764361
CentOS镜像下载http://mirrors.163.com/centos/ (主机哥下载时用的时CentOS7.9,就最后一个版本)
Debian镜像下载https://www.debian.org/download (主机哥下载时是debian11网络安装包)
CentOS手动分区教程https://jingyan.baidu.com/article/3aed632e73d4b2311180912f.html
Debian手动分区教程:
新建第一个主分区EXT4 挂载点boot 150MB足够
新建第二个主分区EXT4 挂载点/ 分配全部空间留一点给交换空间
新建一个逻辑分区 挂载点swap 分配最后全部空间
(Debian系统安装完后默认会自动获取到内网IP,IP段为192.168.137.x)
另外附上debian系统使用root账户登陆教程https://23vps.com/post/62.html
虽然小鸡可dhcp自动分配内网ip,但是还是建议设置成如下静态地址:
IP地址:192.168.137.2 子网掩码:255.255.255.0 默认路由:192.168.137.1 DNS:8.8.8.8
NAT机端口映射
用这个工具
https://github.com/zmjack/PortProxyGUI
我下载了NET版https://github.com/zmjack/PortProxyGUI/releases/download/v1.3.0/PortProxyGUI-x64.v1.3.0.Net6.zip
打开后会提示安装.NET6.0
查看端口是否处于监听状态
netstat -aon|findstr "22222"
如果提示这个状态就说明转发成功了:
TCP 0.0.0.0:22222 0.0.0.0:0 LISTENING 3520
但是主机哥从自己电脑访问宿主机IP时发现端口没有开放,应该是防火墙没允许导致的
打开控制面板,系统和安全,允许应用通过Windows防火墙,添加PortProxyGui添加允许专用和公用
最后还要添加一个入站规则
打开控制面板,系统和安全,Windows Defender防火墙,高级设置,入站规则,新建规则,添加一个允许22222端口的规则即可。
最后主机哥分享一个重建nat小鸡的小技巧,由于主机哥第一次装的centos系统选择了自动分区导致硬盘划分很不合理不能最大利用硬盘空间于是想重装
hyper v重装方法:删除虚拟机硬盘文件E:\Hyper-V\nat1\Virtual Hard Disks下的硬盘映像文件,最后重新创建一个硬盘安装即可。
好了,折腾笔记就到这。