У нас есть несколько сайтов в IIS с разными IP-адресами. Это круто, нужно, чтобы все IP-адреса отправлялись на этот сервер и использовали правильный сайт. Однако я обнаружил проблему, заключающуюся в том, что, когда сервер устанавливает исходящее соединение, я не могу предсказать, какой IP-адрес он будет использовать. Мне пришлось попросить одного клиента добавить ВСЕ IP-адреса к своему брандмауэру, чтобы определенная служба могла связываться с их сервером. Что ж, пришло время добавить еще один IP / сайт в IIS, но я сказал им, что им больше не нужно будет добавлять IP. Итак, вопрос в том, как я могу заставить Windows Server 2003 использовать только ОДИН конкретный IP-адрес для исходящих вызовов вместо того, чтобы он был непредсказуемым?
Если это не достаточно хорошее описание, когда я подключился к серверу по протоколу RDP, я открыл IE и перешел к «каков мой IP-адрес», иногда это было по-другому, поэтому я обнаружил, почему брандмауэр одного клиента внезапно отказывался от соединений.
Как я могу просто сделать исходящие вызовы со статического IP-адреса, но при этом разрешить несколько IP-адресов, указывающих на разные сайты в IIS?
Взгляните на значения метрики в таблице маршрутизации:
ROUTE PRINT
если у вас есть несколько маршрутов для одного пункта назначения, значение Metric определяет, какой маршрут и, следовательно, исходный IP-адрес используется. Сначала используется более низкое значение метрики.
Вы можете использовать PATHPING
команда, чтобы узнать, какой адрес используется.
ROUTE ADD|DELETE|CHANGE
позволяет изменять таблицу маршрутизации, включая метрику.
Вы можете просто удалить шлюз по умолчанию из адаптеров, через которые не должен проходить трафик. Это позволит трафику поступать на любой адаптер, но выходить только через тот, у которого настроен шлюз.
На самом деле проблема не в IIS, а в стеке TCP \ IP. Я не думаю, что вы можете добавить эту функциональность только к IIS, не затрагивая все остальное на машине, которая использует сетевое подключение.