hyperv配置Nat服务

橙三吉。 提交于 2020-04-27 09:34:53
  1. 前因

    安装了虚拟机,ssh连接有时很慢。就想着是不是网络问题,抓包,发现响应特别慢。就有点难受了。

    后来通过创建内部专用网络,发现配置好了之后,可以在主机,虚拟机之间通讯,ping可以ping通两个接口,但是ping网关没有响应,我想得是应该这种不是Nat吧,路由器路由不回来,对方接受到了这个包跟自己不是一个网段的就丢掉了?或者发走了,主要是没有相关的路由策略,而我又没有办法修改路由器的路由策略。只好使用同一台电脑的Nat作为代理来使用。

    最后创建了一个10.1.1.1/30的子网。这样也够段,懒得每次用putty输入ip的时候输入那么多。

  2. hyper-v创建nat网络

    • 管理员打开power sheell

    • 创建一个内部网络

      模板:New-VMSwitch -SwitchName "SwitchName" -SwitchType Internal

      案例:New-VMSwitch -SwitchName "nat" -SwitchType Internal

      • 这个SwitchType Internal对应

      • 这个SwitchName对应

    • 查看当前已拥有的虚拟交换机。

      Get-NetAdapter

        ![](https://oscimg.oschina.net/oscnet/up-5217ed2c9628ea968aacbd79f877e6ba702.png)
      
    • 建立Nat的内部网段

      模板:New-NetIPAddress -IPAddress <NAT Gateway IP> -PrefixLength <NAT Subnet Prefix Length> -InterfaceIndex <ifIndex>

      案例::New-NetIPAddress -IPAddress 10.1.1.1 -PrefixLength 30 -InterfaceIndex 66

      • NAT Gateway IP

        Nat的网关IP

      • NAT Subnet Prefix Length

        子网掩码是多少位,这里就不用你填写计算子网掩码了。我填的30位。两台机子。

      • ifIndex 这个是上面通过Get-NetAdapter命令查看的输出,对应ifindex
    • 为当前主机的某个接口创建NAT

      模板:New-NetNat -Name <NATOutsideName> -InternalIPInterfaceAddressPrefix <NAT subnet prefix>

      实例:New-NetNat -Name vmnat -InternalIPInterfaceAddressPrefix 10.1.1.0/30

      • NATOutsideName外部名,随便填,这个名字用于后面删除用
      • NAT subnet prefixNAT网络的子网前缀。然后就可以改了。
  3. 删除NAT

    • 查看

      Get-NetNat

    • 删除

      Get-NetNat | Remove-NetNat

    • 获取内部的交换机

      Get-VMSwitch

    • #查看某个地址池 Get-NetIPAddress -InterfaceAlias "vEthernet (<name of vSwitch>)"

      之前创建的vEthernet (nat)列表可以通过Get-NetAdapter指令查看

    • 删除地址池

      Remove-NetIPAddress -InterfaceAlias "vEthernet (<name of vSwitch>)" -IPAddress <IPAddress>

    • 删除虚拟交换机

      Remove-VMSwitch "QoS Switch" 文档

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!