Я настроил сеть Nat на своем хосте Hyper-V, как описано Microsoft здесь:
Настройка сети NAT
Он отлично работает, за исключением того, что у моего хоста 5 внешних IP-адресов. Поэтому, когда он направляет исходящий трафик через внутренний шлюз (192.168.0.1) на внешний адрес, он, по-видимому, выбирает любой внешний адрес случайным образом, как мы можем видеть здесь:
Некоторым службам требуется, чтобы DNS разрешал исходящий IP-адрес, с которого он исходит, и поэтому это стало проблемой в производственной среде.
Я надеюсь на любое решение, чтобы решить эту проблему, будь то на хосте, в гостях или в настройках сети Nat и т. Д.
Я подумал, что мог бы удалить внешние IP-адреса (Remove-NetNatExternalAddress), которые не нужны (поскольку они существуют в сети Nat), показанные здесь:
Идентификатор внешнего адреса: 0
NatName : NATNetwork
IP-адрес: 8.94.243.210
Начальный порт: 49668
Конец порта: 49677
Активный: правда
Идентификатор внешнего адреса: 1
NatName : NATNetwork
IP-адрес: 8.94.243.210
Начальный порт: 56271
Конец порта: 56280
Активный: правда
Идентификатор внешнего адреса: 2
NatName : NATNetwork
IP-адрес: 8.94.243.211
Начальный порт: 49678
Конец порта: 49687
Активный: правда
Идентификатор внешнего адреса: 3
NatName : NATNetwork
IP-адрес: 8.94.243.211
Начальный порт: 56281
Конец порта: 56290
Активный: правда
Идентификатор внешнего адреса: 1000000
NatName : NATNetwork
IP-адрес: 0.0.0.0
Начальный порт: 0
Конец порта: 65535
Активный: правда
и т.д...
Однако инструменты кажутся очень ограниченными и часто приводят к ошибкам (особенно при использовании Add-NetNatStaticMapping). Также кажется, что сопоставление 0.0.0.0 может вызывать те же проблемы, но не уверен, правильно ли я все понимаю. А может и это убрать?
В крайнем случае я подумал, что могу удалить все внешние IP-адреса, кроме одного, затем удалить и снова добавить сеть Nat (или, может быть, сначала удалить сеть Nat, а затем удалить четыре IP-адреса). Поскольку кажется, что все внешние IP-адреса (NetNatExternalAddress) добавляются в настройку сети Nat, поэтому у него будет только один IP-адрес для настройки в качестве NetNatExternalAddress? Затем добавьте четыре других внешних IP-адреса обратно после того, как все работает нормально на одном IP-адресе.
Однако это кажется радикальным, поскольку у меня есть производственные службы, работающие на всех пяти IP-адресах (а машина удалена и в основном недоступна). Я тоже не уверен, что это сработает (т. е., может быть, он динамически добавит остальные четыре IP-адреса).
Кто-нибудь так делал или есть идеи? Любая помощь приветствуется.
ОБНОВЛЕНИЕ: я удалил один из менее используемых IP-адресов, и NetNatExternalAddresses отражают это (он также удаляется в NetNat) ... а затем добавляются обратно, когда вы добавляете IP-адрес обратно на сервер. Итак, мой последний вариант не решит проблему.