Files
obsidian/infra/infra-hosts.md

5.9 KiB

title, updated, tags
title updated tags
인프라 호스트 및 네트워크 2026-03-18
infra
network
kr-zone
openwrt

SSH 접속 정보

인프라 호스트 SSH 접속 정보: incus-jp1 (공인 42.125.196.116, Tailscale 100.109.123.1), incus-kr1 (공인 220.120.65.245, Tailscale 100.84.111.28), incus-hp2 (Tailscale 100.100.52.34), osaka(gw) (ssh root@100.108.39.107, 공인 172.233.93.180), Synology NAS (SSH 불가, Tailscale 100.126.100.82)

서버 상세

SSH 호스트 Tailscale IP 역할 비고
apisix-osaka 100.108.39.107 apisix API Gateway (오사카) SSH 직접 접속
incus-jp1 100.109.123.1 Incus 호스트 (도쿄) monitoring, db, default 프로젝트
incus-kr1 100.84.111.28 Incus+K3s 호스트 (서울) default, inbest 프로젝트, K3s control-plane (LAN 192.168.9.214)
incus-kr2 100.119.109.41 Incus+K3s 호스트 (서울) default, inbest 프로젝트, K3s control-plane (LAN 192.168.9.135)
incus-hp2 100.100.52.34 Incus+K3s 호스트 (서울) Xeon E5-2670 32코어, 188GB RAM, K3s control-plane (LAN 192.168.9.134), default, inbest 프로젝트
openwrt-gw 100.66.60.66 OpenWrt 라우터 (서울) HAProxy: 80/443 → K3s NodePort → APISIX
sandbox-tokyo 100.79.87.48 테스트 서버 (도쿄, Linode)
relay4wd 100.103.161.4 APISIX Gateway (서울, AWS Lightsail) inbest 전용, Docker APISIX 3.15.0, Debian 12, nano $5/월
safeline-osaka 100.100.212.6 SafeLine WAF (오사카, Linode)
synology 100.126.100.82 NAS (시놀로지)

서울 K3s 클러스터

서울존 3대(hp2, kr1, kr2)를 K3s v1.34.5+k3s1 클러스터로 구성. 모두 control-plane 역할.

노드 LAN IP OS
incus-hp2 192.168.9.134 Debian 13 (trixie)
incus-kr1 192.168.9.214 Debian 13 (trixie)
incus-kr2 192.168.9.135 Debian 13 (trixie)

주요 네임스페이스: anvil, apisix, argocd, cert-manager, db

트래픽 흐름: 외부 → OpenWrt HAProxy (80/443) → K3s NodePort (32020/30675) → APISIX Gateway → 서비스

서비스 위치

서비스 위치 접근 방법
apisix (오사카) apisix-osaka (Linode) SSH 직접 접속 / Admin API
apisix (서울) hp2 incus 컨테이너 (10.179.99.126) incus exec apisix / Admin API(:9180)
Anvil K3s 클러스터 (서울, anvil ns) kubectl
ArgoCD K3s 클러스터 (서울, argocd ns) kubectl / NodePort 30080
cert-manager K3s 클러스터 (서울) kubectl
NocoDB K3s 클러스터 (kr2), namespace tools kubectl, nocodb.inouter.com
ProxySQL K3s 클러스터 (서울, db ns) kubectl
Prometheus, Grafana jp1 (monitoring) incus exec --project monitoring
DB 서버 jp1 (db) incus exec --project db
DB (분산) etcd+mariadb+postgres 각 서울 노드 Incus 컨테이너 incus exec
etcd (relay4wd용) jp1 (db), etcd-1 (10.253.102.11) etcd 2379
vault 인프라 내부 vault CLI / MCP
gitea 자체 호스팅 (gitea.anvil.it.com) git push → Gitea Act Runner
BunnyCDN 외부 SaaS BunnyCDN MCP 서버 / API
backup kr2 → NAS → R2 systemd timer, rclone

Incus 프로젝트

  • jp1: monitoring, db, default
  • kr1: default, inbest
  • kr2: default, inbest
  • hp2: default, inbest

KR존 네트워크 토폴로지

인터넷
  └── OpenWrt 라우터 (공인 IP: 220.120.65.245, 내부: 192.168.9.1)
        ├── incus-kr1  (192.168.9.214)
        ├── incus-kr2  (192.168.9.135)
        └── incus-hp2  (192.168.9.134)  ← K3s control-plane
              └── APISIX (incus 컨테이너, 10.179.99.126)

외부 트래픽 흐름:
  인터넷 → OpenWrt → APISIX(10.179.99.126:9080/9443) → K3s/Traefik → pods

내부 트래픽 흐름:
  LAN → K3s/Traefik(192.168.9.x:80/443) → pods 직접
  • 게이트웨이: OpenWrt 라우터 (root@192.168.9.1)
  • OpenWrt 포트포워딩:
    • TCP 80 → hp2(192.168.9.134):9080
    • TCP 443 → hp2(192.168.9.134):9443
    • UDP 443 → hp2(192.168.9.134):9443 (QUIC/HTTP3)
  • hp2 incus proxy device (9080/9443 → APISIX 컨테이너):
    • proxy-http: tcp:0.0.0.0:9080 → tcp:127.0.0.1:9080
    • proxy-https: tcp:0.0.0.0:9443 → tcp:127.0.0.1:9443
    • proxy-quic: udp:0.0.0.0:9443 → udp:127.0.0.1:9443
  • APISIX etcd: apisix-etcd (incus 컨테이너, 10.179.99.101)
  • OVN 네트워크: ovn1 (10.165.246.0/24) — hp2↔kr2 간 오버레이
  • CDN IP 필터: BunnyCDN + Cloudflare IP만 80/443 허용, 그 외 WAN 차단
    • 스크립트: /etc/cdn-filter-update.sh
    • nftables: /etc/nftables.d/10-cdn-filter.nft
    • 크론: 매일 04:00 업데이트
  • DNS rebind 예외: inouter.com (OpenWrt dnsmasq)
  • 공인 IP 220.120.65.245는 OpenWrt 라우터의 IP

네트워크 대역

네트워크 대역: 100.0.0.0/8 (Tailscale VPN), 10.253.0.0/16 (incus-jp1 내부), 10.19.0.0/16 (incus-kr1 내부), 10.179.99.0/24 (incus-kr2 내부), 10.100.1.0/24 (inbest LAN, OpenWrt 광고), 10.42.0.0/16 (k8s 파드), 10.43.0.0/16 (k8s 서비스 ClusterIP), 172.17.0.0/16 (Docker 브릿지, 무시), 192.168.9.0/24 (kaffa 로컬 LAN)

K3s 클러스터 노드

노드명 K3s Internal IP 역할 호스트 위치
incus-hp2 192.168.9.134 control-plane
incus-kr1 192.168.9.214 control-plane 서울
incus-kr2 192.168.9.135 control-plane 서울

IPv6 prefix

jp1 prefix는 2400:8905:e002:1d02

web 컨테이너

web 컨테이너 (incus agents 프로젝트, IP 10.253.100.159): Caddy :80으로 /var/www/sites 서빙, btrfs-pool/shared-sites 볼륨을 stamp과 공유. ironclad.it.com 랜딩페이지 서빙 용도.

대시보드

사용 중인 대시보드는 dashboard.inouter.com(내부용)

Xray

Xray VLESS+XHTTP 스텔스 구성

네트워크 정책

실사용: 국내 트래픽은 직접, 해외는 프록시, 광고는 차단