设置 AT 网络
设置 AT 网络
让我们演练新 AT 网络的设置。
以管理员身份打开 PowerShell 控制台。
创建内部交换机。
PowerShell 复制ew-VMSwitch -Switchame Switchame -SwitchType Internal
查刚创建的虚拟交换机的接口索引。
你可以通过运行以下命令查接口索引
Get-etAdapter
你的输出应类似下面的形式:
复制PS C:\> Get-etAdapterame InterfaceDescription ifIndex Status MacAddress LinkSpeed ---- -------------------- ------- ------ ---------- --------- vEthernet (intSwitch) Hyper-V Virtual Ethernet Adapter 24 Up 00-15-5D-00-6A-01 10 Gbps Wi-Fi Marvell AVASTAR Wireless-AC et... 18 Up 98-5F-D-4-0C-D 00 Mbps Bluetooth etwork ... Bluetooth Device (Personal Area... 21 Disconnected 98-5F-D-4-0C-D4 Mbps
内部交换机的名称将类似于
vEthernet (Switchame)
,接口描述将为Hyper-V Virtual Ethernet Adapter
。 请记下其ifIndex
以便在下一步中使用。使用 ew-etIPAddress 配置 AT 网关。
下面是常规命令:
PowerShell 复制ew-etIPAddress -IPAddress <AT Gateway IP> -PrefixLength <AT Subnet Prefix Length> -InterfaceIndex <ifIndex>
若要配置网关,你将需要一些有关你的网络的信息:
IPAddress - AT 网关 IP 指定要用作 AT 网关 IP 的 IPv4 或 IPv6 地址。
常规形式将为 a.1(例如 172.16.0.1)。 尽管最后一个位置不一定必须是.1,但通常是(基于前缀长度)通用网关 IP 为 192.168.0.1
PrefixLength - AT 子网前缀长度定义的 AT 本地子网大小(子网掩码)。子网前缀长度将为 0 到 2 之间的整数值。
0 将映射整个 Internet,2 将只允许一个映射的 IP。 常用值的范围为 24 到 12,具体取决于需要附加到 AT 的 IP 数。
常用 PrefixLength 为 24 -- 这是子网掩码 255.255.255.0
InterfaceIndex -- ifIndex 是你在上一步中确定的虚拟交换机的接口索引。
运行以下内容来创建 AT 网关:
PowerShell 复制ew-etIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 24
使用 ew-etat 配置 AT 网络。
下面是常规命令:
PowerShell 复制ew-etat -ame <ATOutsideame> -InternalIPInterfaceAddressPrefix <AT subnet prefix>
若要配置网关,你将需要提供一些有关网络和 AT 网关的信息:
ame - ATOutsideame 描述 AT 网络的名称。 将使用此参数删除 AT 网络。
InternalIPInterfaceAddressPrefix - AT 子网前缀同时描述上述 AT 网关 IP 前缀和上述 AT 子网前缀长度。
常规形式将为 a.0/AT 子网前缀长度
综上所述,对于本示例,我们将使用 192.168.0.0/24
对于我们的示例,运行以下命令以设置 AT 网络:
PowerShell 复制ew-etat -ame MyATnetwork -InternalIPInterfaceAddressPrefix 192.168.0.0/24
多个应用程序使用相同的 AT
某些情况下需要多个应用程序或服务使用同一个 AT。 在这种情况下,必须遵循以下工作流,以便多个应用程序/服务可以使用更大的 AT 内部子网前缀
我们将以与 Windows 容器功能共存于同一主机上的 Docker 4 Windows - Docker Beta - Linux VM 作为示例,对其进行详细介绍。 此工作流可能会随时发生变化
- C:> net stop docker
- 停止 Docker4Windows MobyLinux VM
- PS C:> Get-Containeretwork | Remove-Containeretwork -force
PS C:> Get-etat | Remove-etat
删除任何先前存在的容器网络(即删除 vSwitch、删除 etat、清理)ew-Containeretwork -ame nat -Mode AT –subnetprefix 10.0.76.0/24(此子网将用于 Windows 容器功能)创建名为 nat 的内部 vSwitch
创建名为“nat”、IP 前缀为 10.0.76.0/24 的 AT 网络Remove-etAT
删除 DockerAT 和 nat AT 网络(保留内部 vSwitch)ew-etat -ame DockerAT -InternalIPInterfaceAddressPrefix 10.0.0.0/17(这将创建较大的 AT 网络,以供 D4W 和容器共享)
创建名为“DockerAT”的 AT 网络,且该网络采用较大的前缀 10.0.0.0/17运行 Docker4Windows (MobyLinux.ps1)
创建内部 vSwitch DockerAT
创建名为“DockerAT”、IP 前缀为 10.0.75.0/24 的 AT 网络et start docker
Docker 将使用用户定义的 AT 网络作为默认网络连接到 Windows 容器
最终,你将具有两个内部 vSwitch – 一个名为 DockerAT,另一个名为 nat。 你仅将拥有一个 AT 网络 (10.0.0.0/17),可通过运行 Get-etat 确认。 Windows 容器的 IP 地址将由 Windows 主机网络服务 (HS) 从 10.0.76.0/24 子网分配。 基于现有 MobyLinux.ps1 脚本,将从 10.0.75.0/24 子网分配 Docker 4 Windows 的 IP 地址。
疑难解答
本指南假设主机上没有其他 AT。 但是,应用程序或服务将要求使用一个 AT,并且有可能创建一个 AT,使之作为安装的一部分。 由于 Windows (WinAT) 仅支持一个内部 AT 子网前缀,因此尝试创建多个 AT 将使系统处于未知状态。
若想知道这是否是个问题,请确保你只有一个 AT:
PowerShell 复制Get-etat
如果已存在一个 AT,请将其删除
PowerShell 复制Get-etat | Remove-etat
请确保应用程序或功能(例如 Windows 容器)仅有一个“内部”vmSwitch。 记录 vSwitch 的名称
PowerShell 复制Get-VMSwitch
检查是否仍存在从旧 AT 向适配器分配的专用 IP 地址(例如 AT 默认网关 IP 地址 – 通常为 *.1)
PowerShell 复制Get-etIPAddress -InterfaceAlias vEthernet (<name of vSwitch>)
如果旧专用 IP 地址仍在使用中,请将其删除
PowerShell 复制Remove-etIPAddress -InterfaceAlias vEthernet (<name of vSwitch>) -IPAddress <IPAddress>
删除多个 AT
我们看到无意中创建了多个 AT 网络的报告。 这是由于最近的版本(包括 Windows Server 2016 Technical Preview 5 和 Windows 10 Insider Preview 版本)存在一个 bug。 如果你看到多个 AT 网络,在运行 docker network ls 或 Get-Containeretwork 之后,请在提升的 PowerShell 中执行以下操作:
PS> $KeyPath = HKLM:\SYSTEM\CurrentControlSet\Services\vmsmp\parameters\SwitchList
PS> $keys = get-childitem $KeyPath
PS> foreach($key in $keys)
PS> {
PS> if ($key.GetValue(Friendlyame) -eq nat )
PS> {
PS> $newKeyPath = $KeyPath\$key.PSChildame
PS> Remove-Item -Path $newKeyPath -Recurse
PS> }
PS> }
PS> remove-netnat -Confirm:$false
PS> Get-Containeretwork | Remove-Containeretwork
PS> Get-VmSwitch -ame nat | Remove-VmSwitch (_failure is expected_)
PS> Stop-Service docker
PS> Set-Service docker -StartupType Disabled
Reboot Host
PS> Get-etat | Remove-etat
PS> Set-Service docker -StartupType automaticac
PS> Start-Service docker
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上一篇:java tif 转jpg 颜色
下一篇:iPhone手机被停用怎么办?
推荐阅读
留言与评论(共有 17 条评论) |
本站网友 西安购物 | 10分钟前 发表 |
将使用此参数删除 AT 网络 | |
本站网友 柳州房产 | 20分钟前 发表 |
> Get-Containeretwork | Remove-Containeretwork -forcePS C | |
本站网友 华中科技大学武昌分校是几本 | 3分钟前 发表 |
若想知道这是否是个问题,请确保你只有一个 AT: PowerShell 复制 Get-etat 如果已存在一个 AT,请将其删除 PowerShell 复制 Get-etat | Remove-etat 请确保应用程序或功能(例如 Windows 容器)仅有一个“内部”vmSwitch | |
本站网友 淮安中山医院 | 25分钟前 发表 |
> Get-Containeretwork | Remove-Containeretwork -forcePS C | |
本站网友 魏都区政府网 | 20分钟前 发表 |
运行以下内容来创建 AT 网关: PowerShell 复制 ew-etIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 24 使用 ew-etat 配置 AT 网络 | |
本站网友 太原车展 | 25分钟前 发表 |
清理) ew-Containeretwork -ame nat -Mode AT –subnetprefix 10.0.76.0/24(此子网将用于 Windows 容器功能)创建名为 nat 的内部 vSwitch创建名为“nat” | |
本站网友 胡知鸷 | 29分钟前 发表 |
子网前缀长度将为 0 到 2 之间的整数值 | |
本站网友 贵阳酒店查询 | 6分钟前 发表 |
运行以下内容来创建 AT 网关: PowerShell 复制 ew-etIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 24 使用 ew-etat 配置 AT 网络 | |
本站网友 商洛租房 | 4分钟前 发表 |
以管理员身份打开 PowerShell 控制台 | |
本站网友 aqualung | 29分钟前 发表 |
设置 AT 网络 让我们演练新 AT 网络的设置 | |
本站网友 yy赛马 | 15分钟前 发表 |
但是,应用程序或服务将要求使用一个 AT,并且有可能创建一个 AT,使之作为安装的一部分 | |
本站网友 张家口小区 | 7分钟前 发表 |
清理) ew-Containeretwork -ame nat -Mode AT –subnetprefix 10.0.76.0/24(此子网将用于 Windows 容器功能)创建名为 nat 的内部 vSwitch创建名为“nat” | |
本站网友 weipinghui | 20分钟前 发表 |
子网前缀长度将为 0 到 2 之间的整数值 | |
本站网友 qq用不了 | 5分钟前 发表 |
由于 Windows (WinAT) 仅支持一个内部 AT 子网前缀,因此尝试创建多个 AT 将使系统处于未知状态 | |
本站网友 投票程序 | 23分钟前 发表 |
> Get-etat | Remove-etat删除任何先前存在的容器网络(即删除 vSwitch | |
本站网友 骑驴找驴 | 29分钟前 发表 |
0 将映射整个 Internet,2 将只允许一个映射的 IP |