5

Я хочу сыграть в игру с портом 25565 (майнкрафт!), Но мой университетский брандмауэр не разрешает этот порт.

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

Возможно, это будет медленно, но лучше, чем вообще не играть. Можно ли использовать только SSH или мне нужно другое клиент / серверное программное обеспечение? На моем сервере установлен OpenSSH. Кроме того, компьютер, на котором я играю, работает под управлением Ubuntu.

Я пробовал искать, но кажется, что есть много разных решений для разных типов проблем =/

6 ответов6

6

Просто запустите команду

ssh -L 25565:minecraftserverIp:25565 user@remotelinuxbox

Затем добавьте сервер к вашему клиенту minecraft localhost:25565

Это позволит вам подключиться к удаленному серверу Minecraft через туннель SSH.

4

Я нарисовал несколько эскизов

Для облегчения понимания туннельных механизмов посмотрите эти эскизы. Компьютер, на котором набрана команда ssh tunnel, называется « ваш хост».

SSH туннель, начиная с локального


SSH туннель, начиная с удаленного

Вступление

  1. local: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

    ssh -L sourcePort:forwardToHost:onPort connectToHost означает: соединиться с SSH к connectToHost и вперед все попытки подключения к локальной sourcePort к порту onPort на машине под названием forwardToHost которая может быть достигнута с машины connectToHost

  2. remote: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.

    ssh -R sourcePort:forwardToHost:onPort connectToHost означает: соединиться с SSH к connectToHost и вперед все попытки подключения к удаленному sourcePort к порту onPort на машине под названием forwardToHost которая может быть достигнута с локального компьютера.

Ваш пример

Второе изображение представляет ваш сценарий. remotehost - это ваш выделенный сервер под управлением Linux, расположенный недалеко от универа. farawayhost - это заблокированный сервер майнкрафт, к которому вы хотите подключиться через розовый порт 25565 .

 ssh -L 12345:minecraftServerIP:25565 dedicatedServer

Номер порта зеленого порта - 12345 . Теперь вы можете получить доступ к серверу Minecraft, подключившись к

localhost:12345

Конечно, вы можете изменить номер зеленого порта 12345 на любой другой.

1

Попробуйте http-туннель. Просто зайдите в Настройки> Добавить порты / Приложения и введите IP-адрес сервера и порт приложения (обычно 25565), затем нажмите ОК и попробуйте запустить minecraft.

1

Самый простой способ - использовать putty (Client Side APP). Вам не нужно ничего на удаленной стороне, кроме правил брандмауэра, чтобы разрешить исходящие соединения

Настроить:

  1. В рамках установки замазки новое соединение с вашей коробкой Unix.(Добавьте информацию о хосте и т.д., пока не подключайтесь)
  2. После того, как все это настроено, перейдите в Connection -> SSH -> Tunnels в представлении дерева замазок.
  3. Затем введите 25565 в порт источника и оставьте место назначения пустым.
  4. Наконец, выберите динамический в первом поле со списком.
  5. Убедитесь, что вы сохранили все, а затем, наконец, нажмите кнопку открытия

Это создаст туннель на порту 25565 локально к любому месту назначения на удаленном сайте. Это также предполагает, что вы можете туннелировать соединение с Minecraft (вам может потребоваться установить настройки IE для использования туннеля SSH, так как игры иногда используют это, если не могут получить соединение)

Если вы не можете туннелировать Minecraft по умолчанию, используйте приложение, такое как прокси-кеп, для принудительного подключения всех проходящих соединений через туннель.

0

Вы можете изменить порт, на котором работает Minecraft, так что просто установите его на 22 (потому что они не заблокировали SSH), и вы сможете играть, указав порт на каждом клиенте.

0

Пользователи Windows, немного перейдите к заголовку «под окнами».

  • Пользователи Linux (или UNIX)

    Установить какой-нибудь SSH-клиент (довольно очевидный)

    Сделайте следующий скрипт bash (или обычный старый):

#! /bin/bash

ssh -nfN -D 8080 "<your-ip-or-url-here>"

sleep 8

java -jar \

"/path/to/launcher-for-minecraft.jar"

При желании вы можете вручную изменить время ожидания (чтобы убедиться, что ssh-соединение было инициализировано). все остальное тоже можно изменить.

** следуйте инструкциям в разделе «Шаги по настройке Minecraft для использования этого туннеля», а затем запустите сценарий!

,

  • Пользователи Windows

    Используя PuTTY, я захожу в «соединение» и разрешаю TCP keep-alive, также устанавливая количество секунд между keep-alives равным 6.

    Затем я перехожу к «SSH -> tunnels» и добавляю динамический перенаправленный порт для 8080. Это необходимо, а также 25565. Для этого сделайте следующее:

    Введите 8080 для «исходного порта» и 8080 для «порта назначения». НЕ ставьте перед портом назначения префикс `localhost:'.

    Я также вручную добавил порт 25565. Это должен быть «локальный» форвард, а не «динамический» форвард.

    Для этого сделайте следующее:

    введите 25565 в качестве порта источника и localhost:25565 в качестве порта назначения. Выберите local переключатель (затем нажмите « add).

,

  • Шаги по настройке Minecraft для использования этого туннеля

    В новой панели запуска minecraft отредактируйте свой профиль (используйте метко названную кнопку edit profile) или создайте новый для туннелирования (new profile) и установите флажок рядом с JVM Arguments . В поле, которое больше не отображается серым цветом , добавьте следующую строку к аргументу, который уже существует (должен быть -Xmx1G):

    -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8080

    Теперь аргументы будут выглядеть так:

    -Xmx1G -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8080

    Нажмите Save Profile .

Сохраните настройки PUTTY.

  • С активным терминалом PUTTY (просто войдите в систему, и вам больше ничего не нужно делать) запустите Minecraft под профилем, который вы создали / отредактировали. Предполагая, что вы туннелируете на действительный хост (в моем случае, у меня есть Linux-компьютер, который не находится за таким драконовским брандмауэром), у вас теперь должен быть запущен мультиплеер Minecraft! Поздравляем!

Сначала я узнал, как это сделать, определив, что сделал этот шеллскрипт (https://gist.github.com/EspadaV8/1088594), и скопировав эту функциональность в настройки pUTTY.

Другие ответы не полностью решили проблему, потому что они не смогли понять, что Java не соответствует глобальным настройкам прокси-сервера Windows. Мой ответ использует малоизвестные аргументы -DsocksProxyHost и -DsocksProxyPort предоставленные при инициализации. Для http-прокси или SSL-прокси используйте параметры -DhttpProxyHost и -DhttpProxyPort или аргументы -DhttpsProxyHost и -DhttpsProxyPort соответственно. Я могу подтвердить личный успех, используя этот метод за прокси и брандмауэром:D

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