LINUX.ORG.RU
ФорумAdmin

Обучаюсь сетям. Как сконфигурировать прокси сервера для игрового сервера с сохранением айпи игроков?

 , , , ,


0

4

Здравствуйте! Дано: игровой сервер:

IP: 1.1.1.1, tcp порты эмулятора игры: 1000, 2000

Доступ к игровому серверу извне не должен присуствовать. Только через прокси сервера (о них ниже). Игровой сервер размещается на машине с 1 IP Прокси Сервера

Сервера которые будут работать как прокси (для уменьшения задержек в игре путем использования подключения к ним, заместо подключения на прямую к игровому серверу).

IP: 2.2.2.2 IP: 3.3.3.3 IP: 4.4.4.4 IP: 5.5.5.5

Задача

Необходимо сделать следующее как на изображении: http://i.imgur.com/wXG1Qxh.png

Другими словами, организовать прокси сервера в разных частях мира с разными айпи адресами. Если игрок выбирает прокси сервер, то он подключается к основному серверу через прокси сервер, при этом он сохраняет свой реальный айпи. + Игровой сервер нигде не должен светиться (айпи адрес игрового сервера). Важно

Я учусь осваивать сети. Нужна ваша помощь. Если кто-то понимает в этом, то я готов единоразово спонсировать вам пиво (на вебмани) за предоставления мне детальной информации как это осуществить в командах, и желательно с документацией что и для чего, что бы было хоть какое-то понимание.

P.S. пытался организовать GRE тунель, вроде бы все хорошо, но вот я туплю в том, как бы добавить еще туннелей к основному серверу с прокси.

P.P.S. еще возникает вопрос с тунелями, а именно какой айпишник выставлять серверу на подключение (в игровом сервере есть логин, и игровой сервера: порты 1000, 2000) Т.к. если выставлю айпи адрес игрового сервера (1.1.1.1) то игрок после логин сервера подключится к игровому серверу на айпи адрес 1.1.1.1, а не через прокси. (если смотреть через фаервол на ПК).

В общем спасибо! Надеюсь на помощь

может вместо proxy использовать haproxy? если конечно же речь идет только о tcp соединениях?

Nurmukh ★★★
()

Сервера которые будут работать как прокси (для уменьшения задержек в игре путем использования подключения к ним, заместо подключения на прямую к игровому серверу).

можно поподробнее?

t184256 ★★★★★
()

P.P.S. еще возникает вопрос с тунелями, а именно какой айпишник выставлять серверу на подключение

Заведи себе домен, пропиши в него ip'шники прокси, на основном сервере запрети коннекты с не-прокси-адресов, пользователям отдавай адреса по доменному имени. На прокси слушай тот порт, который идет в игре дефолтом.

Только у тебя ерунда получится, будут большие задержки, и это только верхушка айсберга.

И, да, игоря нинужны.

alozovskoy ★★★★★
()
Ответ на: комментарий от Nurmukh

если конечно же речь идет только о tcp соединениях?

там же игры. Скорее всего там таки udp

snaf ★★★★★
()

Если вам нужно чтобы игровой сервер видел IP игрока, а игрок не видел IP сервера, то прокси сервер в классическом понимании тут не причем, ибо заменяет IP игрока на свой собственный. Если же вы говорите о «прокси» в широком смысле, то мыслится туннель и простой port forward с «прокси сервера» до игрового сервера. Здесь, однако, возникает проблема с путем ответных пакетов от игрового сервера, т. к. по умолчанию они полетят не через «прокси», с которого пришел запрос, а через default gateway сервера. В OpenBSD packet filter (pf) это как-то можно преодолеть с помощью pass in on... reply-to, а как это в netfilter не знаю, не специалист и «symmetric routing enforcement» для него тоже плохо гуглится.

rubic
()
Ответ на: комментарий от rubic

В линуксах роутинг - это не задача netfilter, который по сути только фаерволл и нат. Вся маршрутизация настраивается утилитой ip, ТСу должно быть достаточно ip route и ip rule

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.