У меня два (Windows 2008 R2) сервера, назовем их: A
и B
.
Сервер A
работает программный сервер (в этом примере Apache HTTP).
Не трогая и не меняя ничего в конфигурации Apache, мне нужны все пакеты из B
быть направленным на сервер A
и (что очень важно), чтобы Apache знал IP-адрес настоящего посетителя. Это означает, что посетитель 192.168.1.2 связывается с Apache на сервере A
через туннель B
, apache должен регистрировать ip 192.168.1.2, а НЕ 192.168.1.100
Чтобы еще больше усложнить задачу, что, если мне нужно больше серверов, например B
.
Как-то сервер A
всегда должен знать IP-адрес настоящего посетителя, независимо от того, какой сервер B
он подключается из. Все это нужно делать на уровне сети / ОС. (Имеется в виду: не нужно настраивать каждый программный сервер с брандмауэром Proxy Socks или чем-то подобным)
Я новичок в туннелировании и работе в сети в целом, и меня очень смущает, какой тип туннелей нужен для этого на сервере Windows (VPN, GRE, IPSEC?). Что я должен искать? И возможно ли иметь серверы B
в Linux подключен к серверу A
в Windows очень совместимым образом? Я читал на этом сайте, что это было возможно в теории, но очень сложно на практике.
Мы будем очень благодарны за любые комментарии по этому поводу.
Исходя из вашего объяснения, похоже, что вы, скорее всего, ищете обратный прокси / балансировщик нагрузки. Это будет находиться в вашем местоположении "B", и трафик может передаваться на ваш сервер (ы) A. Прокси-сервер может быть развернут в режиме маршрутизации или в режиме уровня 2. В любом случае, чтобы убедиться, что вы регистрируете исходный IP-адрес, вы хотите, чтобы заголовки x-forwarded-for отправлялись с вашего прокси.
Вы можете установить бесплатные прокси-программные продукты или такие устройства, как KEMP, Netscaler и т. Д.