가이드 › TrafficWatch

다른 언어 English · 日本語 · 한국어 · 简体中文

TrafficWatch

내 망의 장비별 DNS 가시성 — 1.1.8

이 판에서 바뀐 것

릴리즈 노트 전체

1. 설치

설치할 기계에 맞는 것을 고르세요. 아래는 전부 최신판이고, 이전 판은 릴리즈 노트에 있습니다.

받은 파일을 확인하세요. 게시된 체크섬은 여기 있습니다: TrafficWatch-SHA256SUMS.txt

macOS·Linux:

shasum -a 256 TrafficWatch-1.1.8-arm64.dmg

Windows:

Get-FileHash -Algorithm SHA256 TrafficWatch-1.1.8-win.zip

macOS 판은 Apple 공증을 받아 경고 없이 열립니다. Windows 설치본은 Authenticode 서명과 타임스탬프가 붙어 있습니다. 인증서가 새것이라 평판이 쌓일 때까지 SmartScreen 경고가 뜰 수 있습니다. 뜨면 추가 정보 → 실행을 고르세요.

2. 첫 실행

  1. 망을 함께 쓰는 사람에게 먼저 알리세요. TrafficWatch 는 그 망의 DNS 서버가 되고, 어느 장비가 어떤 도메인을 물었는지 기록합니다.
  2. 53 포트가 필요합니다. macOS·Linux 는 이 포트를 예약해 두어 관리자 암호를 묻습니다. Windows 는 묻지 않습니다.
  3. Linux 에서는 systemd-resolved 가 이미 53 을 잡고 있는 경우가 대부분입니다. 스텁 리스너를 끄거나, 앱 전체를 root 로 돌리는 대신 실행 파일에 CAP_NET_BIND_SERVICE 를 주세요.
  4. 그다음 공유기 관리 화면에서 DHCP 의 DNS 서버를 이 컴퓨터의 로컬 IP 로 바꿉니다. 장비들은 재접속할 때 반영합니다.

모든 설치는 유료판 30일 체험으로 시작합니다. 미리 요구하는 것이 없습니다 — 카드도, 계정도, 메일 주소도.

3. 운영

무엇이 기록되나

모든 장비의 질의가 이 컴퓨터의 로그에 쌓입니다. 무료 등급이 제한하는 것은 보여주는 것이지 기록이 아니고, 등급을 강제하려고 이력을 지우지도 않습니다 — 상위 등급으로 올리면 이미 있던 것이 보입니다.

장비 이름 붙이기

장비는 처음에 IP 주소로 나타납니다. 이름을 붙여야 로그가 읽히고 알림 규칙을 쓸 이유가 생깁니다.

알림과 전송

Alerts 버튼을 누르면 Alerts & delivery 가 열립니다. 규칙, 메일 발송, 그리고 MeshWatch Central 연결이 여기 있습니다.

Pro

Pro 는 연 99달러이고 알림 규칙, MeshWatch Central 연결, CSV/JSON 내보내기, 무제한 장비 이력을 더합니다. 라이선스 키는 결제 뒤 메일로 가고 이 컴퓨터에서 검증합니다 — TrafficWatch 는 라이선스 서버에 접속하지 않습니다.

데이터가 있는 곳

TrafficWatch 가 기록하는 것은 전부 실행 중인 컴퓨터 안에 남습니다. 우리에게도, 분석 업체에도, 광고망에도 보내지 않습니다.

라이선스 키

키는 결제 뒤 메일로 갑니다. 이 컴퓨터에서만 검증하므로 TrafficWatch 는 라이선스 서버에 접속하지 않습니다. 30일 체험이 끝나거나 구독이 끊기면 TrafficWatch 는 무료 등급으로 모든 질의에 계속 응답하고 기록하며, 장비 3대와 최근 24시간만 보여 줍니다. 알림 규칙과 MeshWatch Central 연결은 Pro 에 들어 있습니다.

4. 방화벽

5. 데스크톱 없는 서버에서 실행 (헤드리스)

데스크톱 앱은 그래픽 세션이 있어야 합니다. 그래픽 세션이 없는 리눅스 서버에서는 뜨지 않고 Missing X server or $DISPLAY 를 찍습니다. 이런 경우를 위해 리눅스 .deb 에는 헤드리스 모드도 들어 있습니다. DNS 질의에 똑같이 응답하고 기록하며, 같은 화면을 창 대신 브라우저로 보여 줍니다. AppImage 에는 들어 있지 않습니다. 설치 경로에 공백이 있으니 아래처럼 따옴표로 감싸세요.

포그라운드로 먼저 돌려 보기

.deb 를 설치합니다(필요한 라이브러리는 apt 가 함께 설치합니다). 53 은 특권 포트라서 처음 볼 때는 루프백 주소의 높은 포트를 씁니다. root 가 필요 없습니다:

sudo apt install ./TrafficWatch-*-linux-amd64.deb
"/opt/Network TrafficWatch/trafficwatch-headless" --dns-port 5353 --dns-host 127.0.0.1

웹 화면 주소가 1회용 토큰과 함께 찍힙니다 — http://127.0.0.1:8053/?token=…. 한 번 열면 쿠키가 기억하므로 그다음부터는 http://127.0.0.1:8053/ 이면 됩니다. 주소를 잃어버리면 --show-url 로 다시 찍습니다. 같은 기계에서 질의를 보내 뜨는지 보세요: dig @127.0.0.1 -p 5353 example.com — 화면의 Send a test query 단추도 같은 일을 합니다.

내 컴퓨터에서 화면 열기

웹 화면은 127.0.0.1 에서만 듣습니다. SSH 터널을 연 뒤 토큰 주소를 내 브라우저에서 엽니다:

ssh -L 8053:127.0.0.1:8053 user@server

또는 HTTPS 리버스 프록시(nginx, Caddy)를 앞에 둡니다. 평문 HTTP 포트를 믿을 수 없는 망에 열지 마세요: 모든 장비의 조회 기록, SMTP 자격증명, Central 토큰이 그 포트를 지나갑니다.

53 포트에서 서비스로 돌리기

래퍼 옆에 systemd 유닛이 설치되어 있습니다. SyslogWatch·TrapWatch 와 달리 시작하기 전에 한 줄을 고쳐야 합니다:

sudo useradd --system --home /var/lib/trafficwatch --create-home --shell /usr/sbin/nologin trafficwatch
sudo cp "/opt/Network TrafficWatch/trafficwatch-headless.service" /etc/systemd/system/
sudoedit /etc/systemd/system/trafficwatch-headless.service

ExecStart 줄에서 --dns-host 뒤의 192.168.1.10 을 이 서버의 LAN 주소로 바꿉니다(ip -4 addr 로 확인). Ubuntu 에서는 systemd-resolved 가 이미 127.0.0.53:53 을 잡고 있어서, 모든 주소에 묶으려 하면 EADDRINUSE 로 실패합니다. LAN 주소에만 묶으면 둘이 함께 돕니다. AmbientCapabilities=CAP_NET_BIND_SERVICE 줄은 그대로 두세요 — 서비스 사용자가 53 포트를 열 수 있게 해 주는 줄입니다.

sudo systemctl daemon-reload
sudo systemctl enable --now trafficwatch-headless

토큰이 붙은 웹 화면 주소는 sudo journalctl -u trafficwatch-headless 에 찍힙니다. 그다음 공유기의 DHCP DNS 설정을 그 LAN 주소로 바꾸면, 임대를 갱신하는 장비부터 조회를 이리로 보냅니다. /etc/systemd/resolved.conf 에서 DNSStubListener=no 로 끄는 방법도 되지만, 그러면 서버 자신의 /etc/resolv.conf 도 손봐야 합니다.

데이터가 있는 곳 — 그리고 라이선스 키

서비스로 돌면 /var/lib/trafficwatch/.trafficwatch 에 질의 기록·설정·라이선스·화면 토큰이 있습니다. 리눅스 데스크톱 앱을 sudo 로 돌렸다면 그 데이터는 /root/.trafficwatch 에 있어 폴더가 다릅니다. 그래서 라이선스 키가 넘어오지 않으니 웹 화면(제목 줄의 등급 표시)에서 다시 넣으세요. 같은 키를 두 곳에서 함께 써도 됩니다.

서버에는 키링이 없으므로 라이선스 키·SMTP 암호·Central 토큰은 서비스 사용자만 읽을 수 있는 파일(권한 0600)로 저장됩니다. 알릴 데스크톱이 없으니, 데스크톱 알림을 띄울 규칙은 대신 저널에 한 줄을 남깁니다. 메일 알림과 MeshWatch Central 은 데스크톱과 똑같이 동작합니다.

자세한 내용은 래퍼 옆의 README-headless.txt 에 있고, 옵션은 --help 로 봅니다.

6. MeshWatch Central 에 연결

선택 사항이며 Pro 기능입니다(무료 등급에서는 알림 설정에 그렇게 표시됩니다). Central 은 여러 제품의 알림을 하나의 받은함으로 모으고 장비 단위로 묶어 줍니다. Central 로 가는 것은 알림 요약뿐입니다. 도메인과 장비별 질의 이력은 이 컴퓨터에 남습니다.

  1. Central 의 Agents 를 열고 TrafficWatch 를 고른 뒤 라벨을 입력하고 Issue token 을 누릅니다. 라벨은 어디서 가져오는 값이 아니라 설치본을 구분하려고 직접 짓는 이름입니다. 토큰은 한 번만 보여줍니다.
  2. TrafficWatch 의 MeshWatch Central 설정을 열고 Central 주소를 http://<central-server>:8443 형태로, 토큰과 함께 넣습니다. Central 이 같은 기계에서 돌지 않는 한 localhost 가 아니라 서버의 주소를 씁니다.
  3. 알림을 Central 로 보내는 항목에 체크하고 저장한 뒤 Test connection 을 누릅니다. 성공이 떠야 합니다.

그 뒤로 발생하는 알림이 Central 에 뜹니다. 지난 알림은 소급되지 않습니다. 전체 절차는 MeshWatch Central 가이드.

7. 문제 해결

아무것도 안 들어온다

대개 방화벽입니다(4장). 그래도 안 되면 장비가 이 컴퓨터의 현재 로컬 IP 를 가리키는지 확인하세요. DHCP 임대로 주소가 바뀌었을 수 있습니다.

Central 연결 시험이 실패한다

bad-token 은 토큰이 틀렸거나 폐기된 것입니다 — 새로 발급하세요. unreachable 은 주소가 틀렸거나 방화벽에 막힌 것입니다. Central 서버에서 8443 포트가 열려 있어야 합니다. 리버스 프록시를 두지 않았다면 https:// 가 아니라 http:// 입니다. 현재 판에서는 이 결과가 문장으로 표시됩니다 — Central 이 거부한 토큰은 폐기되었거나 다른 Central 이 발급했을 수 있다고 설명합니다. 코드 자체는 메시지에 마우스를 올리면 보입니다.

리눅스 서버에서 Missing X server or $DISPLAY 가 뜬다

데스크톱 앱이 화면을 찾는 것이지 설치가 잘못된 것이 아닙니다. 데스크톱 세션에서 실행하거나, 데스크톱이 없는 서버라면 헤드리스 모드를 쓰세요 — 5장.

모든 제품에 공통인 문제

업그레이드 후 빈 창, Ubuntu 24.04 에서 실행 안 됨, 키링 없는 Linux 에서 자격증명이 평문 저장, 알림 메일 미배달 — 제품을 가리지 않는 문제라 지원 페이지에 모아 두었습니다.

그래도 안 되면

판 번호와 기대했던 동작을 적어 support@meshwatch.app 로 보내 주세요. 평일 기준 2영업일 안에 첫 답을 드립니다.