{"id":110,"date":"2025-12-29T07:50:32","date_gmt":"2025-12-29T07:50:32","guid":{"rendered":"https:\/\/blog.mozaiq.uk\/?p=110"},"modified":"2025-12-29T08:11:52","modified_gmt":"2025-12-29T08:11:52","slug":"proxmox-npm-lxc%ec%97%90%ec%84%9c-tailscale%ea%b0%80-%ec%a3%bd%ec%97%88%ec%9d%84-%eb%95%8c-%ec%8b%a4%ec%a0%9c-%ec%9e%a5%ec%95%a0-%eb%b3%b5%ea%b5%ac-%ea%b8%b0%eb%a1%9d","status":"publish","type":"post","link":"https:\/\/blog.mozaiq.uk\/?p=110","title":{"rendered":"Proxmox NPM LXC\uc5d0\uc11c Tailscale\uac00 \uc8fd\uc5c8\uc744 \ub54c (\uc2e4\uc81c \uc7a5\uc560 \ubcf5\uad6c \uae30\ub85d)"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\ud658\uacbd \uc694\uc57d<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Proxmox VE 8.x (Kernel 6.8.x)<\/li>\n\n\n\n<li>Nginx Proxy Manager <strong>LXC \ucee8\ud14c\uc774\ub108<\/strong> (Debian 12)<\/li>\n\n\n\n<li>Tailscale \uc0ac\uc6a9 (\uc678\ubd80 \uc811\uadfc\/\uad00\ub9ac)<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1. \uc7a5\uc560 \ubc1c\uc0dd \uc0c1\ud669<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udcf8 <strong>\ucca8\ubd80 \uc774\ubbf8\uc9c0 1<\/strong>: Proxmox Summary \ud654\uba74 (CPU\/RAM \uc815\uc0c1\uc778\ub370 \uccb4\uac10 \uc18d\ub3c4 \uc800\ud558)<\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"517\" height=\"947\" src=\"https:\/\/blog.mozaiq.uk\/wp-content\/uploads\/2025\/12\/image_editor_output_image-1919041224-17669943133764024570755604251262.jpg\" alt=\"\" class=\"wp-image-106\" srcset=\"https:\/\/blog.mozaiq.uk\/wp-content\/uploads\/2025\/12\/image_editor_output_image-1919041224-17669943133764024570755604251262.jpg 517w, https:\/\/blog.mozaiq.uk\/wp-content\/uploads\/2025\/12\/image_editor_output_image-1919041224-17669943133764024570755604251262-164x300.jpg 164w\" sizes=\"auto, (max-width: 517px) 100vw, 517px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5b4\ub290 \ub0a0 NPM VM(LXC)\uc744 \uc7ac\ubd80\ud305\ud55c \uc774\ud6c4\ubd80\ud130 \uc774\uc0c1 \uc99d\uc0c1\uc774 \uc2dc\uc791\ub410\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>NPM \uc6f9 \ud398\uc774\uc9c0 \ub85c\ub529\uc774 \uadf9\ub2e8\uc801\uc73c\ub85c \ub290\ub9bc\n<ul class=\"wp-block-list\">\n<li>Proxmox \uc5d0\uc11c \ud574\ub2f9 \ucee8\ud14c\uc774\ub108\ub85c\uc758 \ucf58\uc194 \uc811\uc18d \uc790\uccb4\uac00 \ub2a6\uac70\ub098 \ub04a\uae40<\/li>\n\n\n\n<li>Tailnet\uc5d0\uc11c NPM \ub178\ub4dc\uac00 \ubcf4\uc774\uc9c0 \uc54a\uc74c<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\ud558\uc9c0\ub9cc Proxmox Summary\uc5d0\uc11c\ub294 <strong>CPU \/ RAM \uc0ac\uc6a9\ub960 \uc815\uc0c1<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\uc74c\uc5d4 \ub514\uc2a4\ud06c I\/O \ubb38\uc81c\ub97c \uc758\uc2ec\ud588\uc9c0\ub9cc, <code>sync<\/code> \uba85\ub839\uc774 \uc989\uc2dc \ubc18\ud658\ub418\uc5b4 \uc2a4\ud1a0\ub9ac\uc9c0 \ubcd1\ubaa9\uc740 \uc544\ub2cc \uac83\uc73c\ub85c \ud310\ub2e8\ud588\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2. Tailscale \uc0c1\ud0dc \ud655\uc778<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udcf8 <strong>\ucca8\ubd80 \uc774\ubbf8\uc9c0 2<\/strong>: <code>tailscale status<\/code> \uc2e4\ud589 \uc2dc \uc624\ub958 \ud654\uba74<\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"522\" height=\"1024\" src=\"https:\/\/blog.mozaiq.uk\/wp-content\/uploads\/2025\/12\/281208505532985260152081-522x1024.jpg\" alt=\"\" class=\"wp-image-108\" srcset=\"https:\/\/blog.mozaiq.uk\/wp-content\/uploads\/2025\/12\/281208505532985260152081-522x1024.jpg 522w, https:\/\/blog.mozaiq.uk\/wp-content\/uploads\/2025\/12\/281208505532985260152081-153x300.jpg 153w, https:\/\/blog.mozaiq.uk\/wp-content\/uploads\/2025\/12\/281208505532985260152081-768x1507.jpg 768w, https:\/\/blog.mozaiq.uk\/wp-content\/uploads\/2025\/12\/281208505532985260152081-783x1536.jpg 783w, https:\/\/blog.mozaiq.uk\/wp-content\/uploads\/2025\/12\/281208505532985260152081.jpg 1019w\" sizes=\"auto, (max-width: 522px) 100vw, 522px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">NPM LXC \uc548\uc5d0\uc11c \ud655\uc778\ud55c \uacb0\uacfc:<code class=\"language-bash\">systemctl status tailscaled<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uacb0\uacfc\ub294 \uba85\ud655\ud588\ub2e4.<code>Active: failed (Result: exit-code)<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc989, <strong>tailscaled \ub370\ubaac \uc790\uccb4\uac00 \uae30\ub3d9 \uc2e4\ud328<\/strong> \uc0c1\ud0dc\uc600\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3. \uacb0\uc815\uc801 \ub85c\uadf8 (\uc6d0\uc778 \ud655\uc815)<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><code>journalctl -u tailscaled<\/code> \ub85c\uadf8<br>root@nginxproxymanager:~# journalctl -u tailscaled -b &#8211;no-pager | tail -n 120<br>Dec 29 16:23:22 nginxproxymanager systemd[1]: tailscaled.service: Main process exited, code=exited, status=1\/FAILURE<br>Dec 29 16:23:22 nginxproxymanager tailscaled[415]: TPM: error opening: stat \/dev\/tpmrm0: no such file or directory<br>Dec 29 16:23:22 nginxproxymanager tailscaled[415]: logtail started<br>Dec 29 16:23:22 nginxproxymanager tailscaled[415]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{&#8220;\/usr\/sbin\/tailscaled&#8221;, &#8220;&#8211;cleanup&#8221;}<br>Dec 29 16:23:22 nginxproxymanager tailscaled[415]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c<br>Dec 29 16:23:22 nginxproxymanager tailscaled[415]: logpolicy: using $STATE_DIRECTORY, &#8220;\/var\/lib\/tailscale&#8221;<br>Dec 29 16:23:22 nginxproxymanager tailscaled[415]: dns: [rc=unknown ret=direct]<br>Dec 29 16:23:22 nginxproxymanager tailscaled[415]: dns: using &#8220;direct&#8221; mode<br>Dec 29 16:23:22 nginxproxymanager tailscaled[415]: dns: using *dns.directManager<br>Dec 29 16:23:22 nginxproxymanager tailscaled[415]: dns: inotify: NewDirWatcher: context canceled<br>Dec 29 16:23:22 nginxproxymanager tailscaled[415]: flushing log.<br>Dec 29 16:23:22 nginxproxymanager tailscaled[415]: logger closing down<br>Dec 29 16:23:23 nginxproxymanager systemd[1]: tailscaled.service: Failed with result &#8216;exit-code&#8217;.<br>Dec 29 16:23:23 nginxproxymanager systemd[1]: tailscaled.service: Scheduled restart job, restart counter is at 2.<br>Dec 29 16:23:23 nginxproxymanager systemd[1]: Stopped tailscaled.service &#8211; Tailscale node agent.<br>Dec 29 16:23:23 nginxproxymanager systemd[1]: Starting tailscaled.service &#8211; Tailscale node agent\u2026<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: TPM: error opening: stat \/dev\/tpmrm0: no such file or directory<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: logtail started<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{&#8220;\/usr\/sbin\/tailscaled&#8221;, &#8220;&#8211;state=\/var\/lib\/tailscale\/tailscaled.state&#8221;, &#8220;&#8211;socket=\/run\/tailscale\/tailscaled.sock&#8221;, &#8220;&#8211;port=41641&#8221;}<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: logpolicy: using $STATE_DIRECTORY, &#8220;\/var\/lib\/tailscale&#8221;<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: dns: [rc=unknown ret=direct]<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: dns: using &#8220;direct&#8221; mode<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: dns: using *dns.directManager<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: dns: inotify: NewDirWatcher: context canceled<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: wgengine.NewUserspaceEngine(tun &#8220;tailscale0&#8221;) \u2026<br>Dec 29 16:23:23 nginxproxymanager systemd[1]: Started tailscaled.service &#8211; Tailscale node agent.<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: Linux kernel version: 6.8.12-5-pve<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: is CONFIG_TUN enabled in your kernel? <code>modprobe tun<\/code> failed with: modprobe: FATAL: Module tun not found in directory \/lib\/modules\/6.8.12-5-pve<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: tun module not loaded nor found on disk<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: wgengine.NewUserspaceEngine(tun &#8220;tailscale0&#8221;) error: tstun.New(&#8220;tailscale0&#8221;): CreateTUN(&#8220;tailscale0&#8221;) failed; \/dev\/net\/tun does not exist<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: flushing log.<br>Dec 29 16:23:23 nginxproxymanager tailscaled[634]: logger closing down<br>Dec 29 16:23:24 nginxproxymanager tailscaled[634]: getLocalBackend error: createEngine: tstun.New(&#8220;tailscale0&#8221;): CreateTUN(&#8220;tailscale0&#8221;) failed; \/dev\/net\/tun does not exist<br>Dec 29 16:23:24 nginxproxymanager systemd[1]: tailscaled.service: Main process exited, code=exited, status=1\/FAILURE<br>Dec 29 16:23:24 nginxproxymanager tailscaled[665]: TPM: error opening: stat \/dev\/tpmrm0: no such file or directory<br>Dec 29 16:23:24 nginxproxymanager tailscaled[665]: logtail started<br>Dec 29 16:23:24 nginxproxymanager tailscaled[665]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{&#8220;\/usr\/sbin\/tailscaled&#8221;, &#8220;&#8211;cleanup&#8221;}<br>Dec 29 16:23:24 nginxproxymanager tailscaled[665]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c<br>Dec 29 16:23:24 nginxproxymanager tailscaled[665]: logpolicy: using $STATE_DIRECTORY, &#8220;\/var\/lib\/tailscale&#8221;<br>Dec 29 16:23:24 nginxproxymanager tailscaled[665]: dns: [rc=unknown ret=direct]<br>Dec 29 16:23:24 nginxproxymanager tailscaled[665]: dns: using &#8220;direct&#8221; mode<br>Dec 29 16:23:24 nginxproxymanager tailscaled[665]: dns: using *dns.directManager<br>Dec 29 16:23:24 nginxproxymanager tailscaled[665]: dns: inotify: NewDirWatcher: context canceled<br>Dec 29 16:23:24 nginxproxymanager tailscaled[665]: flushing log.<br>Dec 29 16:23:24 nginxproxymanager tailscaled[665]: logger closing down<br>Dec 29 16:23:24 nginxproxymanager systemd[1]: tailscaled.service: Failed with result &#8216;exit-code&#8217;.<br>Dec 29 16:23:24 nginxproxymanager systemd[1]: tailscaled.service: Scheduled restart job, restart counter is at 3.<br>Dec 29 16:23:24 nginxproxymanager systemd[1]: Stopped tailscaled.service &#8211; Tailscale node agent.<br>Dec 29 16:23:24 nginxproxymanager systemd[1]: Starting tailscaled.service &#8211; Tailscale node agent\u2026<br>Dec 29 16:23:24 nginxproxymanager tailscaled[691]: TPM: error opening: stat \/dev\/tpmrm0: no such file or directory<br>Dec 29 16:23:24 nginxproxymanager tailscaled[691]: logtail started<br>Dec 29 16:23:24 nginxproxymanager tailscaled[691]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{&#8220;\/usr\/sbin\/tailscaled&#8221;, &#8220;&#8211;state=\/var\/lib\/tailscale\/tailscaled.state&#8221;, &#8220;&#8211;socket=\/run\/tailscale\/tailscaled.sock&#8221;, &#8220;&#8211;port=41641&#8221;}<br>Dec 29 16:23:24 nginxproxymanager tailscaled[691]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c<br>Dec 29 16:23:24 nginxproxymanager tailscaled[691]: logpolicy: using $STATE_DIRECTORY, &#8220;\/var\/lib\/tailscale&#8221;<br>Dec 29 16:23:24 nginxproxymanager tailscaled[691]: dns: [rc=unknown ret=direct]<br>Dec 29 16:23:24 nginxproxymanager tailscaled[691]: dns: using &#8220;direct&#8221; mode<br>Dec 29 16:23:24 nginxproxymanager tailscaled[691]: dns: using *dns.directManager<br>Dec 29 16:23:24 nginxproxymanager tailscaled[691]: dns: inotify: NewDirWatcher: context canceled<br>Dec 29 16:23:25 nginxproxymanager tailscaled[691]: wgengine.NewUserspaceEngine(tun &#8220;tailscale0&#8221;) \u2026<br>Dec 29 16:23:25 nginxproxymanager systemd[1]: Started tailscaled.service &#8211; Tailscale node agent.<br>Dec 29 16:23:25 nginxproxymanager tailscaled[691]: Linux kernel version: 6.8.12-5-pve<br>Dec 29 16:23:25 nginxproxymanager tailscaled[691]: is CONFIG_TUN enabled in your kernel? <code>modprobe tun<\/code> failed with: modprobe: FATAL: Module tun not found in directory \/lib\/modules\/6.8.12-5-pve<br>Dec 29 16:23:25 nginxproxymanager tailscaled[691]: tun module not loaded nor found on disk<br>Dec 29 16:23:25 nginxproxymanager tailscaled[691]: wgengine.NewUserspaceEngine(tun &#8220;tailscale0&#8221;) error: tstun.New(&#8220;tailscale0&#8221;): CreateTUN(&#8220;tailscale0&#8221;) failed; \/dev\/net\/tun does not exist<br>Dec 29 16:23:25 nginxproxymanager tailscaled[691]: flushing log.<br>Dec 29 16:23:25 nginxproxymanager tailscaled[691]: logger closing down<br>Dec 29 16:23:25 nginxproxymanager tailscaled[691]: getLocalBackend error: createEngine: tstun.New(&#8220;tailscale0&#8221;): CreateTUN(&#8220;tailscale0&#8221;) failed; \/dev\/net\/tun does not exist<br>Dec 29 16:23:25 nginxproxymanager systemd[1]: tailscaled.service: Main process exited, code=exited, status=1\/FAILURE<br>Dec 29 16:23:25 nginxproxymanager tailscaled[722]: TPM: error opening: stat \/dev\/tpmrm0: no such file or directory<br>Dec 29 16:23:25 nginxproxymanager tailscaled[722]: logtail started<br>Dec 29 16:23:25 nginxproxymanager tailscaled[722]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{&#8220;\/usr\/sbin\/tailscaled&#8221;, &#8220;&#8211;cleanup&#8221;}<br>Dec 29 16:23:25 nginxproxymanager tailscaled[722]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c<br>Dec 29 16:23:25 nginxproxymanager tailscaled[722]: logpolicy: using $STATE_DIRECTORY, &#8220;\/var\/lib\/tailscale&#8221;<br>Dec 29 16:23:25 nginxproxymanager tailscaled[722]: dns: [rc=unknown ret=direct]<br>Dec 29 16:23:25 nginxproxymanager tailscaled[722]: dns: using &#8220;direct&#8221; mode<br>Dec 29 16:23:25 nginxproxymanager tailscaled[722]: dns: using *dns.directManager<br>Dec 29 16:23:25 nginxproxymanager tailscaled[722]: dns: inotify: NewDirWatcher: context canceled<br>Dec 29 16:23:25 nginxproxymanager tailscaled[722]: flushing log.<br>Dec 29 16:23:25 nginxproxymanager tailscaled[722]: logger closing down<br>Dec 29 16:23:26 nginxproxymanager systemd[1]: tailscaled.service: Failed with result &#8216;exit-code&#8217;.<br>Dec 29 16:23:26 nginxproxymanager systemd[1]: tailscaled.service: Scheduled restart job, restart counter is at 4.<br>Dec 29 16:23:26 nginxproxymanager systemd[1]: Stopped tailscaled.service &#8211; Tailscale node agent.<br>Dec 29 16:23:26 nginxproxymanager systemd[1]: Starting tailscaled.service &#8211; Tailscale node agent\u2026<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: TPM: error opening: stat \/dev\/tpmrm0: no such file or directory<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: logtail started<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{&#8220;\/usr\/sbin\/tailscaled&#8221;, &#8220;&#8211;state=\/var\/lib\/tailscale\/tailscaled.state&#8221;, &#8220;&#8211;socket=\/run\/tailscale\/tailscaled.sock&#8221;, &#8220;&#8211;port=41641&#8221;}<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: logpolicy: using $STATE_DIRECTORY, &#8220;\/var\/lib\/tailscale&#8221;<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: dns: [rc=unknown ret=direct]<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: dns: using &#8220;direct&#8221; mode<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: dns: using *dns.directManager<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: dns: inotify: NewDirWatcher: context canceled<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: wgengine.NewUserspaceEngine(tun &#8220;tailscale0&#8221;) \u2026<br>Dec 29 16:23:26 nginxproxymanager systemd[1]: Started tailscaled.service &#8211; Tailscale node agent.<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: Linux kernel version: 6.8.12-5-pve<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: is CONFIG_TUN enabled in your kernel? <code>modprobe tun<\/code> failed with: modprobe: FATAL: Module tun not found in directory \/lib\/modules\/6.8.12-5-pve<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: tun module not loaded nor found on disk<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: wgengine.NewUserspaceEngine(tun &#8220;tailscale0&#8221;) error: tstun.New(&#8220;tailscale0&#8221;): CreateTUN(&#8220;tailscale0&#8221;) failed; \/dev\/net\/tun does not exist<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: flushing log.<br>Dec 29 16:23:26 nginxproxymanager tailscaled[748]: logger closing down<br>Dec 29 16:23:27 nginxproxymanager tailscaled[748]: getLocalBackend error: createEngine: tstun.New(&#8220;tailscale0&#8221;): CreateTUN(&#8220;tailscale0&#8221;) failed; \/dev\/net\/tun does not exist<br>Dec 29 16:23:27 nginxproxymanager systemd[1]: tailscaled.service: Main process exited, code=exited, status=1\/FAILURE<br>Dec 29 16:23:27 nginxproxymanager tailscaled[779]: TPM: error opening: stat \/dev\/tpmrm0: no such file or directory<br>Dec 29 16:23:27 nginxproxymanager tailscaled[779]: logtail started<br>Dec 29 16:23:27 nginxproxymanager tailscaled[779]: Program starting: v1.92.3-ta17f36b9b-ga4dc88aac, Go 1.25.5: []string{&#8220;\/usr\/sbin\/tailscaled&#8221;, &#8220;&#8211;cleanup&#8221;}<br>Dec 29 16:23:27 nginxproxymanager tailscaled[779]: LogID: e6162d241fd04f3372e9cde1bb50d0f5f0e122c5e3f85ebd6d01c6033a2cb41c<br>Dec 29 16:23:27 nginxproxymanager tailscaled[779]: logpolicy: using $STATE_DIRECTORY, &#8220;\/var\/lib\/tailscale&#8221;<br>Dec 29 16:23:27 nginxproxymanager tailscaled[779]: dns: [rc=unknown ret=direct]<br>Dec 29 16:23:27 nginxproxymanager tailscaled[779]: dns: using &#8220;direct&#8221; mode<br>Dec 29 16:23:27 nginxproxymanager tailscaled[779]: dns: using *dns.directManager<br>Dec 29 16:23:27 nginxproxymanager tailscaled[779]: dns: inotify: NewDirWatcher: context canceled<br>Dec 29 16:23:27 nginxproxymanager tailscaled[779]: flushing log.<br>Dec 29 16:23:27 nginxproxymanager tailscaled[779]: logger closing down<br>Dec 29 16:23:27 nginxproxymanager systemd[1]: tailscaled.service: Failed with result &#8216;exit-code&#8217;.<br>Dec 29 16:23:28 nginxproxymanager systemd[1]: tailscaled.service: Scheduled restart job, restart counter is at 5.<br>Dec 29 16:23:28 nginxproxymanager systemd[1]: Stopped tailscaled.service &#8211; Tailscale node agent.<br>Dec 29 16:23:28 nginxproxymanager systemd[1]: tailscaled.service: Start request repeated too quickly.<br>Dec 29 16:23:28 nginxproxymanager systemd[1]: tailscaled.service: Failed with result &#8216;exit-code&#8217;.<br>Dec 29 16:23:28 nginxproxymanager systemd[1]: Failed to start tailscaled.service &#8211; Tailscale node agent.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><code class=\"language-bash\">journalctl -u tailscaled -b --no-pager<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud575\uc2ec \ub85c\uadf8:<code>CreateTUN(\"tailscale0\") failed; \/dev\/net\/tun does not exist modprobe: FATAL: Module tun not found<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c \uc6d0\uc778\uc744 \ucc3e\uc744 \uc218 \uc788\uc5c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\uc774 NPM\uc740  LXC \ucee8\ud14c\uc774\ub108\uc774\uace0, \/dev\/net\/tun \uc774 \ud328\uc2a4\uc2a4\ub8e8\ub418\uc9c0 \uc54a\uc740 \uc0c1\ud0dc<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\ucee8\ud14c\uc774\ub108 \uc548\uc5d0\uc11c <code>modprobe tun<\/code> \uc774 \uc2e4\ud328\ud558\ub294 \uac74 \uc815\uc0c1\uc774\ub2e4.<br>LXC\uc5d0\uc11c\ub294 <strong>Host\uac00 \uac00\uc9c4 TUN \ub514\ubc14\uc774\uc2a4\ub97c \uc9c1\uc811 \ub9c8\uc6b4\ud2b8\ud574\uc918\uc57c \ud55c\ub2e4.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4. Proxmox Host\uc5d0\uc11c \ud574\uacb0 \uc870\uce58<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">(1) LXC \uc124\uc815 \ud30c\uc77c \uc218\uc815<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code class=\"language-bash\">nano \/etc\/pve\/lxc\/&lt;CTID&gt;.conf<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc544\ub798 \ud56d\ubaa9 \ucd94\uac00:<code class=\"language-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<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">(2) \ucee8\ud14c\uc774\ub108 \uc7ac\uc2dc\uc791<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code class=\"language-bash\">pct restart &lt;CTID&gt;<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">5. \ucee8\ud14c\uc774\ub108 \ub0b4\ubd80\uc5d0\uc11c \ucd5c\uc885 \ud655\uc778<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><code class=\"language-bash\">ls -l \/dev\/net\/tun systemctl reset-failed tailscaled systemctl start tailscaled tailscale status<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc815\uc0c1 \ucd9c\ub825 \uc608\uc2dc:<code>100.97.x.x nginxproxymanager linux 100.115.x.x proxmox linux ...<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2192 <strong>Tailnet \uc815\uc0c1 \ubcf5\uad6c \uc644\ub8cc<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">6. \uc65c NPM\ub9cc \uc720\ub3c5 \ub290\ub838\uc744\uae4c?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nginx Proxy Manager\ub294:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HTTPS \uc778\uc99d\uc11c \uac31\uc2e0<\/li>\n\n\n\n<li>\uc678\ubd80 API \ud1b5\uc2e0<\/li>\n\n\n\n<li>Reverse Proxy \ud2b8\ub798\ud53d<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\ubaa8\ub450 <strong>\uc678\ubd80 \ub124\ud2b8\uc6cc\ud06c \uc758\uc874\ub3c4<\/strong>\uac00 \ub192\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tailscale\uc774 \uc8fd\uc740 \uc0c1\ud0dc\uc5d0\uc11c:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc678\ubd80 \uc811\uadfc \uacbd\ub85c\uac00 \uc9c0\uc5f0<\/li>\n\n\n\n<li>DNS\/\ub124\ud2b8\uc6cc\ud06c \ud0c0\uc784\uc544\uc6c3 \ub204\uc801<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u2192 \uccb4\uac10 \uc131\ub2a5\uc774 \uae09\uaca9\ud788 \ub098\ube60\uc9c4 \uac83\ucc98\ub7fc \ubcf4\uc778 \uac83\ubfd0\uc774\uc5c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">7. \uc815\ub9ac<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Proxmox \uc790\uc6d0 \uadf8\ub798\ud504\ub294 <strong>\ud56d\uc0c1 \uc9c4\uc2e4\uc744 \ub9d0\ud558\uc9c0 \uc54a\ub294\ub2e4<\/strong><\/li>\n\n\n\n<li>LXC\uc5d0\uc11c Tailscale\uc744 \uc4f8 \uacbd\uc6b0\n<ul class=\"wp-block-list\">\n<li><code>\/dev\/net\/tun<\/code> \ud328\uc2a4\uc2a4\ub8e8\ub294 <strong>\ud544\uc218<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uc7ac\ubd80\ud305 \ud6c4 \ubc1c\uc0dd\ud55c \uc11c\ube44\uc2a4 \uc7a5\uc560\ub294\n<ul class=\"wp-block-list\">\n<li>\ub85c\uadf8 \ud55c \uc904\ub85c <strong>\ud655\uc815 \uc6d0\uc778<\/strong>\uae4c\uc9c0 \uac08 \uc218 \uc788\ub2e4<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ub2e4\uc74c\uc5d0 \uac19\uc740 \uc99d\uc0c1\uc774 \ub098\uc624\uba74<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>systemctl status tailscaled<\/code><\/li>\n\n\n\n<li><code>journalctl -u tailscaled -b<\/code><\/li>\n\n\n\n<li><code>\/dev\/net\/tun<\/code> \uc874\uc7ac \uc5ec\ubd80 \ud655\uc778<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>1. \uc7a5\uc560 \ubc1c\uc0dd \uc0c1\ud669 \ud83d\udcf8 \ucca8\ubd80 \uc774\ubbf8\uc9c0 1: Proxmox Summary \ud654\uba74 (CPU\/RAM \uc815\uc0c1\uc778\ub370 \uccb4\uac10 \uc18d\ub3c4 \uc800\ud558) \uc5b4\ub290 \ub0a0 NPM VM(LXC)\uc744 \uc7ac\ubd80\ud305\ud55c \uc774\ud6c4\ubd80\ud130 \uc774\uc0c1 \uc99d\uc0c1\uc774 \uc2dc\uc791\ub410\ub2e4. \ucc98\uc74c\uc5d4 \ub514\uc2a4\ud06c I\/O \ubb38\uc81c\ub97c \uc758\uc2ec\ud588\uc9c0\ub9cc, sync \uba85\ub839\uc774 \uc989\uc2dc \ubc18\ud658\ub418\uc5b4 \uc2a4\ud1a0\ub9ac\uc9c0 \ubcd1\ubaa9\uc740 \uc544\ub2cc \uac83\uc73c\ub85c \ud310\ub2e8\ud588\ub2e4. 2. Tailscale \uc0c1\ud0dc \ud655\uc778 \ud83d\udcf8 \ucca8\ubd80 \uc774\ubbf8\uc9c0 2: tailscale status \uc2e4\ud589 \uc2dc \uc624\ub958 \ud654\uba74 NPM LXC [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41,9,1,40,8],"tags":[36,37,22,38,39],"class_list":["post-110","post","type-post","status-publish","format-standard","hentry","category-npm","category-proxmox","category-1","category-40","category-8","tag-lxc","tag-nginx-proxy-manager","tag-proxmox","tag-tailscale","tag-39"],"_links":{"self":[{"href":"https:\/\/blog.mozaiq.uk\/index.php?rest_route=\/wp\/v2\/posts\/110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mozaiq.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozaiq.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozaiq.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozaiq.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=110"}],"version-history":[{"count":4,"href":"https:\/\/blog.mozaiq.uk\/index.php?rest_route=\/wp\/v2\/posts\/110\/revisions"}],"predecessor-version":[{"id":115,"href":"https:\/\/blog.mozaiq.uk\/index.php?rest_route=\/wp\/v2\/posts\/110\/revisions\/115"}],"wp:attachment":[{"href":"https:\/\/blog.mozaiq.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozaiq.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozaiq.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}