Настройка прокси/vpn для Minecraft

Настройка прокси/vpn для Minecraft

У меня есть сервер, к которому я хочу, чтобы студенты моего университета могли получить доступ. Однако по какой-то причине университетская сеть разрывает соединение, и поскольку это развлекательный сервис, хотя и не запрещен, администраторы не будут тратить время на решение этой проблемы.

Мне удалось заставить его работать с Hamachi и OpenVPN (безопасным способом с помощью iptables, так что доступен только порт Minecraft, и только IP-адрес сервера маршрутизируется через VPN), однако оба варианта требуют от пользователей установки дополнительного программного обеспечения и создают дополнительную нагрузку на мой сервер из-за шифрования всего...

Поэтому я ищу вариант, который не требует дополнительного программного обеспечения и в идеале создает минимальную дополнительную нагрузку на сервер.

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

Я определенно не хочу, чтобы мой сервер был прокси для чего-либо еще, например, других серверов Minecraft, обновлений Minecraft и т. д.

Я видел информацию о прокси-серверах socks/ssh, но они, похоже, пытаются туннелировать все, что делает пользователь, и я не вижу способа защитить их от брандмауэра на моем сервере (например, они не создают интерфейс вроде ham0 или tun0).

решение1

Пользователи не могут избежать необходимости установки приложения на свои ПК в качестве клиентов для подключения к туннелю.

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

Я пока не знаю ни одного инструмента, который позволял бы сделать это в Linux, но я и сам не более чем случайный пользователь Linux.

решение2

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

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

Все, что вам нужно сделать, это настроить маршрутизатор на NAT (строго говоря, это PAT, Port Address Translation). Со стороны Интернета вам нужно разрешить известный порт. 8080 может подойти, хотя в действительно строгих сетях вам могут быть разрешены только 80 и 443. Со стороны локальной сети вам нужно настроить IP-адрес ПК и порт Minecraft. Теперь у вас есть связь между вашим публичным IP-адресом и выбранным портом, а также частным IP-адресом и другим портом. Маршрутизатор позаботится обо всем.

Пользователям университетской сети необходимо настроить Minecraft для подключения к вашему публичному IP-адресу с помощью публичного порта, например,

publicaddress:8080

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

ОБНОВЛЯТЬ:

Из ваших комментариев вы выяснили, что пользователи университета МОГУТ подключаться к вашему серверу, но затем их сеансы обрываются некоторое время спустя. Этого не происходит при подключении через VPN. Это может означать, что служба фильтрации университета маркирует трафик и что-то делает с соединениями.

Поэтому VPN — лучшая альтернатива. Проверьте документацию вашего маршрутизатора, чтобы узнать, будет ли он работать как конечная точка VPN. Если он поддерживает что-то вроде PPTP, то вы можете настроить его и дать людям инструкции по настройке PPTP VPN с их машин.

Если ваш маршрутизатор не может этого сделать, у вас не так много вариантов. Либо внешний (вероятно, платный) VPN-сервис, либо машина в вашей локальной сети, которая действует как VPN-сервер. @safjrz упомянул FreeSSHd, есть также WinSSHd, который я много использовал в прошлом для аналогичных целей. Пользователи могут запустить WinSSHd для создания исходящих VPN на основе SSH, они подключаются к SSH-серверу в вашей сети, который также может быть из WinSSHd, если вы используете ПК с Windows, или напрямую через SSH, если используете Linux.

Связанный контент