remote-access — 작업 규칙
규칙(항구적 판단 기준)만 여기. 상태·이력은
handoff.md. 전역 원격접속 규칙은user_brief/rules/remote.md가 단일 출처.
🆕 신규
- 진단 1줄 = 소스 바인드 비교(2026-08-10 확정).
socket.bind(('192.168.45.48',0))(물리 NIC) →1.1.1.1:443OPEN,bind(('10.73.241.2',0))(터널) → timeout. 물리 인터넷은 멀쩡하고 죽은 터널이 기본 경로만 먹고 있다는 증거.Find-NetRoute는 후보만 보여줘 판단이 안 서고, 단발 TCP 테스트는 가끔 OPEN이 튀어 오판을 부른다(반복 4회로 확인할 것). -
WG
poin은 full-tunnel(0.0.0.0/1+128.0.0.0/1)이라 터널이 죽으면 미니PC 인터넷 전체가 죽는다(2026-08-10 실측). 인터페이스는 Up·서비스는 Running인데Get-NetAdapterStatistics -Name poin= rx/tx 0이면 핸드셰이크 0 = 블랙홀. 이때 Tailscale(100.x)만 살아남아 코디 세션·DNS는 정상으로 보이므로 "사무실 LAN만 안 된다"고 오진하지 말 것 — 판정은1.1.1.1:443같은 공인망 TCP 1발로 한다. 텔레그램 broker 500도 같은 증상(발송 경로 = 노트20 카톡poin-agent/phone.py로 우회). 복구 =C:\dev\tools\restart_wg_poin.ps1관리자(코디 Bash는 비관리자라Restart-Service거부). 계기 = 윈도우 업데이트 재부팅 후 DDNS 엔드포인트 해석 실패 추정. -
노트북↔미니PC SMB는 통과인증이 안 된다(2026-08-07 실측). 노트북
delix= Microsoft 계정, 미니PCdelix= 로컬 계정 → 같은 이름이어도 자격증명이 다르다. 노트북엔 저장 자격증명 0건이었다(cmdkey /list비어있음). 해법 = 노트북에cmdkey /add:100.108.234.45 /user:POIN-MINI\delix1회 저장. 미니PCdev공유는 이미 존재(공유 Everyone Full · NTFS 인증사용자 Modify). - SSH(키인증) 세션에서는 원격 SMB 접근이 원천 불가. OpenSSH 키 로그온 토큰엔 자격증명이 없어(S4U)
Test-Path \\peer\share가 항상PermissionDenied다. 방화벽·공유 문제로 오진하지 말 것. 명시 자격증명(net use /user:)을 주거나 대화형 세션에서 돌려야 한다. 같은 이유로 DPAPI가 안 풀려cmdkey영속 저장도 신뢰할 수 없다. schtasks /it로 만든 작업이 SSH에서/run해도 세션1에서 안 뜬다(2026-08-07, 노트북 세션3에 explorer 살아있는데도 last result 0인 채 미실행). 대화형 실행이 꼭 필요하면 바탕화면 스크립트를 깔아두고 페페가 1회 클릭하는 쪽이 확실하다.- 탐색기 즐겨찾기 = Quick Access 핀. 등록은
Shell.Application.Namespace(<경로>).Self.InvokeVerb('pintohome'), 확인은Namespace('shell:::{679f85cb-0220-4080-b29b-5540cc05aab6}')열거. 비대화형 세션에서 핀은 안 먹는다(열거는 됨). - 페페용 대화형
.ps1은 UTF-8 BOM으로 저장한다. Windows PowerShell 5.1은 BOM 없는 UTF-8을 cp949로 읽어 한글 메시지가 깨진다. Write 도구로 쓴 뒤encoding='utf-8-sig'로 다시 저장할 것. - 미니PC 인터넷은 유선 고정.(2026-08-01 페페 전환) 서브넷 라우터·Funnel·Remote-SSH가 전부 미니PC 네트워크에 얹혀 있어 Wi-Fi 전환마다 터널이 끊겼다. 무선으로 되돌리지 말 것. 네트워크를 갈아탄 뒤엔 포워딩(
Tailscale·poinEnabled)·PrimaryRoutes·Funnel 3개를 재확인한다(Tailscale 재설치로 인터페이스가 새로 생기면 포워딩이 날아간다). - 경로 선택 기본값 = Tailscale. PC·폰 대상이면 Tailscale로 먼저 푼다. WireGuard는 Tailscale을 못 올리는 기기(NAS 같은 임베디드 어플라이언스)나 직결 속도가 실제로 필요할 때만. 이유 = 라우터 admin 자격이 상시 병목이고, Tailscale은 어디서든 붙고 kill-switch 사고가 없다. (2026-07-31 페페 결정 "A 먼저, B는 나중")
- LAN 통째로 필요하면 노드를 늘리지 말고 서브넷 라우터를 쓴다. 사무실 LAN에 Tailscale 못 까는 기기가 여럿이면 미니PC 하나를 서브넷 라우터로 두는 게 정답(기기별 설치·피어등록 0).
- Windows 서브넷 라우터는 IP 포워딩까지 켜야 끝난다. 광고(
tailscale set --advertise-routes) + admin 승인 + 인터페이스Forwarding Enabled3개가 전부 충족돼야 통한다. 앞의 둘만 보고 "개통"이라 보고하지 말 것 — 셋 다 정상으로 보이는데 패킷이 죽는 상태가 실제로 있었다. - 라우트 변경은
tailscale set,tailscale up금지.up은 지정 안 한 플래그를 기본값으로 되돌려 Funnel·exit node 설정을 날린다. - 개통 판정은 실제 파일 접근까지.
PrimaryRoutes표시·포트 열림은 근거가 안 된다. 탐색기에서 공유 폴더 목록이 보이는 것까지가 "됨"이다(rules/remote.md"포트 열림 ≠ 접근 가능"과 동일 원칙). - 폰(adb shell)은 네트워크 검증 도구가 아니다. VpnService 밖이라 tailnet 자체가 안 잡힌다. 검증은 실제 PC에서.
- 미니PC 의존을 페페에게 명시한다. 서브넷 라우터 구성에서 미니PC가 꺼지면 노트북·폰의 사무실 LAN 접근이 같이 끊긴다. 이 트레이드오프는 채택 시 1회 고지하고 handoff에 남긴다.