Назад | Перейти на главную страницу

Apache2 за NAT для переадресации портов

У меня дома два роутера. Первый (192.168.1.1) работает как модем ADSL и работает как ISP для второго маршрутизатора (192.168.2.1). Моя локальная сеть (Wi-Fi) построена на втором роутере.

Я использую переадресацию порта дважды:

  1. от первого порта маршрутизатора 80 до порта второго маршрутизатора 80
  2. со второго порта 80 маршрутизатора на порт 80 моего компьютера (192.168.2.30)

Все работает нормально и с помощью freemyip.com service Я могу создать виртуальный хост на моем компьютере, чтобы он был доступен из Интернета.

Моя проблема: серверу не удалось поймать удаленный IP-адрес клиента. т.е. весь удаленный доступ записывается как мой общедоступный IP-адрес первого маршрутизатора (модем ADSL) при доступе к серверу через мою локальную сеть, IP-адрес записывается правильно для устройства, к которому он получил доступ.

Я считаю, что это проблема, связанная с переадресацией портов, но я не смог ее решить.

Видит ли сервер внешний IP-адрес или внутренний IP-адрес маршрутизатора, зависит от службы NAT маршрутизатора - возможно, это настраивается.

Кроме того, преобразование адреса источника через NAT больше похоже на обратный прокси-сервер, но некоторые маршрутизаторы также делают это.

Я вижу, что на работе сетевой уровень должен гарантировать, что заголовок HTML x-forwarded-for отправляется на наш веб-сервер, иначе он видит весь трафик, исходящий от брандмауэра.

Но это обычно происходит, когда вы прокси, так что, в вашем случае, может быть, маршрутизаторы реализуют NAT через прокси? Проверьте, есть ли у вас возможность сохранить IP-адрес клиента в интерфейсе администратора.