Как Windows выбирает, какой сетевой адаптер использовать, когда избыточные адаптеры доступны?

Я никогда не использовал Hyper-V, таким образом, я основываю этот ответ на других гипервизорах.

Когда Вы создаете и настраиваете VM, он обычно дает Вам опцию добавить виртуальную плату NIC. Обычно, будет несколько способов настроить этот NIC, и как он взаимодействует через интерфейс с физическим NIC. 2 наиболее распространенных опции "соединяются мостом, объединяясь в сеть" и "NAT".

"Соединенные мостом сетевые" мосты Ваш виртуальный NIC к Вашему физическому NIC, и заставят виртуальный NIC действовать как машина на ту же подсеть как хост-машина. "NAT" настраивает Ваш виртуальный NIC, чтобы использовать преобразование сетевых адресов и заставить его посмотреть, как будто это находится на другой подсети позади виртуального маршрутизатора.

Из Вашего описания мое предположение - то, что Ваши VMs настроены для использования NAT, таким образом, они не появляются в подсети хостов. Чтобы Вы получили доступ к ним этот путь, необходимо было бы настроить маршрутизацию между этими 2 сетями. Если это будет тем, чего Вы требуете, то необходимо будет понять это в Hyper-V, настроить один из виртуальных серверов как маршрутизатор/шлюз или создать виртуальный маршрутизатор с чем-то как Vyatta.

Однако, если это не то, что Вы хотите, затем простое решение состоит в том, чтобы изменить VM NICs для использования соединенных мостом сетей. Если нет никакой опции изменить его, добавьте новый NIC с соединенным мостом, и удалите старый.

4
задан 9 October 2011 в 00:27
3 ответа

As devicenull said, this is a problem of name resolution.

What I suspect is happening is that you are using NetBIOS name resolution. Without a WINS server running on the network, this name resolution works via network broadcast.

Whichever card on the server happens to reply to this broadcast first is the one that will get used, until the name resolution cache entry expires (10 or 15 minutes I think), and then there will be another broadcast.

You can read more about this here: http://www.techrepublic.com/article/how-netbios-name-resolution-really-works/5034239

3
ответ дан 3 December 2019 в 03:10

Well, first off it's not really redundant if the second connection can't deal with the load of the primary connection. What's going to happen when the primary card fails when it was pushing 500mbit/sec of traffic? Your secondary card isn't going to be able to keep up with it. Why are you doing this? Perhaps you would be better served by some other technology.

The issue you are seeing here is probably because you are using the hostnames instead of IP addresses. Whichever card happens to register with the network first would be the one assigned the hostname. This would be random (it depends on timing of when the computer was turned on, when the cards came up, etc).

There's no real clever solution here. Unless you can convince the computers to always announce their hostname on the primary adapter first, you aren't going to be able to have this work as you want. Gigabit ethernet adapters are around $13 each, why not just pick up two more and stop using the 100mbit oens.

2
ответ дан 3 December 2019 в 03:10

First, your adapters aren't redundant. You have two separate adapters, that not even close to the same thing as redundant. You need to setup teaming on the adapters. They should be from the same vendor, using that vendors teaming tools. They should also be of the same speed, it may work with different speeds but there's reasons this sort of setup isn't recommended.

Once they're teamed you can specify a primary with failover redundancy. Your current setup is not failure tolerant, you can quickly test this by unplugging the NIC being used (testing like this is part of setting up a server, any feature you think you have that hasn't been tested should be assumed non-functional: redundancy, backup solutions, performance, everything).

1
ответ дан 3 December 2019 в 03:10

Теги

Похожие вопросы