DoubleZero 설정 방법
용어 안내
DoubleZero가 처음이신가요? doublezerod, IBRL, DZD 등의 용어 정의는 용어집을 참고하세요.
DoubleZero에 연결함으로써 DoubleZero 서비스 약관에 동의합니다
사전 요구 사항
Warning
밸리데이터의 경우: DoubleZero는 컨테이너가 아닌 밸리데이터 호스트에 직접 설치해야 합니다.
- 공인 IP 주소를 사용하는 인터넷 연결 (NAT 불가)
- x86_64 서버
- 지원 OS: Ubuntu 22.04+ 또는 Debian 11+, 또는 Rocky Linux / RHEL 9+
- DoubleZero가 실행될 서버에서의 Root 또는 sudo 권한
- 선택 사항(디버깅에 유용): jq 및 curl
DoubleZero 연결
DoubleZero Testnet과 DoubleZero Mainnet-Beta는 물리적으로 별개의 네트워크입니다. 설치 시 적절한 네트워크를 선택하세요.
DoubleZero에 온보딩할 때 DoubleZero ID라 불리는 공개 키로 표현되는 DoubleZero 아이덴티티를 생성하게 됩니다. 이 키는 DoubleZero가 귀하의 머신을 식별하는 방법의 일부입니다.
1. DoubleZero 패키지 설치
현재 버전
| 패키지 | Mainnet-Beta | Testnet |
|---|---|---|
doublezero |
MAINNET_CLIENT_VERSION |
TESTNET_CLIENT_VERSION |
운영 체제에 따라 아래 단계를 따르세요:
Ubuntu / Debian
Mainnet-Beta에 대한 현재 권장 배포 방법:
curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash
sudo apt-get install doublezero
Testnet에 대한 현재 권장 배포 방법:
curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash
sudo apt-get install doublezero
Rocky Linux / RHEL
Mainnet-Beta에 대한 현재 권장 배포 방법:
curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash
sudo yum install doublezero
Testnet에 대한 현재 권장 배포 방법:
curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash
sudo yum install doublezero
기존 사용자 전용: Testnet에서 Mainnet-Beta로 또는 Mainnet-Beta에서 Testnet으로 패키지 변경
위의 패키지 저장소 중 하나에서 설치하면 해당 패키지는 DoubleZero Testnet 또는 DoubleZero Mainnet Beta 전용입니다. 네트워크를 전환하는 경우 이전에 설치된 패키지 저장소를 제거하고 대상 저장소로 업데이트해야 합니다.
이 예시는 Testnet에서 Mainnet-Beta로의 마이그레이션을 안내합니다.
Mainnet-Beta에서 Testnet으로 이동하는 경우에도 동일한 단계를 수행할 수 있으며, 3단계를 위의 Testnet 설치 명령어로 대체하면 됩니다.
-
기존 저장소 파일 찾기
먼저, 시스템에 있는 기존 DoubleZero 저장소 설정 파일을 찾으세요:
find /etc/apt | grep doublezerofind /usr/share/keyrings/ | grep doublezero -
기존 저장소 파일 제거
이전 단계에서 찾은 기존 저장소 파일을 제거하세요. 예시:
sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list sudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg -
새 저장소에서 설치
새 Mainnet-Beta 저장소를 추가하고 최신 패키지를 설치하세요:
curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash sudo apt-get install doublezero=<current_recomended_version_above>
doublezerod 상태 확인
패키지가 설치되면 새로운 systemd 유닛이 설치, 활성화 및 시작됩니다. 상태를 확인하려면 다음을 실행하세요:
sudo systemctl status doublezerod
GRE 및 BGP를 위한 방화벽 설정
DoubleZero는 GRE 터널링(IP 프로토콜 47)과 BGP 라우팅(링크-로컬 주소의 tcp/179)을 사용합니다. 방화벽에서 이러한 프로토콜을 허용하는지 확인하세요:
iptables를 통해 GRE 및 BGP 허용:
sudo iptables -A INPUT -p gre -j ACCEPT
sudo iptables -A OUTPUT -p gre -j ACCEPT
sudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
또는 UFW를 통해 GRE 및 BGP 허용:
sudo ufw allow proto gre from any to any
sudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
sudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
2. 새 DoubleZero 아이덴티티 생성
다음 명령어로 서버에 DoubleZero 아이덴티티를 생성하세요:
doublezero keygen
Info
사용하려는 기존 ID가 있는 경우 다음 선택적 단계를 따를 수 있습니다.
doublezero 설정 디렉토리 생성
mkdir -p ~/.config/doublezero
DoubleZero에서 사용할 id.json을 doublezero 설정 디렉토리로 복사하거나 링크하세요.
sudo cp </path/to/id.json> ~/.config/doublezero/
3. 서버의 DoubleZero 아이덴티티 확인
DoubleZero 아이덴티티를 확인하세요. 이 아이덴티티는 귀하의 머신과 DoubleZero 간의 연결을 생성하는 데 사용됩니다.
doublezero address
출력:
YourDoubleZeroAddress11111111111111111111111111111
4. doublezerod가 DZ 디바이스를 발견했는지 확인
연결하기 전에, doublezerod가 사용 가능한 각 DZ 테스트넷 스위치를 발견하고 핑했는지 확인하세요:
doublezero latency
샘플 출력:
$ doublezero latency
pubkey | name | ip | min | max | avg | reachable
96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01 | 207.45.216.134 | 0.38ms | 0.45ms | 0.42ms | true
CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01 | 64.86.249.22 | 68.81ms | 68.87ms | 68.85ms | true
BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01 | 180.87.154.78 | 112.16ms | 112.25ms | 112.22ms | true
55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01 | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true
3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true
65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01 | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true
9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01 | 180.87.102.98 | 176.66ms | 176.76ms | 176.72ms | true
출력에 디바이스가 반환되지 않으면 10-20초 기다린 후 다시 시도하세요.
5. DoubleZero 연결 해제
다음 섹션에서 DoubleZero 환경을 설정하게 됩니다. 성공을 보장하기 위해 현재 세션의 연결을 해제하세요. 이렇게 하면 머신에서 여러 터널이 열린 것과 관련된 문제를 방지할 수 있습니다.
확인
doublezero status
up 상태이면 다음을 실행하세요:
doublezero disconnect
다음 단계: 테넌트
DoubleZero 연결은 사용 사례에 따라 달라집니다. DoubleZero에서 테넌트는 유사한 사용자 프로필을 가진 그룹입니다. 예시로는 블록체인, 데이터 전송 레이어 등이 있습니다.
여기에서 테넌트를 선택하세요
선택 사항: Prometheus 메트릭 활성화
Prometheus 메트릭에 익숙한 운영자는 DoubleZero 모니터링을 위해 메트릭을 활성화할 수 있습니다. 이를 통해 DoubleZero 클라이언트 성능, 연결 상태 및 운영 상태에 대한 가시성을 확보할 수 있습니다.
사용 가능한 메트릭
DoubleZero는 여러 주요 메트릭을 노출합니다: - 빌드 정보: 버전, 커밋 해시 및 빌드 날짜 - 세션 상태: DoubleZero 세션의 활성 여부 - 연결 메트릭: 지연 시간 및 연결 정보 - 성능 데이터: 처리량 및 오류율
Prometheus 메트릭 활성화
DoubleZero 클라이언트에서 Prometheus 메트릭을 활성화하려면 다음 단계를 따르세요:
1. doublezerod systemd 서비스 시작 명령어 수정
systemd 오버라이드 설정을 생성하거나 편집하세요:
sudo mkdir -p /etc/systemd/system/doublezerod.service.d/
sudo nano /etc/systemd/system/doublezerod.service.d/override.conf
다음 설정으로 교체하세요:
-env 플래그는 데이터를 수집하려는 네트워크에 따라 testnet 또는 mainnet-beta를 가리켜야 합니다. 샘플 블록에서는 testnet이 사용되었습니다. 필요한 경우 mainnet-beta로 교체할 수 있습니다.
[Service]
ExecStart=
ExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113
2. 서비스 리로드 및 재시작
sudo systemctl daemon-reload
sudo systemctl restart doublezerod
sudo systemctl status doublezerod
3. 메트릭 사용 가능 여부 확인
메트릭 엔드포인트가 응답하는지 테스트하세요:
curl -s localhost:2113/metrics | grep doublezero
예상 출력:
# HELP doublezero_build_info Build information of the client
# TYPE doublezero_build_info gauge
doublezero_build_info{commit="0d684e1b",date="2025-09-10T16:30:25Z",version="0.6.4"} 1
# HELP doublezero_session_is_up Status of session to doublezero
# TYPE doublezero_session_is_up gauge
doublezero_session_is_up 0
문제 해결
메트릭이 나타나지 않는 경우:
- 서비스 상태 확인:
sudo systemctl status doublezerod - 설정 확인:
sudo systemctl cat doublezerod - 로그 확인:
sudo journalctl -u doublezerod -f - 엔드포인트 테스트:
curl -v localhost:2113/metrics - 포트 확인:
netstat -tlnp | grep 2113
Prometheus 서버 설정
설정 및 보안은 이 문서의 범위를 벗어납니다. Grafana는 시각화를 위한 훌륭한 옵션이며, Prometheus 메트릭을 수집하는 방법을 설명하는 문서가 여기에 있습니다.
Grafana 대시보드 (선택 사항)
시각화를 위해 DoubleZero 메트릭을 사용하여 Grafana 대시보드를 생성할 수 있습니다. 일반적인 패널은 다음과 같습니다: - 시간에 따른 세션 상태 - 빌드 정보 - 연결 지연 시간 추이 - 오류율 모니터링