관리 메뉴

블록체인 주변 이야기

마스터노드 운영 3 : Port 포트가 열려 있는지 확인하는 방법 본문

채굴자를 위한 컴퓨터 기초

마스터노드 운영 3 : Port 포트가 열려 있는지 확인하는 방법

STIMA 2018. 2. 25. 02:04
반응형

인터넷으로 서비스를 운영하지 않는 이상, 사용자 입장에서 Port를 신경써야 하는 경우는 많지 않습니다. 그런데, 마스터노드라는 것을 운영하려고 하면, 코인에 따라 다르기는 하지만, 특정 포트가 반드시 외부에서 접속가능하도록 오픈이되어야 하는 경우가 있습니다. 이번에 테스트 해보았던 Arctic Coin의 Goldminenode의 경우 7209포트가 열려있어야만 마스터노드의 운영이 가능해 집니다.


이번에 Port에 대해서 이야기 하는 이유는 마스터노드 운영과 관련하여 설명 드렸던 다음글에 이어지는 내용 입니다.


우선 인터넷 통신에 대한 기초를 알지 못한다 하더라고, 우리가 일반적으로 사용하는 서비스포트에 대해 간단하게 설명이 필요할 것 같습니다.


우리가 웹사이트에 접속할 때 사용하는 포트는 80포트 입니다.

예를 들어 http://www.cryptocoin.kr 로 접속을 하는 것과 http://www.cryptocoin.kr:80 으로 접속 하는 것과 같습니다. 인터넷 서비스로 사용하는 80포트는 생략이 가능 하기 때문 입니다. 어떤 웹서비스든 뒤에 :80을 붙이여 접속을 시도하시면, :80이 없는 주소로 이동을 하게 됩니다. 이 다양한 웹서버가 이 80포트를 점유하고 있습니다. 


다음으로 많이 사용하는 포트는 21포트 입니다. FTP로 사용하는 포트 인데요. 파일을 전송할 때 사용하는 포트 입니다. 대용량 파일을 전송을 하기위해 사용하는 포트 이구요. ftp://000.111.222.333:21 이런 식으로 접속을 할때 사용을 합니다. 이 또한 서버쪽에서는 ftp 서버가 21번 포트를 점유하고 신호가 들어오기를 기다리고 있습니다. 쉽게 말해서 서버라고 하고, 보통은 데몬이라는 표현을 사용 합니다.


이와 마찬가지로, 아크틱코인의 골드마인을 하기 위해서 ArcticCoin Wallet이 7209포트를 이용하여 일종의 서버를 운영을 해야 한다는 것이죠. 그래서, 7209포트를 다른서비스가 사용하고 있으면 사용을 할 수 없고, 외부에서 7209포트로 접근을 할 수 있도록 열려 있어야 합니다. 그림으로 설명을 하면 다음과 같은 구조가 되어야 하는 것이죠.



Arctic Goldminenode 데몬까지 접속을 하려면, 7209포트에 대해서 데몬은 가동중이어야 하고, 윈도우방화벽이 열려 있어야 하며, AWS의 보안그룹에도 7209로 외부에서 접근할 수 있도록 허용이 되어 있어야 합니다. 그래야 성공적으로 접속을 할 수 잇는 것이죠.



내컴퓨터에 접속확인 도구 Telnet

데몬이 가동중인데, 이 데몬의 포트로 접속이 되는지 확인하기 위해서는 telnet 이라는 접속 도구가 필요 합니다. 과거에는 윈도우에서 telnet 명령어를 바로 사용할 수 있었는데, 최근에는 기능을 꺼 놓은 상태 입니다. 그래서, cmd 창을 열고 telnet 이라고 입력해 봅니다. 


아래 화면처럼 나오면, Telnet 클라이언트가 작동중이라는 의미 입니다.




그런데, 만약에 아래와 같이 명령어를 실행하지 못하면, telnet 서비스가 작동중이지 않다는 뜻입니다.




그러면, Win + R 하고, 명령 실행창에 OptionalFeatures 를 이래와 같이 입력 하고, 실행 시킵니다.




"그러면, Windows 기능 켜기/끄기" 화면이 열리는데, 제일 밑에, 텔넷 클라이언트 체크를 하고 [확인]을 클릭 하면 됩니다.




이렇게 되면, 내 컴퓨터에서 마스터노드를 운영할 서버에 접속 테스트를 할 수 있는 도구가 생긴셈 입니다.

이 상태에서, arctic wallet을 켜지 않은 상태에서 cmd 창을 열고 접속 시도를 해보세요.


telnet 127.0.0.1 7209


127.0.0.1 대신에 IP 주소를 입력

7209는 포트 번호 입니다.


내컴퓨터에서 arctic wallet이 설치된 서버에 접속을 하는 것입니다. 아래 IP를 사용하지 마세요. (자신을 가리키는 의미입니다)



이런 모습이면, 실패를 한 것입니다.



서버에서 특정포트 데몬 역할을 할 ftp server 프로그램

마스터노드 설정이 잘 되서 바로 Wallet이 특정포트를 열도록 할 수 있으면 좋겠지만, Wallet 없이 특정 포트가 제대로 열려 있는지 먼저 확인을 하기 위해서 저는 ftp 서버 프로그램을 사용해보았습니다. 서버에 설치하느 부담을 주지 않도록 하기 위해서 설치하지 않고 실행할 수 이쓴 ftp server 프로그램 입니다. 우리가 접속할 사용하는 ftp프로그램은 ftp클라이언트 입니다. 그야말로 접속용 입니다. ftp서버는 클라이언트가 접속하여 파일을 보낼 수 있도록 하는 역할을 합니다.


https://www.xlightftpd.com


아래 화면에서 보시는 것 처럼, 64bit용으로 zip 파일에 압축되어 있는 프로그램을 다운로드 받습니다.

이 프로그램은 개인용으로 무료 입니다.




다운로드 받은 압축파일을 해제 하면, 아래와 같이 실행파일이 한개 있습니다.

xlight.exe 파일을 실행 합니다.



ftp데몬을 관리하는 프로그램이 실행 되었습니다.




이제, ftp대몬을 가동 시키기 위해, 컴퓨터에 + 마크가 있는 버튼을 클릭 하면, 아래와 같이 창여 열립니다.

원칙적으로 ftp는 21포트를 사용하나, 우리는 테스트를 위해 7209포트를 사용하겠습니다.




앞단계에서 설정한 ftp서버가 등록이 되었습니다. 하단의 플레이(세모모양)버튼을 클릭 하면, 서버가 작동이 됩니다.




ftp서버가 정상적으로 동작을 하면, 노란색으로 보입니다.




텔넷으로 접소을 시도해 봅니다.


telnet 127.0.0.1 7209

127.0.0.1 대신에 실제 서버 IP 주소를 입력 해야 합니다.

7209는 포트 번호 입니다.

그런데, 아래와 같은 화면이 나왔다면, 내컴퓨터에서 서버의 7209포트로 접속이 성공한 것입니다.




만약에 아크틱코인의 7209포트가 열려 있다면, 접속을 했다가 바로 끊기기 때문에 아래와 비슷한 화면이 보이게 됩니다.




그리고, ftp 서버쪽 프로그램에서 접속자가 있으면, 초록색으로 표시 되고, Online Users에 숫자가 1로 올라갔습니다.




내 컴퓨터에서 서버로 이렇게 접속이 된다면, 서버의 방화벽등은 전혀 문제가 없이 오픈이 되어 있는 것입니다.

그런데, 접속이 되지 않는데, 그렇다면, 윈도우 방화벽이나 AWS 보안설정 등 어디에선가 7209포트가 막혀 있는 것이죠.

이걸 해결해야 합니다.



윈도우 방화벽에서 예외 설정 확인


Win + R 에서 firewall을 입력합니다.



방화벽 및 네트웍연결 화면에서 방화벽에서 앱 허용




Arctic Core 지갑을 실행 했을때, 방화벽이 허용 되어 있었습니다. 그러면, 문제는 없는 것입니다.






AWS 보안그룹 인바운드 규칙 편집


AWS에는 서버의 보안을 위해 윈도우즈 외부에 방화벽이 있으면, 이 방화벽을 사용자가 직접 수정할 수 있도록 되어 있습니다. 이를 보안 그룹이라고 합니다. 기본적으로 만들어진 보안 설정이 제경우는 launch-wizard-1 입니다. 여기에서 외부에서 서버로 접속을 시도 하는 것이므로, 인바운드 규칙 편집을 선택 합니다.





인바운드 규칙 편집 창에서는 규칙 추가를 하여, TCP 프로토콜에 7209 포트를 설정하고, 소스는 0.0.0.0/0 으로 설정 하여 어디에서라도 접속할 수 있도록 설정을 하면 됩니다.




이렇게 적용을 하면서, 서버내에서는 외부에서 해당 포트로 접속을 테스트 하여, 접속이 될 때 까지 해야 합니다.

그렇게 7209포트로 방화벽이 열려 있는것을 확인하고 나서 ftp 프로그램은 종료 하고, 

arctic coin wallet을 실행 시켜서, goldminenode를 실행하도록 해야 합니다.


그런데, 저는 이과정을 거쳐서 확인을 했지만, 나중에 확인해보니, arctic wallet이 실행되면, goldminenode를 하지 않더라도, 7209 포트를 사용하고 있습니다. 따라서, 아크틱코인의 경우 ftp 프로그램을 사용하지 않아도 telnet을 이용하여 테스트를 할 수 있습니다.




반응형