Гость
Map
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Проксирование / 25 сообщений из 50, страница 1 из 2
12.12.2020, 22:52
    #40027286
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
Всем доброго добра!

В двух словах объясню задачу и свои мысли. Есть 2 сервера в разных локациях.
Один сервер (Srv1) в США, например, второй в России (Srv2).

Задача в том, чтобы скрыть IP (Srv1) от клиентов и делать вид будто всё на Srv2 :)

Пробросить всё через iptables затея не плохая, но есть момент. Srv1 то будет видеть запросы от IP Srv2, а не клиентов и соответственно логировать его же IP :)

Сервисы на Srv1 (http, https) поднятые на nginx. Возможно можно сделать на Srv2 проксирование средствами nginx и передавать IP клиента в каком-нибудь заголовке чтобы его можно было логировать и на Srv1.

Кто-то может делал что-то подобное
...
Рейтинг: 0 / 0
12.12.2020, 23:13
    #40027291
НеофитSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
FreeAdman
Всем доброго добра!

В двух словах объясню задачу и свои мысли. Есть 2 сервера в разных локациях.
Один сервер (Srv1) в США, например, второй в России (Srv2).

Задача в том, чтобы скрыть IP (Srv1) от клиентов и делать вид будто всё на Srv2 :)

Пробросить всё через iptables затея не плохая, но есть момент. Srv1 то будет видеть запросы от IP Srv2, а не клиентов и соответственно логировать его же IP :)

Сервисы на Srv1 (http, https) поднятые на nginx. Возможно можно сделать на Srv2 проксирование средствами nginx и передавать IP клиента в каком-нибудь заголовке чтобы его можно было логировать и на Srv1.

Кто-то может делал что-то подобное


Если бы оба сервера были в РФ, вам пришлось бы их пытаться объединять показывая как один?
Если нет, то дайте Srv1 российский IP адрес через VPN, и все дела.

Сыграть "у меня один сервер, а не два" с высокой степенью убедительности непросто, т.к. клиент может опрашивать параметры серверов и искать различия в конфигурации, платформе, пэтчах, и т.д. В конце концов DOSнуть первый, и заметить что второй не упал.
...
Рейтинг: 0 / 0
12.12.2020, 23:21
    #40027294
OoCc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
FreeAdman
Всем доброго добра!

В двух словах объясню задачу и свои мысли. Есть 2 сервера в разных локациях.
Один сервер (Srv1) в США, например, второй в России (Srv2).

Задача в том, чтобы скрыть IP (Srv1) от клиентов и делать вид будто всё на Srv2 :)

Пробросить всё через iptables затея не плохая, но есть момент. Srv1 то будет видеть запросы от IP Srv2, а не клиентов и соответственно логировать его же IP :)

Сервисы на Srv1 (http, https) поднятые на nginx. Возможно можно сделать на Srv2 проксирование средствами nginx и передавать IP клиента в каком-нибудь заголовке чтобы его можно было логировать и на Srv1.

Кто-то может делал что-то подобное

Это называется reverse proxy . Srv1 может быть смаппирован в Srv2 на заданный путь.
...
Рейтинг: 0 / 0
12.12.2020, 23:21
    #40027295
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
НеофитSQL,

А зачем играть?
Домену в DNS прописывается IP Srv2 и всё, о чём вы?

А вот как VPN работает я не очень понимаю, но видимо годный вариант. Тогда, получается, Srv2 будет как шлюз??? И Srv1 будет видеть запросы от клиентов, а не от Srv2, так получается?
...
Рейтинг: 0 / 0
12.12.2020, 23:26
    #40027296
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
OoCc,

Код: sql
1.
2.
3.
4.
5.
location /some/path/ {
    proxy_set_header Host $host;
>>> proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://localhost:8000;
}



Вот. Фишка в том, что на другом сервере nginx с апачем, поэтому там свой X-Real-IP передаётся непосредственно на апач.
Вот и вопрос, применит ли nginx на сервере srv1 пришедший "X-Real-IP" или всё-таки подставит в него IP от Srv2 ?
...
Рейтинг: 0 / 0
12.12.2020, 23:40
    #40027300
OoCc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
FreeAdman
OoCc,

Код: sql
1.
2.
3.
4.
5.
location /some/path/ {
    proxy_set_header Host $host;
>>> proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://localhost:8000;
}



Вот. Фишка в том, что на другом сервере nginx с апачем, поэтому там свой X-Real-IP передаётся непосредственно на апач.
Вот и вопрос, применит ли nginx на сервере srv1 пришедший "X-Real-IP" или всё-таки подставит в него IP от Srv2 ?

Нужно смотркть код nginx Теоретически количество ревёрс прохи на пути ничем не ограничено и может быть больше одной, например может быть добавлен load balanser. Так что X-Real-IP не должен переписываться. Это моё предположение, нужно смотреть код.
...
Рейтинг: 0 / 0
12.12.2020, 23:42
    #40027301
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
НеофитSQL

Сыграть "у меня один сервер, а не два" с высокой степенью убедительности непросто, т.к. клиент может опрашивать параметры серверов и искать различия в конфигурации, платформе, пэтчах, и т.д. В конце концов DOSнуть первый, и заметить что второй не упал.


Клиенты тупорылые у нас, никто такого делать не будет. У нас чисто женские необоснованные визги из-за локации. Ибо остальные локации - "вражины" родины.

А можете пнуть по ориентиру как левому серверу дать IP другого через VPN? Я примерно догадываюсь поверхностно и всё же пока не понимаю.
...
Рейтинг: 0 / 0
12.12.2020, 23:45
    #40027302
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
OoCc

Теоретически количество ревёрс прохи на пути ничем не ограничено и может быть больше одной, например может быть добавлен load balanser. Так что X-Real-IP не должен переписываться. Это моё предположение, нужно смотреть код.


Если в конфигурации nginx можно поставить " * " для переадресации всех, а не прописывать каждый домен вручную, то возможно не плохой вариант
...
Рейтинг: 0 / 0
12.12.2020, 23:51
    #40027305
НеофитSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
FreeAdman
НеофитSQL,

А зачем играть?
Домену в DNS прописывается IP Srv2 и всё, о чём вы?


ранее..> Задача в том, чтобы скрыть IP (Srv1) от клиентов и делать вид будто всё на Srv2 :)

Я написал, что "скрыть" можно от простаков. Кто умный, заметит что это два сервера, и не только по IP
Поэтому я уточнил - вам важно замаскировать расположение сервера в другой стране, или наличие двух разномастных серверов?

Первое довольно просто, тогда у вас будут Sr1 и Srv2 правдоподобно выглядеть как если они в одной стране. Не забудьте часовой пояс отрегулировать, и региональные настройки :)

Второе - сложно. Я смогу определить, что на мои запросы к вашему http:// или https:// отвечают два разных веб сервера.

Если вам ни то ни другое, а просто надо чтобы некоторые из URL ( http://company/ datamine ) мапились на второй сервер, так для этого редирект есть. https://developer.mozilla.org/ru/docs/Web/HTTP/Redirections

> А вот как VPN работает я не очень понимаю

В вашем случае, VPN будет выполнять роль очень длинного сетевого провода через океан, чтобы дотянуться до местного датацентра.
...
Рейтинг: 0 / 0
12.12.2020, 23:58
    #40027311
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
НеофитSQL, видимо я не совсем правильно написал мысль.
Есть домен клиента, и он должен висеть на Российском IP. Всё :)
А сервер у нас в США с IP омерики, вот и всё дело. Поэтому я думаю просто сделать проксирование с российского сервера на второй для решения задачи, и домен соответственно посадить на IP российского сервера.
Женщины вечно всё раздувают до размеров слона.
...
Рейтинг: 0 / 0
13.12.2020, 00:00
    #40027312
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
Основная сложность это в том, что nginx будет логировать запросы с другого сервера, а не запросы клиентов, а хотелось бы вести обычный лог запросов на http :)
...
Рейтинг: 0 / 0
13.12.2020, 00:04
    #40027313
НеофитSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
FreeAdman
НеофитSQL

Сыграть "у меня один сервер, а не два" с высокой степенью убедительности непросто, т.к. клиент может опрашивать параметры серверов и искать различия в конфигурации, платформе, пэтчах, и т.д. В конце концов DOSнуть первый, и заметить что второй не упал.


Клиенты тупорылые у нас, никто такого делать не будет. У нас чисто женские необоснованные визги из-за локации. Ибо остальные локации - "вражины" родины.

А можете пнуть по ориентиру как левому серверу дать IP другого через VPN? Я примерно догадываюсь поверхностно и всё же пока не понимаю.


Это не будет IP другого сервера, это будет IP по соседству.
Я не знаком с упомянутым ngix, но концепции у VPN везде похожи.
На местном рутере конфигурируется VPN сервер, самый дешевый DLINK это умеет. Если нет доступа к сетевому оборудованию, можно VPN сервер сконфигурировать в большинстве ОС. Напр, на Винде: https://docs.microsoft.com/ru-ru/windows-server/remote/remote-access/vpn/always-on-vpn/deploy/vpn-deploy-ras

Когда VPN север настроен и готов к звонкам, вражеский сервер к нему обращается с заранее условленным паролем, получает от него новый российский IP и поднимает новый сетевой интерфейс - виртуальную сетевую карту. Все эти шаги практически неотличимы от интернета по телефону с модемом - помните такой?

Есть полно вариаций. Например, если у вас есть рабочий контакт с обоими датацентрами, вы можете просто попросить чтобы вам в США оформили физический провод, который "напрямик" соединен с родиной-матерью. Многие это называют экстранет.
...
Рейтинг: 0 / 0
13.12.2020, 00:09
    #40027315
НеофитSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
FreeAdman
Основная сложность это в том, что nginx будет логировать запросы с другого сервера, а не запросы клиентов, а хотелось бы вести обычный лог запросов на http :)


Вы уверены, или предполагаете? В HTTP 1.1 клиент сообщает свой "настоящий адрес", поэтому у веб сервера есть возможность логить настоящие адреса клиентов. Это популярная проблема, т.к. клиенты часто сидят за NAT, и она решена у многих веб серверов.

https://campus.barracuda.com/product/webapplicationfirewall/doc/4259905/logging-actual-client-ip-address-on-the-apache-server/

Умеет ли это nginx, я не знаю.
...
Рейтинг: 0 / 0
13.12.2020, 00:18
    #40027318
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
Надо экспериментировать :)
...
Рейтинг: 0 / 0
13.12.2020, 01:23
    #40027340
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
FreeAdmanЕсть домен клиента, и он должен висеть на Российском IP. Всё :)
А сервер у нас в США с IP омерики, вот и всё дело.

Если ты хочешь чтобы реальный сервер видел реальные адреса клиентов, тебе надо настраивать
DNAT/SNAT, но тогда он потеряет возможность обрабатывать запросы напрямую.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.12.2020, 12:01
    #40027375
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
FreeAdman
проксирование средствами nginx

Dimitry Sibiryakov
Если ты хочешь чтобы реальный сервер видел реальные адреса клиентов, тебе надо настраивать DNAT/SNAT, но тогда он потеряет возможность обрабатывать запросы напрямую.
Почему внедрение НАТа отключит локальный nginx? Критерием срабатывания правил файрвола может быть не только адрес источника или айпи:порт назначения... есть время, частота запросов, доступность адреса назначения и т.п. Знай рулить успевай, куда пакеты швырять локально или в забугорье. Если конечные юзеры итак за НАТом, то одним НАТом больше, одним меньше - не велика разница.
...
Рейтинг: 0 / 0
13.12.2020, 13:25
    #40027395
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
Ivan_PisarevskyПочему внедрение НАТа отключит локальный nginx?

Локальный - не отключит. Я говорил об удалённом, американском. Ему все пакеты надо слать
на российский прокси. Такое правило их маршрутизации, чтобы он ещё мог отвечать и напрямую
у меня в голову не приходит.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.12.2020, 13:50
    #40027401
OoCc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
FreeAdman
OoCc

Теоретически количество ревёрс прохи на пути ничем не ограничено и может быть больше одной, например может быть добавлен load balanser. Так что X-Real-IP не должен переписываться. Это моё предположение, нужно смотреть код.


Если в конфигурации nginx можно поставить " * " для переадресации всех, а не прописывать каждый домен вручную, то возможно не плохой вариант

Ты хочешь всю Америку смаппировать на Россию? Глобально мыслишь, одобряю. Идеальное импортозамещение.
...
Рейтинг: 0 / 0
13.12.2020, 13:59
    #40027402
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
Попробовал проксирование через nginx.

Заголовки X-Real-IP, X-Forwarded-For не воспринимаются на втором nginx. X-Real-IP - по идее и не должен работать в такой схеме.

Как вариант лог вести на русском сервере средствами nginx.

Пробовал проброс через iptables - работает замечательно! Думал, логирование сделать с помощью ULOG, но удобно когда в логе есть и запрашиваемый URL
...
Рейтинг: 0 / 0
13.12.2020, 15:26
    #40027426
tip78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
FreeAdman
Женщины вечно всё раздувают до размеров слона.

а зачем у вас женщины-домохозяйки решают айтишные вопросы?
FreeAdman
Основная сложность это в том, что nginx будет логировать запросы с другого сервера, а не запросы клиентов, а хотелось бы вести обычный лог запросов на http :)

nginx может тупо перекидывать запросы вдаль без изменений
называется proxy_pass
...
Рейтинг: 0 / 0
13.12.2020, 15:26
    #40027427
tip78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
глюки форума
...
Рейтинг: 0 / 0
13.12.2020, 15:42
    #40027432
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
tip78
а зачем у вас женщины-домохозяйки решают айтишные вопросы?

Это вам так показалось. Если бы не читали между строк, то логически бы поняли, что женщина - клиент которая брезгует чужими локациями.

tip78
nginx может тупо перекидывать запросы вдаль без изменений
называется proxy_pass


Прокси по сути своей не может выдавать себя за клиента полноценно. Пихать IP клиента в заголовках - да, но запрос будет от сервера, а не от клиента за ним.

Похоже, что логирование буду вести на прокси-сервере
...
Рейтинг: 0 / 0
13.12.2020, 16:37
    #40027445
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
FreeAdmanлогически бы поняли, что женщина - клиент которая брезгует чужими локациями.

А откуда этот клиент знает локацию?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.12.2020, 17:04
    #40027451
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
Dimitry Sibiryakov
FreeAdmanлогически бы поняли, что женщина - клиент которая брезгует чужими локациями.

А откуда этот клиент знает локацию?

Вопрос хороший и любопытный :)
Возможно проверили страну IP к которому был привязан домен. У клиента стоит Джумла, возможно там может модуль какой-то стоит, например погоду местную определяет и палится, я не знаю =)))

Если модуль какой извне запрашивает что-то, то вариант с nginx proxy не проканает в данном случае, VPN только чтобы обмануть качественно :)
...
Рейтинг: 0 / 0
13.12.2020, 17:32
    #40027454
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проксирование
Когда человек обосновано хочет конкретную локацию - это одно. Когда тётя из принципов боится "ахрессора компрессора карбюратора нападатора" - это немножко другое ;)
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Проксирование / 25 сообщений из 50, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]