6.2 KiB
6.2 KiB
title, updated, tags, type, host_kind, location, provider, status, ssh_host, public_ip, tailscale_ip, lan_ip, os, cpu_cores, ram_gb, k3s_role, critical, monthly_cost_usd, aliases
| title | updated | tags | type | host_kind | location | provider | status | ssh_host | public_ip | tailscale_ip | lan_ip | os | cpu_cores | ram_gb | k3s_role | critical | monthly_cost_usd | aliases | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| zlambda | 2026-04-13 |
|
host | vm | tokyo | linode | active | zlambda | 139.162.71.52 | 100.78.51.18 | null | NixOS 25.05 | 1 | 2 | null | false | 5 |
|
역할
NixOS 베이스 호스트 (도쿄, Linode nano). 이전 sandbox-tokyo 장비를 2026-04-08에 Debian → NixOS로 전환. 경량 docker + tailscale + sshd.
이전된/제거된 구성
- APISIX + etcd (Netbis DR) — 제거
- microsocks — 제거
- tlsproxy, vault-prod, wg-easy — 제거
현재 구성
- sshd, tailscale, docker
- Linode 프로필: kernel
linode/direct-disk - BBR + fq + sysctl 튜닝
- NixOS configuration: Gitea kaffa/nixos-infra
- kaffa-macmini:
~/nixos-infra/ - zlambda:
/root/nixos-infra/
- kaffa-macmini:
Docker 컨테이너
| 컨테이너 | 역할 | 비고 |
|---|---|---|
| apisix / apisix-etcd | APISIX (Netbis 관련) | host network |
| vector-relay | 로그 릴레이 | |
| tlsproxy | SearXNG Google 우회 (Chrome TLS fingerprint), :8443 |
../../services/searxng |
| nginx (stream) | inbest SFTP 포워딩 :2201 → 10.100.1.158:22. 2026-06-11 socat→nginx stream 교체 |
아래 참조 |
inbest SFTP 포트포워딩 (2026-06-10 구성, 2026-06-11 nginx 교체)
- 공개 엔드포인트:
139.162.71.52:2201(SFTP) - 경로:
외부 → zlambda 공인IP:2201 → (tailscale 100.78.51.18 → 10.100.1.158) → kr2 inbest 프로젝트 sftp 컨테이너:22 - 릴레이: NixOS
services.nginxstream TCP proxy (nixos-infrainbest-sftp-fwd.nix,streamConfigupstream → 10.100.1.158:22,proxy_timeout 1h). flake 빌드:nixos-rebuild switch --flake /root/nixos-infra#zlambda- 이력: 수동 docker(alpine/socat) → 2026-06-10 systemd socat 서비스 → 2026-06-11 nginx stream 교체 (socat 경유 파일 전송 장애 보고). nginx는 http 가상호스트 미정의로 80/443 미점유, stream 만 사용
- 백엔드 sshd 호스트키(ED25519):
SHA256:bHy58AE10LPS/C4I8DXnFNCDaEsH3MFUreoDz8cnCPs(= sftp 컨테이너 키, 평문 TCP relay라 MITM 없음). 백엔드 sshd: OpenSSH 10.0p2 Debian - 인증: sftp 컨테이너 자체 sshd (publickey/password). chroot 미사용(
ChrootDirectory none),Match User inbest→ForceCommand internal-sftp, home/data(소유inbest:sftponly), 고객 사이트별 디렉토리(in-best-com, leewell-com 등). 비밀번호 yescrypt($y$). 계정 시크릿은 Vault. 2026-06-11 검증: password/키 인증·10MB 업다운로드 정상(40/40) - ⚠️ 2201이 2026-06-10 인터넷 개방됨 → sshd 무차별 대입 스캔 노출. inbest 계정 약한 비밀번호 → 키 전용 전환 또는 fail2ban 검토 권장
2026-06-11 inbest SFTP "전송만 안 됨" 장애 — 실제 원인은 클라이언트(FileZilla)
- 증상: FileZilla로 접속·디렉토리 이동은 되는데 파일 업로드/다운로드만 실패. 진입점
139.162.71.52:2201. (원격지원으로 "디렉토리는 다 돌아다님, 전송만 실패" 확인) - ★ 실제 근본원인 (클라이언트): 고객 FileZilla가 탐색 연결은 올바른 비번으로 인증해 살려두고, 전송용으로 새로 여는 연결에는 틀린 저장 비밀번호를 보냄 → 백엔드에
Failed password/unix_chkpwd: password check failed가 전송 시점마다 찍힘(약 7~8초 간격 = FileZilla 재시도). 그래서 "이동은 되는데 전송만 실패". - 해결: 고객 FileZilla 사이트관리자 → 로그온 유형 Normal + 저장 비밀번호
inbest1004재입력(복붙 금지) + 전송설정 탭 "동시 연결 수 제한 = 1"(전송이 인증된 단일 연결을 재사용 → 틀린 비번 가는 2번째 연결 제거). 적용 후 백엔드 로그 전부Accepted password로 전환, 전송 정상. - 서버는 무죄: 서버·릴레이·계정 모두 정상이었음. 검증 — kappa 로컬·사용자 맥 양쪽에서 password/키 인증·순차/동시(9/9, 8/8) 10MB 업다운 전부 성공.
inbest1004는 유효(shadow yescrypt 해시 일치).
진단 중 적용한 서버측 개선 (원인 아님, 유지)
- socat → nginx stream 릴레이 교체 (위 본문). socat·nginx 둘 다 전송 자체는 정상이었으나 nginx로 일원화.
- PerSourcePenalties 면제:
/etc/ssh/sshd_config.d/00-relay-penalty-exempt.conf→PerSourcePenaltyExemptList 192.168.9.1+systemctl restart ssh. 백엔드 sshd(OpenSSH 10.0, penalties 기본 활성)는 릴레이→OpenWrt SNAT로 **모든 외부 클라이언트가 단일 source192.168.9.1**로 보여, 한 클라이언트(스캐너 등)의 인증 실패가 공유 source 전체를 페널티→정상 고객 새 연결 드롭 위험. 릴레이 뒤 per-source 페널티는 무의미·유해하므로 면제. (이번 장애의 직접 원인은 아니었지만 잠재 collateral 차단 예방) - 잔여 권고: 면제로 릴레이 경유 brute-force 방어 공백 → zlambda nginx
limit_conn/fail2ban 또는 Linode 방화벽 소스 제한. inbest 약한 비밀번호 키 전용 전환 권장. - Linode Cloud Firewall: zlambda는 공인 IP에서 22만 기본 개방, 나머지(80/443/8443/9999)는 차단. 2201은 2026-06-10 인바운드 허용 추가(zlambda 소속 Linode 계정은 Vault
cloud/linode(ironclad/apisix-osaka)와 다른 계정 — 토큰 미보유, 방화벽은 사용자가 대시보드에서 관리) - ../../services/sftpgo / ../../network/sshpiper와 역할 구분 (이건 단순 TCP relay)
운영 메모 (2026-06-10): zlambda
/root/nixos-infragit remote가 SSH(git@gitea)였는데 root 키 인증 실패로git pull안 됨 → HTTPS+토큰으로 교체(해결). 또한 flake는 git에 tracked된 파일만/nix/store로 복사하므로, 새 .nix 추가 시git add필수(안 하면path ... does not exist빌드 실패). rebuild:nixos-rebuild switch --flake /root/nixos-infra#zlambda
용도 검토
- K3s worker 편입 후보 (taint geo=tokyo) — k3s-migration
- 도쿄 POP 엣지 워크로드 용도
상세 인프라 컨텍스트: infra-hosts