3

Я создаю новый VPN-сервис, который позволит игрокам в Crysis 1, Crysis Wars и Crysis 2 продолжать играть после закрытия многопользовательской онлайн-игры в конце этого месяца.

Целью этой услуги VPN является предоставление частной локальной сети, где игроки могут подключаться к VPN и просматривать список серверов локальной сети для подключения к серверам (очевидно, что серверы также должны быть подключены к VPN).

Вот в чем проблема; Я только хочу, чтобы VPN-сервер поддерживал эту серверную сеть и не разрешал людям доступ к Интернету. Это потому, что если они загружают торренты, смотрят видео и т.д., Это замедляет работу VPN-сервера. Очевидно, я могу просто заблокировать любой доступ к сети, но, к сожалению, большинству игроков нравится просматривать Интернет, проигрывать музыку на YouTube и т.д. Во время игры.

Можно ли в Windows разрешить только играм и серверам использовать VPN, в то же время заставляя пользователей обходить VPN для других интернет-коммуникаций? Существует ли какое-либо правило брандмауэра Windows, которое можно применить для создания такого поведения? Я только хочу, чтобы игровые серверы и игры использовали VPN-сервер.

Если это невозможно, возможно ли это программно? C++ и Lua могут быть использованы только для этого.

VPN работает на Linux.

6 ответов6

1

Для этого есть два простых подхода: ужасно небезопасный PPTP от Microsoft и OpenVPN.

PPTP встроен в Windows и не требует загрузки для ваших игроков. Загвоздка в том, что обмен данными не будет безопасным - выделенный злоумышленник сможет проникнуть в потоки данных, потому что существуют недостатки в шифровании, используемом PPTP. Поскольку это игровой сервис с небольшим проигрышем (кроме нескольких многопользовательских матчей), это может быть приемлемым риском, но вы не совсем понимаете, как все компоненты сочетаются друг с другом, и что является "приемлемым". Вы захотите установить службу pptpd на ваш linux-бокс и настроить ее оттуда. После установки он будет принимать подключения от любого, кто имеет правильную пару имя пользователя / пароль.

OpenVPN немного тяжелее, но обеспечит полную безопасность. Это может быть независимо загружено и установлено. Настройка этого сервиса выходит за рамки вопроса - он немного сложен. Достаточно сказать, что это потребует не только загрузки и установки клиента для ваших игроков, но и, возможно, обмена файлом сертификата SSL. Это обеспечит разумную безопасность, и задержка не будет слишком ужасной, так что это хорошее решение, если вам нужна хорошая безопасность.

Что касается доступа в интернет, iptables и маршрутизация не позволят игрокам получить внешний доступ. По сути, вы должны создать подсеть на сетевом порту, у которого заблокирован весь трафик и который пытается выйти из подсети. Это не позволит игрокам превратить ваш сервер в своего частного провайдера / роутера.

Наконец, Windows должна быть достаточно умной, чтобы направлять пакеты в соответствующую сеть. На практике это означает, что любые пакеты, предназначенные для вашего игрового сервера, будут проходить по каналу VPN, а все остальное будет выходить из "обычного" соединения. Так что, если вы настроите это правильно, и ваши игроки настроены правильно, это не будет иметь значения.

Для простоты я бы порекомендовал версию PPTP, немного повысил вашу безопасность и просто следил за журналами доступа. Возможно, вы захотите включить собственный скрипт fail2ban чтобы атаки по словарю против PPTP привели к блокировке.

1

Поэтому я бы использовал Tunggle, потому что он очень стабилен и прост в настройке. Вы также можете настроить частные сети. Проверьте это на http://www.tunngle.net

1

Я рекомендую использовать OpenVPN. В конфигурации клиента есть опция «redirect-gateway», которая, если она включена, будет перенаправлять трафик с клиента через ваш VPN. Вы, очевидно, не захотите эту опцию в конфигурациях OpenVPN, которые есть у ваших клиентов. На стороне сервера вы можете использовать "iptables" для предотвращения доступа клиентов к Интернету через VPN. Эта ссылка содержит информацию о том, как настроить OpenVPN, и в разделе, озаглавленном "Настройка клиентских правил и политик доступа", содержит руководство по предоставлению пользователям ограниченного доступа к сети. В вашем классе вы, вероятно, захотите отбросить по умолчанию и пересылать пакеты только на серверы Crysis.

1

Я понимаю, что VPN размещается на Linux и Crysis на Windows. Поэтому вся связь VPN идет через сервер Linux.

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

Вы контролируете исходящие порты и контролируете, какие услуги доступны через VPN. Пользователи, желающие использовать недоступные сервисы, должны будут использовать Интернет напрямую, а не через VPN. Это возможно для них, манипулируя их таблицами маршрутов.

0

Решение этой проблемы можно найти здесь. Для этого может быть установлен установщик, который изменяет правила брандмауэра.

Подключитесь к своему VPN, как обычно.

Откройте Центр управления сетями и общим доступом - щелкните правой кнопкой мыши значок подключения к Интернету на панели задач и выберите "Открыть Центр управления сетями и общим доступом" (см. Ниже).

Вы должны увидеть (как минимум) две сети, перечисленные в разделе "Просмотр ваших активных сетей" - ваше VPN-подключение и одну, называемую "Сеть" - также называемое вашим ISP-подключением. Убедитесь, что ваш VPN является "Публичной сетью", а соединение с провайдером - "Домашней сетью". Если вам нужно изменить какое-либо соединение, щелкните по нему, и появится окно параметров (см. Ниже).

Перейдите в Панель управления и нажмите Система и безопасность (см. Ниже).

В появившемся окне нажмите Брандмауэр Windows (см. Ниже).

В окне брандмауэра Windows нажмите "Дополнительные параметры" на левой панели (см. Ниже). Примечание. Вы должны войти в систему как администратор, чтобы внести изменения в настройки брандмауэра.

Вы должны увидеть окно с названием "Брандмауэр Windows в режиме повышенной безопасности". В этом окне нажмите Входящие правила (см. Ниже).

На правой панели вы увидите опцию для нового правила. Нажмите на нее (см. Ниже).

В мастере New Inbound Rule (который должен появиться) сделайте следующее:

Выберите Program и нажмите Next.

Выберите программу, для которой вы хотите заблокировать весь трафик, кроме как через VPN-соединение, и нажмите "Далее".

Выберите Заблокировать соединение.

Тик Домен и приват. Убедитесь, что Public не отмечен.

Повторите шаг 9 для исходящих правил.

-1

Если вы используете Linux и используете openVPN, VPNShift прекрасно работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .