Настройте контейнер Windows в качестве маршрутизатора NAT
Предисловие: аналогично этому сообщению , но нужно специальное решение для Windows.
Мне нужно направить трафик из кластера контейнеров Windows через другой контейнер Windows в том же кластере. Цель состоит в том, чтобы исходящий трафик для этих контейнеров направлялся на пограничный маршрутизатор с тем же исходным IP-адресом, что позволит применять существующие политики маршрутизации, которые могут отличаться от политик IP-маршрутизации хоста. Контейнер, через который я хочу маршрутизировать, будет иметь собственный статический IP-адрес во внешней сети хоста (через
Одна вещь, которая будет работать, это использование
Я попытался настроить RRAS в контейнере ядра сервера, однако постоянно получал ошибку об исходных файлах, что приводило меня к непродуктивной кроличьей норе (указывая Source на install.wim и т. д.).
PS C:\> Install-WindowsFeature RemoteAccess
Install-WindowsFeature : The request to add or remove features on the specified server failed.
Installation of one or more roles, role services, or features failed.
The source files could not be found.
Use the "Source" option to specify the location of the files that are required to restore the feature. For more
information on specifying a source location, see http://go.microsoft.com/fwlink/?LinkId=243077. Error: 0x800f081f
At line:1 char:1
+ Install-WindowsFeature RemoteAccess
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (@{Vhd=; Credent...Name=localhost}:PSObject) [Install-WindowsFeature],
Exception
+ FullyQualifiedErrorId : DISMAPI_Error__Failed_To_Enable_Updates,Microsoft.Windows.ServerManager.Commands.AddWind
owsFeatureCommand
Я также попытался настроить ICS , но также столкнулся с ошибками при создании com-объекта. Пробовал копировать соответствующие библиотеки DLL (
PS C:\> regsvr32 hnetcfg.dll /s
PS C:\> $m = New-Object -ComObject HNetCfg.HNetShare
New-Object : Retrieving the COM class factory for component with CLSID {00000000-0000-0000-0000-000000000000} failed
due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
At line:1 char:6
+ $m = New-Object -ComObject HNetCfg.HNetShare
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [New-Object], COMException
+ FullyQualifiedErrorId : NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand
Поскольку я использую контейнеры Windows, я думаю, что у меня немного меньше гибкости по сравнению с использованием контейнера Linux, поэтому ищу решение, которое будет работать в контейнере Windows, если это возможно.
Обратитесь к моему существующему сообщению (которое было закрыто без объяснения причин), ПОЧЕМУ мне нужно это сделать, а также к более подробной информации о моей инфраструктуре.