Зеркалирование ip

tooshkan4uk

Участник
Сообщения
455
Реакции
446
Недавно приходилось пользоваться услугами одного хостинга, в котором была услуга "Точки доступа". Суть в том, что игровой сервер доступен с двух ip адресов, каждый из которых расположен на разных локациях. Эта услуга действительно помогла и те, у кого по одному ip адресу пинг был 90-100, то при подключении через другой ip пинг был 30-40 и все смогли играть на сервере с одинаково низким для себя пингом .
Хотелось бы узнать, как можно реализовать такую вещь используя свои сервера? Насколько (примерно) можно снизить пинг для жителя Европы, если один vds будет расположен расположен в Москве, а второй в Германии? Какие затраты, помимо аренды vds, потребуются дополнительно?
Вопрос в большей части касается CS:S, однако это всё можно реализовать и в других играх.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
Re: Точки доступа

tooshkan4uk, насколько я знаю в сервер втыкается 2 канала разных провайдеров.
 

tooshkan4uk

Участник
Сообщения
455
Реакции
446
Re: Точки доступа

tooshkan4uk, насколько я знаю в сервер втыкается 2 канала разных провайдеров.

Ну в данном случае 2 точками доступа были Mnogobyte и Fiord. Так что есть небольшие сомнения по поводу твоего варианта
 

BMW M6

Участник
Сообщения
1,217
Реакции
534
Re: Точки доступа

Я Вас понял.
Будет достаточно обычной ВПС вроде.
Вроде это зеркалирование ip.
Допустим у нас машина стоит в МСК, покупаем ВПС в НСК и настраиваем прямой маршрут. Пинг будет минимальным от 1 до 15. Коротко говоря создаётся прямой маршрут.
В том году видел где то статью как это делается, найду скину.
 

tooshkan4uk

Участник
Сообщения
455
Реакции
446
Re: Точки доступа

Допустим у нас машина стоит в МСК, покупаем ВПС в НСК и настраиваем прямой маршрут. Пинг будет минимальным от 1 до 15. Коротко говоря создаётся прямой маршрут.
В том году видел где то статью как это делается, найду скину.
Да-да, именно так. Буду благодарен:)
 

Kirill Vasilchenko

Участник
Сообщения
8
Реакции
1
Последнее редактирование:

FallenAngell

Участник
Сообщения
24
Реакции
0
Re: Точки доступа

Как жаль что я от этого всего очень далек... Есть ли люди которые смогут настроить это?
 

ykpon

Владыка
Сообщения
675
Реакции
399
Re: Точки доступа

Ну в данном случае 2 точками доступа были Mnogobyte и Fiord. Так что есть небольшие сомнения по поводу твоего варианта
Зачем им делать зеркалирование? У них ведь одна точка обмена.
Не то конечно, но на мысль наталкивает http://habrahabr.ru/post/162539/

Хотя нет, вру, нашел - https://debian.pro/1578 - это прям по теме, а это - https://debian.pro/1513 - для любителей держать сервера дома без выделенного ip

Это обычный форвардинг трафика. Прямого канала между серверами не будет, если они не в одной сети, конечно.
 
Последнее редактирование:

tooshkan4uk

Участник
Сообщения
455
Реакции
446
Re: Точки доступа

До сих пор интересна эта штука с зеркалированием айпи. Как это реализуется? Вот например у сервачка сейчас появилась данная услуга
720x274-mirrors.jpg
 

tooshkan4uk

Участник
Сообщения
455
Реакции
446
Все-таки смог добыть некоторую информацию по поводу зеркалирования.
И так, нашел 2 способа:
Способ №1 (работает с игровыми хостингами):
- Скачиваем программу uproxy
- Извлекаем из архива и ставим на свой vds
- chmod +x uproxy
- ./uproxy порт айписервера порт
Способ №2 (не работает с игровыми хостингами)
- Находим на vds, который станет зеркалом файл sysctl.conf (обычно etc/sysctl.conf)
- В самый низ добавляем
C-подобный:
net.ipv4.ip_forward=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
- В терминале прописываем (на зеркале)
C-подобный:
iptables -t nat -A PREROUTING -p udp -m udp --dport ПОРТ -d АДРЕС-ПРОКСИ -j DNAT --to-destination АДРЕС-СЕРВЕРА:ПОРТ
iptables -t nat -A POSTROUTING -p udp -m udp --dport ПОРТ -j SNAT --to-source АДРЕС-ПРОКСИ
iptables -t filter -A INPUT -s АДРЕС-СЕРВЕРА -d АДРЕС-ПРОКСИ -j ACCEPT
iptables -t filter -A FORWARD -j DROP
iptables -t filter -A FORWARD -s АДРЕС-СЕРВЕРА/32 -j ACCEPT
iptables -t filter -A FORWARD -d АДРЕС-СЕРВЕРА/32 -j ACCEPT
- На vds, где стоит сервер, прописываем в терминале
C-подобный:
iptables -t filter -A INPUT -s АДРЕС-ПРОКСИ -d АДРЕС-СЕРВЕРА -j ACCEPT

Оба способа у меня работают, однако в status у игрока будет отображаться ip зеркала.
Кто знает, как сделать так, чтобы передавался реальный айпи игрока, прошу помощи.
Слышал, что-то про туннелирование, но я рак в этом и хотелось бы подробный гайд.
В идеале, если найдутся способы, которые помогут еще и взаимодействовать с игровыми хостингами, но тут уже и сам все понимаю.
Буду благодарен за любую помощь!
 

Вложения

  • uproxy.rar
    3.9 КБ · Просмотры: 126
Последнее редактирование:

CTe6eJIeK_vRn

Участник
Сообщения
2,114
Реакции
1,867
Способ 1.1
C-подобный:
socat UDP-LISTEN:27015,fork UDP:<SERVER_IP>:27015
Способ 2.2
/etc/sysctl.conf
C-подобный:
net.ipv4.ip_forward=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
iptables:
C-подобный:
iptables -t nat -A PREROUTING -p udp -m udp --dport 27015 -d <MIRROR_IP> -j DNAT --to-destination <SERVER_IP>:27015
iptables -t nat -A POSTROUTING -p udp -m udp --dport 27015 -j SNAT --to-source <MIRROR_IP>
Со стороны игрового хостинга, делать ничего не надо
 
Последнее редактирование:

Yura7181

Участник
Сообщения
678
Реакции
594
Способ 1.1
C-подобный:
socat UDP-LISTEN:27015,fork UDP:<SERVER_IP>:27015
Способ 2.2
/etc/sysctl.conf
C-подобный:
net.ipv4.ip_forward=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
iptables:
C-подобный:
iptables -t nat -A PREROUTING -p udp -m udp --dport 27015 -d <MIRROR_IP> -j DNAT --to-destination <SERVER_IP>:27015
iptables -t nat -A POSTROUTING -p udp -m udp --dport 27015 -j SNAT --to-source <MIRROR_IP>
Со стороны игрового хостинга, делать ничего не надо
А смысл если в интернете зеркало не видно? В избранном появляется, а в интернете нет.
 

MaZa

Участник
Сообщения
1,732
Реакции
980
А смысл если в интернете зеркало не видно? В избранном появляется, а в интернете нет.
Если комбинировать с подменой A2S то будет работать все как надо, я думаю

A2S можно регулировать двумя вариантами
Расширением в момент отправки пакетов либо внешним скриптом/программой пакеты сервера менять
 

Сергей68

Неуместный юмор
Сообщения
420
Реакции
377
@xMaZax, даже если as2_info пропатчить, онлайн будет отображаться лишь локально после недавних изменений. У меня так сделано раньше было, теперь онлайн только в избранном показывает а в вкладке Интернет по нулям.

кстати именно такой плагин-расширение продает зарубежный тип "fake online".
 

MaZa

Участник
Сообщения
1,732
Реакции
980
@xMaZax, даже если as2_info пропатчить, онлайн будет отображаться лишь локально после недавних изменений. У меня так сделано раньше было, теперь онлайн только в избранном показывает а в вкладке Интернет по нулям.

кстати именно такой плагин-расширение продает зарубежный тип "fake online".
Ну так я думаю, подкорректировать "патч" надо под новые правила валв)
 
Сверху Снизу