how to connect from outside internet
외부 인터넷에서 내 로컬에서 동작하는 geth에 접속하는 방법입니다.
[geth 실행]
geth.exe --nodiscover --identity "etherPrivate" --datadir "C:\Program Files\Geth\mydata" --rpc --rpcaddr "0.0.0.0" --rpcport 8545 --rpccorsdomain "*" --networkid 88 --rpcapi "admin,db,eth,net,web3,debug,miner,shh,txpool,personal" --allow-insecure-unlock console
cmd에서 geth의 위치를 찾아갑니다. 이후 위 명령어를 이용하여 geth를 실행합니다.
rpcaddr을 0.0.0.0:8545로 설정하여 모든 IP에서 접근할 수 있도록 합니다.
8545 포트는 예시이며, 사용자 환경에서 접속할 수 있는 적절한 포트번호를 부여하면 됩니다.
* geth는 반드시 관리자 권한으로 실행해야 합니다.
[geth attach]
geth attach rpc:http://0.0.0.0:8545
다른 터미널 창에서 geth에 접속하는 방법입니다.
마찬가지로 사용자 환경에서 생성한 포트번호를 대입합니다.
해당 콘솔에서 miner.start()와 같은 geth 명령어를 원격으로 실행할 수 있습니다.
[MetaMask를 통한 Remix 연결]
MetaMask에서 사용자 정의 RPC를 선택합니다.
새로운 네트워크 설정에서 내 PC의 외부 IP와 geth의 포트번호를 입력합니다.
공유기가 할당한 사설 네트워크 (192.168...)은 별도의 포트 포워딩을 해줘야만 외부에서 접속할 수 있습니다.
iptime 공유기는 192.168.0.1로 접속하면 확인할 수 있습니다.
MetaMask -> 새 네트워크 -> 새로운 RPC URL에 내 PC의 외부 IP주소를 입력합니다.
(아래 URL은 예시입니다)
Remix에서 Enviroment를 Web3 Provider로 설정합니다.
확인창이 뜨는데 확인을 누르시면 아래 창이 나타납니다.
여기에 내 외부 IP주소와 geth의 포트 주소를 넣어줍니다.
(아래 IP는 예시입니다)
이제 내 컴퓨터에서 동작 중인 이더리움 사설 네트워크에 외부 인터넷(LTE 등)에서 접속이 가능합니다.
[포트 포워딩]
공유기를 사용하는 경우 포트포워딩을 해주어야 외부 접속자가 사설망(공유기 환경) 내부의 내 pc를 찾아올 수 있습니다.
iptime의 경우 192.168.0.1에서 설정 가능합니다.
새 규칙을 추가합니다. 외부 포트와 내부 포트를 내 geth 환경과 동일하게 설정합니다.
반드시 적용 버튼을 눌러 세팅을 저장합니다.
* 가정에서 사용하는 일부 인터넷 제공사는 포트 포워드를 지원하지 않습니다.
설정을 마치면 외부망을 통해 내 로컬에서 동작하는 geth에 접속할 수 있습니다.