Просто запустите команду
ssh -L 25565:minecraftserverIp:25565 user@remotelinuxbox
Затем добавьте сервер к вашему клиенту minecraft localhost: 25565
Это позволит вам подключиться к удаленному серверу Minecraft через туннель SSH.
Я хочу сыграть в игру с портом 25565 (майнкрафт!), Но мой университетский брандмауэр не позволяет этот порт.
У меня есть выделенный сервер под управлением Linux, который расположен не слишком далеко от универа, поэтому я думаю, что есть способ туннелировать через него (но я никогда не делал этого раньше и не имею знаний / опыта туннелирования)
Возможно, это будет медленно, но лучше, чем вообще не играть. Можно ли использовать только SSH или мне нужно другое клиент / серверное программное обеспечение? На моем сервере установлен OpenSSH. Кроме того, компьютер, на котором я играю, работает под управлением Ubuntu.
Я пробовал искать, но кажется, что есть много разных решений для разных типов проблем = /
Просто запустите команду
ssh -L 25565:minecraftserverIp:25565 user@remotelinuxbox
Затем добавьте сервер к вашему клиенту minecraft localhost: 25565
Это позволит вам подключиться к удаленному серверу Minecraft через туннель SSH.
Для облегчения понимания туннельных механизмов посмотрите эти эскизы. Компьютер, на котором набрана команда ssh tunnel, называется « ваш хост» .
местный: -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
компьютера.
дистанционный пульт: -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
Ваш выделенный сервер работает линукс не слишком далеко от универа . Это farawayhost
заблокированный сервер Minecraft, к которому вы хотите подключиться через свой розовый порт 25565
.
ssh -L 12345:minecraftServerIP:25565 dedicatedServer
Номер порта зеленого порта есть 12345
. Теперь вы можете получить доступ к серверу Minecraft, подключившись к
localhost:12345
Конечно, вы можете изменить номер зеленого порта 12345
на любой другой.
Самый простой способ - использовать putty (Client Side APP). Вам не нужно ничего на удаленной стороне, кроме правил брандмауэра, чтобы разрешить исходящие соединения
Настроить:
Это создаст туннель на порту 25565 локально к любому месту назначения на удаленном сайте. Это также предполагает, что вы можете туннелировать соединение с Minecraft (вам может потребоваться установить настройки IE для использования туннеля SSH, так как игры иногда используют это, если не могут получить соединение)
Если вы не можете туннелировать Minecraft по умолчанию, используйте приложение, такое как прокси-кеп, для принудительного подключения всех проходящих соединений через туннель.
Попробуйте http-туннель . Просто зайдите в Настройки> Добавить порты / Приложения и введите IP-адрес сервера и порт приложения (обычно 25565), затем нажмите ОК и попробуйте запустить minecraft.
Вы можете изменить порт, на котором работает Minecraft, поэтому просто установите его на 22 (потому что они не заблокировали SSH), и вы сможете играть, указав порт на каждом клиенте.
Windows users, skip down a bit to the 'under windows' heading.
Linux (or UNIX) Users
Install a SSH client of some kind (rather obvious)
Make the following bash (or plain ol' sh) script:
#! /bin/bash
ssh -nfN -D 8080 "<your-ip-or-url-here>"
sleep 8
java -jar \
"/path/to/launcher-for-minecraft.jar"
You can change how long it 'sleeps' (to make sure that the ssh connection has been initialized) manually if you want. anything else can be changed too.
**follow the steps under the 'Steps to configure minecraft to use this tunnel' heading, and then run the script!
.
Windows Users
Using PuTTY, I go under 'connection' and allow TCP keep-alives, also setting the number of seconds between keep-alives to 6.
I then go down to 'SSH -> tunnels' and add a dynamic forwarded port for 8080. This is necessary as well as 25565. To accomplish this, do the following:
Enter 8080
for the 'source port', and 8080
for the 'destination port'. do NOT prefix the destination port with `localhost:'.
I also manually added port 25565. This one should be a 'local' forward, not a 'dynamic' forward.
To accomplish this, do the following:
enter 25565
as the source port, and localhost:25565
as the destination port. Select the local
radio button (then hit add
).
.
Steps to configure minecraft to use this tunnel
In the new minecraft launcher, edit your profile (use the aptly named edit profile
button) or make a new one for tunneling (new profile
) and click the checkbox next to JVM Arguments
. In the box that is no longer greyed out, add the following string to the argument already there (should be -Xmx1G
):
-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8080
Now, the arguments will look like this:
-Xmx1G -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8080
Click Save Profile
.
Save your pUTTY session settings.
I initially learned how to do this by determining what this shellscript (https://gist.github.com/EspadaV8/1088594) did, and copying that functionality into pUTTY's settings.
The other answers didn't completely solve the problem, because they failed to realize that java doesn't follow the global windows proxy settings. My answer makes use of the little-known -DsocksProxyHost
and -DsocksProxyPort
arguments provided at initialization. For a http proxy or SSL proxy, use -DhttpProxyHost
and -DhttpProxyPort
options, or -DhttpsProxyHost
and -DhttpsProxyPort
arguments, respectively. I can confirm personal success using this method behind a proxy and a firewall :D