Я собираюсь предположить здесь, что вы собираетесь служить этому внутренне.Вы, конечно, не захотите подключать внешний игровой сервер к сети, к которой также принадлежит ваша семья.Предполагается, что Raspberry PI является внутренним без общедоступного IP-адреса или какого-либо другого способа адресации за пределами локальной сети.
На самом деле, вы, вероятно, можете предположить, что внутренняя сеть достаточно безопасна для несущественных внутренних служб, если физический и беспроводной доступ адекватно контролируется.Похоже, что minetest - игровой сервер, поэтому, если вы не объедините его с другими, куда более чувствительными задачами, не будет никаких серьезных последствий для несанкционированного доступа.
Но эта перспектива кажется немного наивной, не так ли?Если бы доступ был , то малиновый пи, вероятно, был бы скомпрометирован, и оттуда устройства IoT в доме, другие частные службы и т. Д. Также подвергались риску.Так что, возможно, вы просто слишком параноидальны / опытны / добродетельны, чтобы оставить все как есть.
Если это так, мы, вероятно, можем предположить, что само соединение не поддерживает много способов шифрования, но, вероятно, мы можем успешно туннелировать соединение любым количеством способов, чтобы добавить слой шифрования «между».клиент и сервер.
Простейшим из них, вероятно, является ssh.Возможно, вы уже используете его для управления своим Raspberry Pi, а если нет, возможно, вы захотите (мне, например, нужно скопировать / вставить между web и терминалом, и я не хочу запускать gui на pi!).SSH предлагает гораздо более высокий стандарт безопасности, чем большинство протоколов.
Концептуально, вы запускаете ssh-клиент локально на игровом клиенте, настроенном для открытия локального порта на игровом клиенте, и перенаправляете полученный пакет с этого порта на удаленный порт на ssh-сервере.Удаленный порт не должен быть доступен в сети напрямую, только ssh (игровой сервер будет прослушивать localhost).Туннель ssh использует надежные методы шифрования для передачи трафика по недоверенной сети (вашей или, возможно, любой сети для некоторого трафика).
Процесс, когда он будет реализован, будет выглядеть примерно так:
- активировать ssh-сервер на pi, если это еще не сделано,
- получить ssh-клиент для игрового клиентского компьютера.(Putty для старых окон, встроенный для linux или osx и т. Д., Новые окна могут иметь лучшую поддержку).
- создание пары ключей ssh на клиенте (каждый клиент должен выполнить эти шаги. В идеале закрытые ключи никогда не передаются.)
- добавить открытый ключ для пользователя ssh на pi и убедиться, что вы можете войти без пароля
- Используйте SSH туннель в клиенте oyur для создания локального порта, туннелирующего к порту удаленного игрового сервера.https://www.skyverge.com/blog/how-to-set-up-an-ssh-tunnel-with-putty/ выглядит как хороший учебник по замазке, https://www.revsys.com/writings/quicktips/ssh-tunnel.html выглядит прилично для юникси-окрестностей.
Я предпочитаю выбрать безопасный и ленивый маршрут, предполагая, что ни одна сеть не обязательно защищена, и взвесив удобство доступа против проблем безопасности.Использование ssh-туннеля, как только вы привыкнете к нему, является простым и простым способом доступа к службам через любую ненадежную сеть, с помощью вашей собственной сети, общедоступного Wi-Fi или интернета в целом.