IP 주소를 공개하지 않고 집에서 Minecraft 서버를 실행하고 싶으신가요? 할 수 있습니다! Amazon Web Services에서 무료 프록시를 설정하기 만하면 서비스 거부 공격으로부터 서버를 보호 할 수 있습니다. 방법을 알려 드리겠습니다.
이 가이드는 Minecraft뿐만 아니라 모든 게임 서버에서 작동합니다. 이것이하는 일은 특정 포트의 프록시 트래픽뿐입니다. Minecraft의 포트 25565를 게임 서버가 실행되는 포트로 변경하기 만하면됩니다.
어떻게 작동합니까?
Minecraft 서버를 호스팅하고 인터넷에 공개하고 싶다고 가정 해 보겠습니다. 실행하는 것은 그리 어렵지 않습니다. 설치가 쉽고 처리 스레드를 하나만 사용하며, 고도로 개조 된 서버도 온라인 플레이어가 몇 명 있으면 2 ~ 3GB 이상의 RAM을 차지하지 않습니다. 다른 사람에게 비용을 지불하는 대신 기존 랩톱이나 데스크톱 컴퓨터의 백그라운드에서 서버를 쉽게 실행할 수 있습니다.
그러나 사람들이 그것에 연결하려면 IP 주소를 제공해야합니다. 이것은 몇 가지 문제를 제시합니다. 그것은 주요 보안 위험 , 특히 라우터에 여전히 기본 관리자 암호가있는 경우. 또한 배포 할 수 있습니다. 서비스 거부 (DDOS) 공격 , 이는 Minecraft 서버를 중지 할뿐만 아니라 공격이 가라 앉을 때까지 인터넷을 차단할 수 있습니다.
사람들이 라우터에 직접 연결하도록 허용 할 필요가 없습니다. 대신 Amazon Web Services에서 작은 Linux 상자를 대여 할 수 있습니다. 구글 클라우드 플랫폼 , 또는 Microsoft Azure-모두 무료 계층이 있습니다. 이 서버는 Minecraft 서버를 호스팅 할만큼 강력 할 필요는 없습니다. 연결을 전달하기 만하면됩니다. 이를 통해 자신이 아닌 프록시 서버의 IP 주소를 제공 할 수 있습니다.
누군가가 귀하의 서버에 연결하기를 원하여 Minecraft 클라이언트에 AWS 프록시의 IP 주소를 입력한다고 가정 해 보겠습니다. 패킷은 포트 25565 (Minecraft의 기본 포트)에서 프록시로 전송됩니다. 프록시는 포트 25565 트래픽과 일치하고이를 홈 라우터로 전달하도록 구성됩니다. 이것은이면에서 발생합니다. 연결하는 사람도 알지 못합니다.
그런 다음 홈 라우터를 포트 포워딩하여 실제 PC로 연결을 전달해야합니다. PC는 서버를 실행하고 클라이언트의 패킷에 응답합니다. 프록시로 다시 전달한 다음 프록시가 응답하는 것처럼 보이도록 패킷을 다시 작성합니다. 클라이언트는 이것이 일어나고 있다는 것을 알지 못하고 단순히 프록시가 서버를 실행하는 시스템이라고 생각합니다.
홈 라우터가 컴퓨터를 보호하는 것과 같은 방식으로 서버 앞에 다른 라우터를 추가하는 것과 같습니다. 하지만이 새로운 라우터는 Amazon Web Services에서 실행되며 모든 AWS 서비스에서 무료로 제공되는 전체 전송 계층 DDOS 완화 기능을 제공합니다 ( AWS Shield라고 ). 공격이 감지되면 서버를 방해하지 않고 자동으로 완화됩니다. 그 경우 그렇지 않다 어떤 이유로 중지되면 언제든지 인스턴스를 끄고 집과의 연결을 끊을 수 있습니다.
프록시를 처리하려면 다음과 같은 유틸리티를 사용합니다.
바구니
. 프로토콜 멀티플렉싱을위한 것입니다. 동일한 포트에서 SSH (일반적으로 포트 22) 및 HTTPS (포트 443)를 실행하려는 경우 문제가 발생합니다.
바구니
이 문제를 해결하기 위해 앞에 앉아 의도 한 응용 프로그램으로 포트를 리디렉션합니다. 그러나 라우터처럼 전송 계층 수준에서이를 수행합니다. 즉, Minecraft 트래픽을 일치시켜 홈 서버로 전달할 수 있습니다.
바구니
기본적으로 불투명합니다. 즉, 홈 IP 주소를 숨기기 위해 패킷을 다시 작성합니다. 이것은 누군가가 다음과 같은 것으로 그것을 냄새 맡는 것을 불가능하게 만듭니다.
Wireshark
.
새 VPS 생성 및 연결
시작하려면 프록시 서버를 설정했습니다. Linux 경험이있는 경우이 작업이 확실히 더 쉽지만 필수는 아닙니다.
머리
아마존 웹 서비스
계정을 만듭니다. 직불 또는 신용 카드 정보를 제공해야하지만 이는 사람들이 중복 계정을 만드는 것을 방지하기위한 것입니다. 생성중인 인스턴스에 대해서는 요금이 부과되지 않습니다. 무료 등급은 1 년 후에 만료되므로 사용을 마친 후에는 해제해야합니다.
구글 클라우드 플랫폼
있다
f1-micro
사용하려면 항상 무료로 사용할 수 있습니다. 구글은 또한 1 년에 $ 300 크레딧을 제공하는데,이 크레딧은 실제로 적절한 클라우드 서버를 실행하는 데 사용할 수 있습니다.
AWS는 대역폭에 대해 약간의 요금을 부과합니다. 1GB를 무료로 사용할 수 있지만 그 이상에는 1GB 당 0.09 달러의 세금이 부과됩니다. 현실적으로는이 문제를 다루지 않을 것입니다.하지만 청구서에 20 센트 요금이 표시되면 계속 주시하십시오.
계정을 만든 후 "EC2"를 검색합니다. 이것이 AWS의 가상 서버 플랫폼입니다. AWS에서 새 계정에 대해 EC2를 활성화하려면 잠시 기다려야 할 수 있습니다.
"Instances"탭에서 "Launch Instance"를 선택하여 시작 마법사를 불러옵니다.
기본 "Amazon Linux 2 AMI"또는 "Ubuntu Server 18.04 LTS"를 OS로 선택할 수 있습니다. 다음을 클릭하면 인스턴스 유형을 선택하라는 메시지가 표시됩니다. 고르다
t2.micro
, 이는 프리 티어 인스턴스입니다. 이 인스턴스는 AWS의 프리 티어에서 연중 무휴로 실행할 수 있습니다.
"검토 및 실행"을 선택합니다. 다음 페이지에서 "Launch"를 선택하면 아래 대화 상자가 나타납니다. "새 키 쌍 만들기"를 클릭 한 다음 "키 쌍 다운로드"를 클릭합니다. 이것은 인스턴스에 대한 액세스 키이므로 잃어 버리지 마십시오. 안전하게 보관할 수 있도록 문서 폴더에 보관하십시오. 다운로드 후 "Launch Instances"를 클릭합니다.
인스턴스 페이지로 돌아갑니다. 서버 주소 인 인스턴스의 IPv4 공개 IP를 찾습니다. 원하는 경우 AWS 탄력적 IP (재부팅시 변경되지 않음) 또는 다음을 사용하여 무료 도메인 이름을 설정할 수 있습니다. dot.tk , 주소를 찾기 위해이 페이지를 계속 방문하고 싶지 않은 경우
나중을 위해 주소를 저장하십시오. 먼저 인스턴스의 방화벽을 편집하여 포트 25565를 열어야합니다. 보안 그룹 탭에서 인스턴스가 사용중인 그룹 (아마 launch-wizard-1)을 선택한 다음 "편집"을 클릭합니다.
새 사용자 지정 TCP 규칙을 추가하고 포트 범위를 25565로 설정합니다. 원본은 "Anywhere"또는
0.0.0.0/0
.
변경 사항을 저장하면 방화벽이 업데이트됩니다.
이제 프록시를 설정하기 위해 서버에 SSH를 사용합니다. macOS / Linux를 사용하는 경우 터미널을 열 수 있습니다. Windows를 사용하는 경우 다음과 같은 SSH 클라이언트를 사용해야합니다. 퍼티 또는 설치 Linux 용 Windows 하위 시스템 . 더 일관성이 있으므로 후자를 권장합니다.
가장 먼저해야 할 일은
CD
keyfile이있는 문서 폴더에
cd ~ / 문서 /
Linux 용 Windows 하위 시스템을 사용하는 경우 C 드라이브는 다음 위치에 있습니다.
/ mnt / c /
, 문서 폴더로 이동해야합니다.
cd / mnt / c / Users / username / Documents /
사용
-나는
키 파일을 사용하여 연결할 것을 SSH에 알리는 플래그입니다. 파일에는
.pem
따라서 다음을 포함해야합니다.
ssh -i keyfile.pem [email protected]
“
0.0.0.0
”을 IP 주소로 입력하십시오. AWS Linux가 아닌 Ubuntu 서버를 만든 경우 "ubuntu"사용자로 연결합니다.
액세스 권한이 있어야하며 명령 프롬프트가 서버 프롬프트로 변경되는 것을 확인해야합니다.
SSLH 구성
설치하고 싶습니다
바구니
패키지 관리자에서. AWS Linux의 경우
냠
, Ubuntu의 경우
apt-get
. AWS Linux에 EPEL 리포지토리를 추가해야 할 수 있습니다.
sudo yum 설치 epel-release
sudo yum 설치 sslh
설치가 완료되면 다음을 사용하여 구성 파일을 엽니 다.
나노
:
나노 / etc / default / sslh
변경
실행 =
매개 변수를 "yes"로 설정 :
결승전 아래
악마
줄에 다음을 입력하십시오.
DAEMON_OPTS = "-user sslh --listen 0.0.0.0:25565 --anyprot your_ip_address : 25565 --pidfile /var/run/sslh/sslh.pid
“
your_ip_address
”를 집 IP 주소로 표시합니다. IP를 모르는 경우 검색
"내 IP 주소는 무엇입니까?"
Google에서 – 예, 진지하게.
이 구성은
바구니
프록시는 포트 25565의 모든 네트워크 장치에서 수신합니다. Minecraft 클라이언트가 다른 것을 사용하거나 다른 게임을 플레이하는 경우 다른 포트 번호로 바꾸십시오. 일반적으로
바구니
, 다른 프로토콜을 일치시키고 다른 위치로 라우팅합니다. 그러나 우리의 목적을 위해 가능한 모든 트래픽을 일치시키고이를
your_ip_address : 25565
.
Ctrl + X를 누른 다음 Y를 눌러 파일을 저장합니다. 활성화하려면 다음을 입력하십시오.
바구니
:
sudo systemctl sslh 활성화
sudo systemctl start sslh
만약
systemctl
시스템에서 사용할 수없는 경우 다음을 사용해야 할 수 있습니다.
서비스
대신 명령.
바구니
이제 실행 중이어야합니다. 홈 라우터가
포트 포워딩
25565 트래픽을 컴퓨터로 보냅니다. 변경되지 않도록 컴퓨터에 고정 IP 주소를 제공 할 수 있습니다.
사람들이 서버에 액세스 할 수 있는지 확인하려면 프록시의 IP 주소를 온라인 상태 검사기 . 프록시의 IP를 Minecraft 클라이언트에 입력하고 가입을 시도 할 수도 있습니다. 작동하지 않는 경우 인스턴스의 보안 그룹에서 포트가 열려 있는지 확인합니다.