{"id":6436,"date":"2025-04-25T14:45:20","date_gmt":"2025-04-25T06:45:20","guid":{"rendered":"https:\/\/dingxuan.info\/wp\/?p=6436"},"modified":"2025-05-07T14:00:28","modified_gmt":"2025-05-07T06:00:28","slug":"zerotier-server%e8%bf%81%e7%a7%bb","status":"publish","type":"post","link":"https:\/\/dingxuan.info\/wp\/?p=6436","title":{"rendered":"zerotier server\u8fc1\u79fb"},"content":{"rendered":"<h1 class=\"wp-block-heading\">\u8bf4\u660e<\/h1>\n<p>\u81ea\u5efa\u5185\u7f51\u7a7f\u900f\u5de5\u4f5cZeroTier\u670d\u52a1\u7aef\u3002\u9700\u8981\u4ece\u539f\u670d\u52a1\u5668\u8fc1\u79fb\u5230\u65b0\u7684\u4e3b\u673a\u4e0a\uff0c\u8fdb\u884c\u4ee5\u4e0b\u64cd\u4f5c\u3002\u6211\u4f7f\u7528ubuntu 22\uff0c\u5176\u4ed6debian\u7c7b\u670d\u52a1\u5668\u5e94\u8be5\u4e5f\u53ef\u4ee5\u3002\u539f\u670d\u52a1\u5668\u4e0a\u76f4\u63a5\u5b89\u88c5\u670d\u52a1\u7a0b\u5e8f\uff0c\u4e0d\u4f7f\u7528docker\u3002<\/p>\n<h1 class=\"wp-block-heading\">\u65e7\u670d\u52a1\u5668<\/h1>\n<h2 class=\"wp-block-heading\">1. \u505c\u6b62\u670d\u52a1<\/h2>\n<ul>\n\n<li>SSH \u767b\u5f55<\/li>\n\n<li>\u505c\u6b62ztncui\uff0czerotier-one\u670d\u52a1<\/li>\n<\/ul>\n<pre><code>sudo systemctl stop ztncui  \nsudo systemctl stop zerotier-one<\/code><\/pre>\n<h2 class=\"wp-block-heading\">2. \u62f7\u8d1d\u6570\u636e\u76ee\u5f55<\/h2>\n<ul>\n\n<li>\u5728\u65e7\u670d\u52a1\u5668\u4e0a\u5907\u4efd\u4ee5\u4e0b\u4e24\u4e2a\u670d\u52a1\u7684\u914d\u7f6e\u4e0e\u6570\u636e\u76ee\u5f55<\/li>\n<\/ul>\n<pre><code>sudo cp -a \/opt\/key-networks\/ztncui\/etc \/path\/to\/backup_location<\/code><\/pre>\n<pre><code>sudo cp -a \/var\/lib\/zerotier-one \/path\/to\/backup_location<\/code><\/pre>\n<h1 class=\"wp-block-heading\">\u65b0\u670d\u52a1\u5668<\/h1>\n<h2 class=\"wp-block-heading\">1. \u5b89\u88c5ZeroTier-One Controller\u548cztncui<\/h2>\n<p>A \u5b89\u88c5zerotier<\/p>\n<p><a href=\"https:\/\/www.zerotier.com\/download\/#linux\"><a href=\"https:\/\/www.zerotier.com\/download\/#linux\">https:\/\/www.zerotier.com\/download\/#linux<\/a><\/a><\/p>\n<pre><code class=\"language-markup\">curl -s https:\/\/install.zerotier.com | sudo bash<\/code><\/pre>\n<pre><code class=\"language-markup\">curl -s &#039;https:\/\/raw.githubusercontent.com\/zerotier\/ZeroTierOne\/main\/doc\/contact%40zerotier.com.gpg&#039; | gpg --import &amp;amp;&amp;amp; \nif z=$(curl -s &#039;https:\/\/install.zerotier.com\/&#039; | gpg); then echo &quot;$z&quot; | sudo bash; fi<\/code><\/pre>\n<p>B \u5b89\u88c5ztncui\u3002\u670d\u52a1\u5668\u7684web\u63a7\u5236\u9762\u677f\n<a href=\"https:\/\/key-networks.com\/ztncui\/\"><a href=\"https:\/\/key-networks.com\/ztncui\/\">https:\/\/key-networks.com\/ztncui\/<\/a><\/a><\/p>\n<h2 class=\"wp-block-heading\">2. \u505c\u6b62\u670d\u52a1<\/h2>\n<pre><code>sudo systemctl stop ztncui  \nsudo systemctl stop zerotier-one<\/code><\/pre>\n<h2 class=\"wp-block-heading\">3. \u62f7\u8d1d\u6570\u636e<\/h2>\n<ul>\n\n<li>\u4f7f\u7528SCP\uff0crsync\uff0cWinSCP\u7b49\u5de5\u5177\u62f7\u8d1d<\/li>\n<\/ul>\n<p>rsync -rva user@old_host:\/path\/to\/backup_location\/etc \/opt\/key-networks\/ztncui\/<\/p>\n<p>rsync -rva user@old_host:\/path\/to\/backup_location\/zerotier-one \/var\/lib\/<\/p>\n<h2 class=\"wp-block-heading\">4.\u00a0\u8bbe\u7f6e\u7528\u6237\u6240\u6709\u6743<\/h2>\n<ul>\n\n<li>\u67e5\u770b<\/li>\n<\/ul>\n<p>ls -l \/opt\/key-networks\/ztncui\/etc<\/p>\n<ul>\n\n<li>\u7528\u6237\u548c\u7fa4\u7ec4\u5e94\u8be5\u662f\uff1aztncui<\/li>\n<\/ul>\n<pre><code>-rw------- 1 ztncui ztncui 148 Jul 26 09:48 default.passw  \n-rw------- 1 ztncui ztncui 435 Jul 26 09:48 passwd  \ndrwxr-xr-x 2 ztncui ztncui 4096 Jul 26 09:48 storage  \ndrwxr-x--- 2 ztncui ztncui 4096 Jul 26 09:48 tlsd<\/code><\/pre>\n<ul>\n\n<li>\u67e5\u770b<\/li>\n<\/ul>\n<pre><code>ls -l \/var\/lib\/zerotier-one<\/code><\/pre>\n<ul>\n\n<li>\u7528\u6237\u548c\u7fa4\u7ec4\u5e94\u8be5\u662f\uff1azerotier-one<\/li>\n<\/ul>\n<pre><code>-rw------- 1 zerotier-one zerotier-one       24 Jul 26 09:54 authtoken.secre  \ndrwx------ 4 zerotier-one zerotier-one     4096 Jul 26 09:54 controller.d  \n-rw-r--r-- 1 zerotier-one zerotier-one      141 Jul 26 09:54 identity.public  \n-rw------- 1 zerotier-one zerotier-one      270 Jul 26 09:54 identity.secret  \ndrwxr-xr-x 2 zerotier-one zerotier-one     4096 Jul 26 09:54 networks.d  \ndrwxr-xr-x 2 zerotier-one zerotier-one     4096 Jul 27 12:22 peers.d  \n-rw-r--r-- 1 zerotier-one zerotier-one      570 Jul 26 09:54 planet  \n-rwxr-xr-x 1 zerotier-one zerotier-one 10892304 Jul 26 09:54 zerotier-cli  \n-rwxr-xr-x 1 zerotier-one zerotier-one 10892304 Jul 26 09:54 zerotier-idtool  \n-rwxr-xr-x 1 zerotier-one zerotier-one 10892304 Jul 26 09:54 zerotier-one  \n-rw-r--r-- 1 zerotier-one zerotier-one        4 Jul 26 09:58 zerotier-one.pid  \n-rw-r--r-- 1 zerotier-one zerotier-one        4 Jul 26 09:58 zerotier-one.port  \n-rw-r--r-- 1 zerotier-one zerotier-one      276 Jul 26 09:54 zerotier-one.te<\/code><\/pre>\n<ul>\n\n<li>\u5982\u679c\u4e0d\u662f\u7684\u8bdd\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8bbe\u7f6e<\/li>\n<\/ul>\n<p>sudo chown -R ztncui:ztncui \/opt\/key-networks\/ztncui\/etc\nsudo chown -R zerotier-one:zerotier-one \/var\/lib\/zerotier-one<\/p>\n<h2 class=\"wp-block-heading\">5. \u8bbe\u7f6e\u914d\u7f6e\u6587\u4ef6\uff0c\u5bc6\u94a5\u7b49<\/h2>\n<ul>\n\n<li>After ztncui upgrade, migration, or system kernel upgrade (effective after reboot), you need to generate a new secret for the controller and set correct access privileges.<\/li>\n\n<li>\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u8bbe\u7f6e\u914d\u7f6e\u6587\u4ef6<\/li>\n<\/ul>\n<pre><code>sudo sh -c &quot;echo ZT_TOKEN=$(sudo cat \/var\/lib\/zerotier-one\/authtoken.secret) &gt; \/opt\/key-networks\/ztncui\/.env&quot;  \nsudo sh -c &quot;echo HTTPS_PORT=3443 &gt;&gt; \/opt\/key-networks\/ztncui\/.env&quot;  \nsudo sh -c &quot;echo NODE_ENV=production &gt;&gt; \/opt\/key-networks\/ztncui\/.env&quot;  \nsudo chmod 400 \/opt\/key-networks\/ztncui\/.env  \nsudo chown ztncui:ztncui \/opt\/key-networks\/ztncui\/.env<\/code><\/pre>\n<h2 class=\"wp-block-heading\">6. \u914d\u7f6eztncui<\/h2>\n<ul>\n\n<li>\u6253\u5f00\u73af\u5883\u53d8\u91cf<\/li>\n<\/ul>\n<pre><code>sudo vim \/opt\/key-networks\/ztncui\/.env<\/code><\/pre>\n<ul>\n\n<li>\u8bbe\u7f6eIP\u5730\u5740\uff1a HTTPS_HOST=\n\u6ce8\uff1a\u6211\u5199\u5165IP\u9020\u6210ztncui\u65e0\u6cd5\u542f\u52a8\uff0c\u53ef\u4ee5\u4e0d\u8981\u8fd9\u4e00\u884c<\/li>\n\n<li>\u4fdd\u5b58\u9000\u51fa<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">7. \u91cd\u542fztncui\u548czerotier-one<\/h2>\n<pre><code>sudo systemctl start ztncui  \nsudo systemctl start zerotier-one<\/code><\/pre>\n<h2 class=\"wp-block-heading\">8. \u9a8c\u8bc1\u8fc1\u79fb<\/h2>\n<ul>\n\n<li>\u67e5\u770b\u8fd0\u884c\u72b6\u6001<\/li>\n<\/ul>\n<p>sudo systemctl status ztncui\nsudo systemctl status zerotier-one<\/p>\n<ul>\n\n<li>\u67e5\u770b\u8fd0\u884c\u65e5\u5fd7<\/li>\n<\/ul>\n<p>sudo journalctl -u ztncui -u zerotier-one -f<\/p>\n<ul>\n\n<li>\u6ce8\u610fweb\u7aef\u8fd0\u884c\u57283443\uff0c\u8c03\u6574\u9632\u706b\u5899<\/li>\n<\/ul>\n<h1 class=\"wp-block-heading\">\u540e\u7eed\u6536\u5c3e<\/h1>\n<h2 class=\"wp-block-heading\">1. \u9a8c\u8bc1zerotier\u8fd0\u884c\u6b63\u5e38<\/h2>\n<h2 class=\"wp-block-heading\">2. \u65e7\u670d\u52a1\u5668\u505c\u7528\u670d\u52a1<\/h2>\n<p>\u907f\u514d\u4e24\u53f0\u670d\u52a1\u5668\u540c\u65f6\u8fd0\u884c\uff0c\u65e7\u670d\u52a1\u5668\u4e0a\u505c\u7528\u670d\u52a1<\/p>\n<p>sudo systemctl stop ztncui\nsudo systemctl stop zerotier-one\nsudo systemctl disable ztncui\nsudo systemctl disable zerotier-one<\/p>\n<h2 class=\"wp-block-heading\">3. \u65e7\u670d\u52a1\u5668\u6e05\u9664\u6570\u636e<\/h2>\n<p>&nbsp;<\/p>\n<p>sudo rm -rf \/var\/lib\/zerotier-one<\/p>\n<ul>\n\n<li>\u6e05\u9664\u6570\u636e\u4e4b\u540e\uff0c\u91cd\u65b0\u542f\u52a8\u670d\u52a1\u4f1a\u751f\u6210\u4e00\u4e2a\u65b0\u7684\u670d\u52a1ID<\/li>\n<\/ul>\n<p>sudo systemctl enable &#8211;now zerotier-one<\/p>\n<p>\u672c\u6587\u5f15\u81eahttps:\/\/medium.com\/@KarolDanisz\/full-guide-migrating-zerotier-controller-ztncui-and-data-to-a-new-host-34abcd30d8fb\n\u6388\u6743\uff1aCreative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0).<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>\u8bf4\u660e \u81ea\u5efa\u5185\u7f51\u7a7f\u900f\u5de5\u4f5cZeroTier\u670d\u52a1\u7aef\u3002\u9700\u8981\u4ece\u539f\u670d\u52a1\u5668\u8fc1\u79fb\u5230\u65b0\u7684\u4e3b\u673a\u4e0a\uff0c\u8fdb\u884c\u4ee5\u4e0b\u64cd\u4f5c\u3002\u6211\u4f7f\u7528ubuntu &hellip; <a href=\"https:\/\/dingxuan.info\/wp\/?p=6436\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">zerotier server\u8fc1\u79fb<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[117],"tags":[108],"class_list":["post-6436","post","type-post","status-publish","format-standard","hentry","category-network","tag-server"],"_links":{"self":[{"href":"https:\/\/dingxuan.info\/wp\/index.php?rest_route=\/wp\/v2\/posts\/6436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dingxuan.info\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dingxuan.info\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dingxuan.info\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dingxuan.info\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6436"}],"version-history":[{"count":2,"href":"https:\/\/dingxuan.info\/wp\/index.php?rest_route=\/wp\/v2\/posts\/6436\/revisions"}],"predecessor-version":[{"id":6527,"href":"https:\/\/dingxuan.info\/wp\/index.php?rest_route=\/wp\/v2\/posts\/6436\/revisions\/6527"}],"wp:attachment":[{"href":"https:\/\/dingxuan.info\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dingxuan.info\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dingxuan.info\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}