zlambda: inbest SFTP 포워딩 socat을 NixOS systemd 서비스로 선언화 (docker→systemd)

+ 운영메모: nixos-infra git remote SSH→HTTPS 교체, flake는 tracked 파일만 빌드(git add 필수)
This commit is contained in:
kaffa
2026-06-10 17:59:10 +09:00
parent d1537df4ef
commit bbf1706a36

View File

@@ -46,17 +46,19 @@ NixOS 베이스 호스트 (도쿄, Linode nano). 이전 `sandbox-tokyo` 장비
| apisix / apisix-etcd | APISIX (Netbis 관련) | host network | | apisix / apisix-etcd | APISIX (Netbis 관련) | host network |
| vector-relay | 로그 릴레이 | | | vector-relay | 로그 릴레이 | |
| tlsproxy | SearXNG Google 우회 (Chrome TLS fingerprint), `:8443` | [[../../services/searxng]] | | tlsproxy | SearXNG Google 우회 (Chrome TLS fingerprint), `:8443` | [[../../services/searxng]] |
| **inbest-sftp-fwd** | **inbest SFTP 포트포워딩 socat 릴레이** | `:2201 → 10.100.1.158:22`, restart=always | | ~~inbest-sftp-fwd~~ | inbest SFTP 포워딩 **systemd 서비스로 이관(2026-06-10)**, docker 컨테이너 제거 | 아래 참조 |
### inbest SFTP 포트포워딩 (2026-06-10 구성) ### inbest SFTP 포트포워딩 (2026-06-10 구성)
- **공개 엔드포인트: `139.162.71.52:2201`** (SFTP) - **공개 엔드포인트: `139.162.71.52:2201`** (SFTP)
- 경로: `외부 → zlambda 공인IP:2201 → (tailscale 100.78.51.18 → 10.100.1.158) → kr2 inbest 프로젝트 sftp 컨테이너:22` - 경로: `외부 → zlambda 공인IP:2201 → (tailscale 100.78.51.18 → 10.100.1.158) → kr2 inbest 프로젝트 sftp 컨테이너:22`
- 릴레이: `docker run -d --name inbest-sftp-fwd --restart always --network host alpine/socat -d TCP-LISTEN:2201,fork,reuseaddr TCP:10.100.1.158:22` - 릴레이: **NixOS systemd 서비스** `inbest-sftp-fwd` (nixos-infra `inbest-sftp-fwd.nix`, `pkgs.socat`, DynamicUser, `Restart=always`, `after=tailscaled`). 초기 수동 docker(alpine/socat)에서 2026-06-10 선언적 서비스로 이관·docker 제거
- 백엔드 sshd 호스트키(ED25519): `SHA256:bHy58AE10LPS/C4I8DXnFNCDaEsH3MFUreoDz8cnCPs` (= sftp 컨테이너 키, socat 투명 relay) - 백엔드 sshd 호스트키(ED25519): `SHA256:bHy58AE10LPS/C4I8DXnFNCDaEsH3MFUreoDz8cnCPs` (= sftp 컨테이너 키, socat 투명 relay라 MITM 없음)
- 인증: sftp 컨테이너 자체 sshd (publickey/password, chroot `sftponly` 그룹, home `/data`). 계정 시크릿은 평문 미기재 - 인증: sftp 컨테이너 자체 sshd (publickey/password, chroot `sftponly` 그룹, home `/data`, 고객 사이트별 디렉토리). 계정 시크릿은 평문 미기재
- **Linode Cloud Firewall**: zlambda는 공인 IP에서 **22만 기본 개방**, 나머지(80/443/8443/9999)는 차단. 2201은 2026-06-10 인바운드 허용 추가(zlambda 소속 Linode 계정은 Vault `cloud/linode`(ironclad/apisix-osaka)와 **다른 계정** — 토큰 미보유, 방화벽은 사용자가 대시보드에서 관리) - **Linode Cloud Firewall**: zlambda는 공인 IP에서 **22만 기본 개방**, 나머지(80/443/8443/9999)는 차단. 2201은 2026-06-10 인바운드 허용 추가(zlambda 소속 Linode 계정은 Vault `cloud/linode`(ironclad/apisix-osaka)와 **다른 계정** — 토큰 미보유, 방화벽은 사용자가 대시보드에서 관리)
- TODO: socat 릴레이를 nixos-infra에 선언적으로 추가 (현재 수동 docker, restart=always로 재부팅은 생존하나 NixOS 정본엔 미반영). [[../../services/sftpgo|SFTPGo]] / [[../../network/sshpiper|sshpiper]]와 역할 구분 - [[../../services/sftpgo|SFTPGo]] / [[../../network/sshpiper|sshpiper]]와 역할 구분 (이건 단순 TCP relay)
> **운영 메모 (2026-06-10)**: zlambda `/root/nixos-infra` git 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`
## 용도 검토 ## 용도 검토