환경 요약
- Proxmox VE 8.x (Kernel 6.8.x)
- Nginx Proxy Manager LXC 컨테이너 (Debian 12)
- Tailscale 사용 (외부 접근/관리)
1. 장애 발생 상황
📸 첨부 이미지 1: Proxmox Summary 화면 (CPU/RAM 정상인데 체감 속도 저하)

어느 날 NPM VM(LXC)을 재부팅한 이후부터 이상 증상이 시작됐다.
- NPM 웹 페이지 로딩이 극단적으로 느림
- Proxmox 에서 해당 컨테이너로의 콘솔 접속 자체가 늦거나 끊김
- Tailnet에서 NPM 노드가 보이지 않음
- 하지만 Proxmox Summary에서는 CPU / RAM 사용률 정상
처음엔 디스크 I/O 문제를 의심했지만, sync 명령이 즉시 반환되어 스토리지 병목은 아닌 것으로 판단했다.
2. Tailscale 상태 확인
📸 첨부 이미지 2:
tailscale status실행 시 오류 화면

NPM LXC 안에서 확인한 결과:systemctl status tailscaled
결과는 명확했다.Active: failed (Result: exit-code)
즉, tailscaled 데몬 자체가 기동 실패 상태였다.
3. 결정적 로그 (원인 확정)
journalctl -u tailscaled로그
root@nginxproxymanager:~# journalctl -u tailscaled -b –no-pager | tail -n 120
Dec 29 16:23:22 nginxproxymanager systemd[1]: tailscaled.service: Main process exited, code=exited, status=1/FAILURE
Dec 29 16:23:22 nginxproxymanager tailscaled[415]: TPM: error opening: stat /dev/tpmrm0: no such file or directory
Dec 29 16:23:22 nginxproxymanager tailscaled[415]: logtail started
Dec 29 16:23:22 nginxproxymanager tailscaled[415]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{“/usr/sbin/tailscaled”, “–cleanup”}
Dec 29 16:23:22 nginxproxymanager tailscaled[415]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c
Dec 29 16:23:22 nginxproxymanager tailscaled[415]: logpolicy: using $STATE_DIRECTORY, “/var/lib/tailscale”
Dec 29 16:23:22 nginxproxymanager tailscaled[415]: dns: [rc=unknown ret=direct]
Dec 29 16:23:22 nginxproxymanager tailscaled[415]: dns: using “direct” mode
Dec 29 16:23:22 nginxproxymanager tailscaled[415]: dns: using *dns.directManager
Dec 29 16:23:22 nginxproxymanager tailscaled[415]: dns: inotify: NewDirWatcher: context canceled
Dec 29 16:23:22 nginxproxymanager tailscaled[415]: flushing log.
Dec 29 16:23:22 nginxproxymanager tailscaled[415]: logger closing down
Dec 29 16:23:23 nginxproxymanager systemd[1]: tailscaled.service: Failed with result ‘exit-code’.
Dec 29 16:23:23 nginxproxymanager systemd[1]: tailscaled.service: Scheduled restart job, restart counter is at 2.
Dec 29 16:23:23 nginxproxymanager systemd[1]: Stopped tailscaled.service – Tailscale node agent.
Dec 29 16:23:23 nginxproxymanager systemd[1]: Starting tailscaled.service – Tailscale node agent…
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: TPM: error opening: stat /dev/tpmrm0: no such file or directory
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: logtail started
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{“/usr/sbin/tailscaled”, “–state=/var/lib/tailscale/tailscaled.state”, “–socket=/run/tailscale/tailscaled.sock”, “–port=41641”}
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: logpolicy: using $STATE_DIRECTORY, “/var/lib/tailscale”
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: dns: [rc=unknown ret=direct]
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: dns: using “direct” mode
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: dns: using *dns.directManager
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: dns: inotify: NewDirWatcher: context canceled
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: wgengine.NewUserspaceEngine(tun “tailscale0”) …
Dec 29 16:23:23 nginxproxymanager systemd[1]: Started tailscaled.service – Tailscale node agent.
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: Linux kernel version: 6.8.12-5-pve
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: is CONFIG_TUN enabled in your kernel?modprobe tunfailed with: modprobe: FATAL: Module tun not found in directory /lib/modules/6.8.12-5-pve
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: tun module not loaded nor found on disk
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: wgengine.NewUserspaceEngine(tun “tailscale0”) error: tstun.New(“tailscale0”): CreateTUN(“tailscale0”) failed; /dev/net/tun does not exist
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: flushing log.
Dec 29 16:23:23 nginxproxymanager tailscaled[634]: logger closing down
Dec 29 16:23:24 nginxproxymanager tailscaled[634]: getLocalBackend error: createEngine: tstun.New(“tailscale0”): CreateTUN(“tailscale0”) failed; /dev/net/tun does not exist
Dec 29 16:23:24 nginxproxymanager systemd[1]: tailscaled.service: Main process exited, code=exited, status=1/FAILURE
Dec 29 16:23:24 nginxproxymanager tailscaled[665]: TPM: error opening: stat /dev/tpmrm0: no such file or directory
Dec 29 16:23:24 nginxproxymanager tailscaled[665]: logtail started
Dec 29 16:23:24 nginxproxymanager tailscaled[665]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{“/usr/sbin/tailscaled”, “–cleanup”}
Dec 29 16:23:24 nginxproxymanager tailscaled[665]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c
Dec 29 16:23:24 nginxproxymanager tailscaled[665]: logpolicy: using $STATE_DIRECTORY, “/var/lib/tailscale”
Dec 29 16:23:24 nginxproxymanager tailscaled[665]: dns: [rc=unknown ret=direct]
Dec 29 16:23:24 nginxproxymanager tailscaled[665]: dns: using “direct” mode
Dec 29 16:23:24 nginxproxymanager tailscaled[665]: dns: using *dns.directManager
Dec 29 16:23:24 nginxproxymanager tailscaled[665]: dns: inotify: NewDirWatcher: context canceled
Dec 29 16:23:24 nginxproxymanager tailscaled[665]: flushing log.
Dec 29 16:23:24 nginxproxymanager tailscaled[665]: logger closing down
Dec 29 16:23:24 nginxproxymanager systemd[1]: tailscaled.service: Failed with result ‘exit-code’.
Dec 29 16:23:24 nginxproxymanager systemd[1]: tailscaled.service: Scheduled restart job, restart counter is at 3.
Dec 29 16:23:24 nginxproxymanager systemd[1]: Stopped tailscaled.service – Tailscale node agent.
Dec 29 16:23:24 nginxproxymanager systemd[1]: Starting tailscaled.service – Tailscale node agent…
Dec 29 16:23:24 nginxproxymanager tailscaled[691]: TPM: error opening: stat /dev/tpmrm0: no such file or directory
Dec 29 16:23:24 nginxproxymanager tailscaled[691]: logtail started
Dec 29 16:23:24 nginxproxymanager tailscaled[691]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{“/usr/sbin/tailscaled”, “–state=/var/lib/tailscale/tailscaled.state”, “–socket=/run/tailscale/tailscaled.sock”, “–port=41641”}
Dec 29 16:23:24 nginxproxymanager tailscaled[691]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c
Dec 29 16:23:24 nginxproxymanager tailscaled[691]: logpolicy: using $STATE_DIRECTORY, “/var/lib/tailscale”
Dec 29 16:23:24 nginxproxymanager tailscaled[691]: dns: [rc=unknown ret=direct]
Dec 29 16:23:24 nginxproxymanager tailscaled[691]: dns: using “direct” mode
Dec 29 16:23:24 nginxproxymanager tailscaled[691]: dns: using *dns.directManager
Dec 29 16:23:24 nginxproxymanager tailscaled[691]: dns: inotify: NewDirWatcher: context canceled
Dec 29 16:23:25 nginxproxymanager tailscaled[691]: wgengine.NewUserspaceEngine(tun “tailscale0”) …
Dec 29 16:23:25 nginxproxymanager systemd[1]: Started tailscaled.service – Tailscale node agent.
Dec 29 16:23:25 nginxproxymanager tailscaled[691]: Linux kernel version: 6.8.12-5-pve
Dec 29 16:23:25 nginxproxymanager tailscaled[691]: is CONFIG_TUN enabled in your kernel?modprobe tunfailed with: modprobe: FATAL: Module tun not found in directory /lib/modules/6.8.12-5-pve
Dec 29 16:23:25 nginxproxymanager tailscaled[691]: tun module not loaded nor found on disk
Dec 29 16:23:25 nginxproxymanager tailscaled[691]: wgengine.NewUserspaceEngine(tun “tailscale0”) error: tstun.New(“tailscale0”): CreateTUN(“tailscale0”) failed; /dev/net/tun does not exist
Dec 29 16:23:25 nginxproxymanager tailscaled[691]: flushing log.
Dec 29 16:23:25 nginxproxymanager tailscaled[691]: logger closing down
Dec 29 16:23:25 nginxproxymanager tailscaled[691]: getLocalBackend error: createEngine: tstun.New(“tailscale0”): CreateTUN(“tailscale0”) failed; /dev/net/tun does not exist
Dec 29 16:23:25 nginxproxymanager systemd[1]: tailscaled.service: Main process exited, code=exited, status=1/FAILURE
Dec 29 16:23:25 nginxproxymanager tailscaled[722]: TPM: error opening: stat /dev/tpmrm0: no such file or directory
Dec 29 16:23:25 nginxproxymanager tailscaled[722]: logtail started
Dec 29 16:23:25 nginxproxymanager tailscaled[722]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{“/usr/sbin/tailscaled”, “–cleanup”}
Dec 29 16:23:25 nginxproxymanager tailscaled[722]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c
Dec 29 16:23:25 nginxproxymanager tailscaled[722]: logpolicy: using $STATE_DIRECTORY, “/var/lib/tailscale”
Dec 29 16:23:25 nginxproxymanager tailscaled[722]: dns: [rc=unknown ret=direct]
Dec 29 16:23:25 nginxproxymanager tailscaled[722]: dns: using “direct” mode
Dec 29 16:23:25 nginxproxymanager tailscaled[722]: dns: using *dns.directManager
Dec 29 16:23:25 nginxproxymanager tailscaled[722]: dns: inotify: NewDirWatcher: context canceled
Dec 29 16:23:25 nginxproxymanager tailscaled[722]: flushing log.
Dec 29 16:23:25 nginxproxymanager tailscaled[722]: logger closing down
Dec 29 16:23:26 nginxproxymanager systemd[1]: tailscaled.service: Failed with result ‘exit-code’.
Dec 29 16:23:26 nginxproxymanager systemd[1]: tailscaled.service: Scheduled restart job, restart counter is at 4.
Dec 29 16:23:26 nginxproxymanager systemd[1]: Stopped tailscaled.service – Tailscale node agent.
Dec 29 16:23:26 nginxproxymanager systemd[1]: Starting tailscaled.service – Tailscale node agent…
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: TPM: error opening: stat /dev/tpmrm0: no such file or directory
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: logtail started
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{“/usr/sbin/tailscaled”, “–state=/var/lib/tailscale/tailscaled.state”, “–socket=/run/tailscale/tailscaled.sock”, “–port=41641”}
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: logpolicy: using $STATE_DIRECTORY, “/var/lib/tailscale”
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: dns: [rc=unknown ret=direct]
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: dns: using “direct” mode
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: dns: using *dns.directManager
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: dns: inotify: NewDirWatcher: context canceled
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: wgengine.NewUserspaceEngine(tun “tailscale0”) …
Dec 29 16:23:26 nginxproxymanager systemd[1]: Started tailscaled.service – Tailscale node agent.
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: Linux kernel version: 6.8.12-5-pve
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: is CONFIG_TUN enabled in your kernel?modprobe tunfailed with: modprobe: FATAL: Module tun not found in directory /lib/modules/6.8.12-5-pve
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: tun module not loaded nor found on disk
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: wgengine.NewUserspaceEngine(tun “tailscale0”) error: tstun.New(“tailscale0”): CreateTUN(“tailscale0”) failed; /dev/net/tun does not exist
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: flushing log.
Dec 29 16:23:26 nginxproxymanager tailscaled[748]: logger closing down
Dec 29 16:23:27 nginxproxymanager tailscaled[748]: getLocalBackend error: createEngine: tstun.New(“tailscale0”): CreateTUN(“tailscale0”) failed; /dev/net/tun does not exist
Dec 29 16:23:27 nginxproxymanager systemd[1]: tailscaled.service: Main process exited, code=exited, status=1/FAILURE
Dec 29 16:23:27 nginxproxymanager tailscaled[779]: TPM: error opening: stat /dev/tpmrm0: no such file or directory
Dec 29 16:23:27 nginxproxymanager tailscaled[779]: logtail started
Dec 29 16:23:27 nginxproxymanager tailscaled[779]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{“/usr/sbin/tailscaled”, “–cleanup”}
Dec 29 16:23:27 nginxproxymanager tailscaled[779]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c
Dec 29 16:23:27 nginxproxymanager tailscaled[779]: logpolicy: using $STATE_DIRECTORY, “/var/lib/tailscale”
Dec 29 16:23:27 nginxproxymanager tailscaled[779]: dns: [rc=unknown ret=direct]
Dec 29 16:23:27 nginxproxymanager tailscaled[779]: dns: using “direct” mode
Dec 29 16:23:27 nginxproxymanager tailscaled[779]: dns: using *dns.directManager
Dec 29 16:23:27 nginxproxymanager tailscaled[779]: dns: inotify: NewDirWatcher: context canceled
Dec 29 16:23:27 nginxproxymanager tailscaled[779]: flushing log.
Dec 29 16:23:27 nginxproxymanager tailscaled[779]: logger closing down
Dec 29 16:23:27 nginxproxymanager systemd[1]: tailscaled.service: Failed with result ‘exit-code’.
Dec 29 16:23:28 nginxproxymanager systemd[1]: tailscaled.service: Scheduled restart job, restart counter is at 5.
Dec 29 16:23:28 nginxproxymanager systemd[1]: Stopped tailscaled.service – Tailscale node agent.
Dec 29 16:23:28 nginxproxymanager systemd[1]: tailscaled.service: Start request repeated too quickly.
Dec 29 16:23:28 nginxproxymanager systemd[1]: tailscaled.service: Failed with result ‘exit-code’.
Dec 29 16:23:28 nginxproxymanager systemd[1]: Failed to start tailscaled.service – Tailscale node agent.
journalctl -u tailscaled -b --no-pager
핵심 로그:CreateTUN("tailscale0") failed; /dev/net/tun does not exist modprobe: FATAL: Module tun not found
여기서 원인을 찾을 수 있었다.
이 NPM은 LXC 컨테이너이고, /dev/net/tun 이 패스스루되지 않은 상태
컨테이너 안에서 modprobe tun 이 실패하는 건 정상이다.
LXC에서는 Host가 가진 TUN 디바이스를 직접 마운트해줘야 한다.
4. Proxmox Host에서 해결 조치
(1) LXC 설정 파일 수정
nano /etc/pve/lxc/<CTID>.conf
아래 항목 추가:lxc.cgroup2.devices.allow: c 10:200 rwm lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file 0 0 features: keyctl=1,nesting=1
(2) 컨테이너 재시작
pct restart <CTID>
5. 컨테이너 내부에서 최종 확인
ls -l /dev/net/tun systemctl reset-failed tailscaled systemctl start tailscaled tailscale status
정상 출력 예시:100.97.x.x nginxproxymanager linux 100.115.x.x proxmox linux ...
→ Tailnet 정상 복구 완료
6. 왜 NPM만 유독 느렸을까?
Nginx Proxy Manager는:
- HTTPS 인증서 갱신
- 외부 API 통신
- Reverse Proxy 트래픽
모두 외부 네트워크 의존도가 높다.
Tailscale이 죽은 상태에서:
- 외부 접근 경로가 지연
- DNS/네트워크 타임아웃 누적
→ 체감 성능이 급격히 나빠진 것처럼 보인 것뿐이었다.
7. 정리
- Proxmox 자원 그래프는 항상 진실을 말하지 않는다
- LXC에서 Tailscale을 쓸 경우
/dev/net/tun패스스루는 필수
- 재부팅 후 발생한 서비스 장애는
- 로그 한 줄로 확정 원인까지 갈 수 있다
다음에 같은 증상이 나오면
systemctl status tailscaledjournalctl -u tailscaled -b/dev/net/tun존재 여부 확인
