Set up a Hyper-V Virtual Switch using a NAT Network
文章目录
首先要说的一点就是:你所想的各种情况都是可以实现的。
Office Guide: https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/user_guide/setup_nat_network
Other Blogs: http://www.thomasmaurer.ch/2015/11/hyper-v-virtual-switch-using-nat-configuration/
在 Windows 10 Build 10585 版本 和 Windows Server 2016 Technical Preview 4 版本其实已经添加了新的NAT类型的网络模型。
但是现在还不支持UI,不过可以用PowerShell去创建。
参考资料:
http://www.thomasmaurer.ch/2015/11/hyper-v-virtual-switch-using-nat-configuration/
https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/user_guide/setup_nat_network
配置命令:管理员身份打开 PowerShell
# 添加一个 NAT 类型的 Switch,最后的 0/24 是固定的,原因自己度娘/谷哥。 |
上面的报错的话,就走一般点的步骤:
# 1. 创建一个 内部 类型的 VMSwitch。这一步可以在 Hylper-V Manager 里完成。 |
添加映射:(宿主机和NAT网络做端口映射)
Add-NetNatStaticMapping -NatName "VMSwitchNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 172.29.92.2 -InternalPort 80 -ExternalPort 80 |
其他命令:
Get-VMSwitch |
问题
- 当主机同时处在2个局域网中时(虚拟局域网和外网),主机发出的一个请求,怎么判断是应该送到外网,还是局域网?
涉及到 IP 协议的抽象的实现。简单来说就是 IP 地址本身没有内网外网之分。但是设计之初有预留3个网段给内网使用:
- A类 10.0.0.0–10.255.255.255
- B类 172.16.0.0–172.31.255.255
- C类 192.168.0.0–192.168.255.255
凡是这3个网段内的数据包,都是内网的。3个网段本身没有区别,只是可以容纳的机器数不一样,按需使用。
而且数据包走哪个网卡,也是通过IP地址和子网掩码自己算出来的,所以没有内网外网之分。
- 多个虚拟内网如何区分?
每个虚拟网卡的 IP/子网掩码 是不一样的。