1

Я установил небольшой веб-сервер на настольном компьютере для внутреннего и внешнего использования в моей компании. Сеть компании состоит из маршрутизатора D-Link DSL-6740U, подключенного к коммутатору TP-Link TL-SG1016, и все машины в офисе подключены к коммутатору. IP-адрес маршрутизатора - 10.0.0.138 и все рабочие столы находятся в диапазоне 10.0.0.0 - 10.0.0.20 range . Сервер, случается, 10.0.0.10 . Кроме того, я перенаправил порт 80 на маршрутизаторе с внешних запросов на компьютер, на котором размещен сервер. Наш внешний IP-адрес 1.2.3.4 для целей обсуждения.

Я заметил, что все запросы, исходящие из локальной сети с целевым сервером с нашим внешним IP-адресом (1.2.3.4), отображаются на сервере как с IP-адреса 10.0.0.138 (маршрутизатор), а не с внутреннего IP-адреса рабочий стол, делающий запрос. Если рабочий стол сделал запрос через адрес 10.0.0.10 (адрес локальной сети сервера), мы видим его адрес локальной сети (то есть 10.0.0.6).

Почему все запросы к внешнему адресу отображаются как от 10.0.0.138 (маршрутизатор), а не от адреса локальной сети (т. 10.0.0.6 или даже нашего внешнего адреса 1.2.3.4)? Это функция роутера? Предполагая, что я не могу изменить конфигурацию маршрутизатора (на самом деле, я могу), есть ли что-то, что я мог бы сделать (на сервере или на клиенте), чтобы IP-адрес отображался как исходный адрес в локальной сети?

ПРИМЕЧАНИЕ. В исходной версии этого вопроса я неправильно указал, что даже вызовы на адрес локальной сети сервера будут отображаться в журналах как начиная с 10.0.0.138 . С тех пор я научился трижды проверять, что мои пользователи сообщают мне о том, как они получают доступ к серверу!

1 ответ1

4

Ответ на ваш вопрос «Почему все запросы отображаются как от роутера?" является:

Потому что роутер выполняет NAT.

Нам нужно уточнить детали, если мы хотим определить, почему трафик проходит через маршрутизатор и проходит через NAT. Похоже, что клиенты и сервер "должны" находиться в одной подсети, и, следовательно, трафик не должен проходить через маршрутизатор и получать NAT.

Возможные причины трафика будут проходить через маршрутизатор:

  • Конфигурация IP-адреса / маски подсети сервера и клиента помещает их в разные подсети
  • Клиенты получают доступ к серверу через внешний IP-адрес, а маршрутизатор выполняет разворот NAT (Source NAT и Destination NAT)

-- Редактировать:

Чтобы ответить на обновленный вопрос:

Почему все запросы к внешнему адресу отображаются как от 10.0.0.138 (маршрутизатор), а не от адреса локальной сети (т. Е. 10.0.0.6 или даже нашего внешнего адреса 1.2.3.4)?

Это, безусловно, связано с тем, что происходит переадресация некоторых типов DNAT и SNAT или портов. Это особенность роутера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .