У меня дома два роутера. Первый (192.168.1.1) работает как модем ADSL и работает как ISP для второго маршрутизатора (192.168.2.1). Моя локальная сеть (Wi-Fi) построена на втором роутере.
Я использую переадресацию порта дважды:
Все работает нормально и с помощью freemyip.com
service Я могу создать виртуальный хост на моем компьютере, чтобы он был доступен из Интернета.
Моя проблема: серверу не удалось поймать удаленный IP-адрес клиента. т.е. весь удаленный доступ записывается как мой общедоступный IP-адрес первого маршрутизатора (модем ADSL) при доступе к серверу через мою локальную сеть, IP-адрес записывается правильно для устройства, к которому он получил доступ.
Я считаю, что это проблема, связанная с переадресацией портов, но я не смог ее решить.
Видит ли сервер внешний IP-адрес или внутренний IP-адрес маршрутизатора, зависит от службы NAT маршрутизатора - возможно, это настраивается.
Кроме того, преобразование адреса источника через NAT больше похоже на обратный прокси-сервер, но некоторые маршрутизаторы также делают это.
Я вижу, что на работе сетевой уровень должен гарантировать, что заголовок HTML x-forwarded-for отправляется на наш веб-сервер, иначе он видит весь трафик, исходящий от брандмауэра.
Но это обычно происходит, когда вы прокси, так что, в вашем случае, может быть, маршрутизаторы реализуют NAT через прокси? Проверьте, есть ли у вас возможность сохранить IP-адрес клиента в интерфейсе администратора.