<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Network on 七三的小站</title>
        <link>https://www.bg7pbp.com/tags/network/</link>
        <description>Recent content in Network on 七三的小站</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <copyright>WangYan</copyright>
        <lastBuildDate>Thu, 07 Nov 2024 00:00:00 +0800</lastBuildDate><atom:link href="https://www.bg7pbp.com/tags/network/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Tailscale 安装部署教程</title>
        <link>https://www.bg7pbp.com/p/tailscale-headscale-deploy/</link>
        <pubDate>Thu, 07 Nov 2024 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/tailscale-headscale-deploy/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#1-%E5%AE%89%E8%A3%85-tailscale-%E6%8E%A7%E5%88%B6%E6%9C%8D%E5%8A%A1%E5%99%A8&#34;&gt;1. 安装 Tailscale 控制服务器&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#11-%E4%B8%8B%E8%BD%BD-headscale-%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6&#34;&gt;1.1. 下载 headscale 二进制文件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#12-%E5%88%9B%E5%BB%BA-headscale-%E7%94%A8%E6%88%B7&#34;&gt;1.2. 创建 headscale 用户&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#13-%E5%88%9B%E5%BB%BA%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E7%9B%AE%E5%BD%95&#34;&gt;1.3. 创建数据存储目录&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#14-%E5%88%9B%E5%BB%BA%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6&#34;&gt;1.4. 创建配置文件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#15-nginx-%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E9%85%8D%E7%BD%AE&#34;&gt;1.5. Nginx 反向代理配置&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#16-%E7%B3%BB%E7%BB%9F%E8%87%AA%E5%90%AF%E5%8A%A8%E6%96%87%E4%BB%B6&#34;&gt;1.6. 系统自启动文件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#17-%E5%90%AF%E5%8A%A8--%E5%8D%B8%E8%BD%BD&#34;&gt;1.7. 启动 &amp;amp;&amp;amp; 卸载&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#18-%E4%BD%BF%E7%94%A8-headscale-%E5%88%9B%E5%BB%BA%E7%94%A8%E6%88%B7&#34;&gt;1.8. 使用 Headscale 创建用户&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#2-%E5%AE%89%E8%A3%85-tailscale-%E5%AE%A2%E6%88%B7%E7%AB%AF&#34;&gt;2. 安装 Tailscale 客户端&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#21-%E5%AE%89%E8%A3%85-linux-%E5%AE%A2%E6%88%B7%E7%AB%AF&#34;&gt;2.1. 安装 linux 客户端&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#211-%E5%AE%89%E8%A3%85&#34;&gt;2.1.1. &lt;strong&gt;安装&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#212-%E5%90%AF%E5%8A%A8&#34;&gt;2.1.2. &lt;strong&gt;启动&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#213-%E5%8D%B8%E8%BD%BD&#34;&gt;2.1.3. 卸载&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#22-%E5%AE%89%E8%A3%85-windows-%E5%AE%A2%E6%88%B7%E7%AB%AF&#34;&gt;2.2. 安装 windows 客户端&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#23-%E6%B3%A8%E5%86%8C-tailscale-%E8%8A%82%E7%82%B9&#34;&gt;2.3. 注册 tailscale 节点&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#231-%E6%96%B9%E6%B3%951%E6%AD%A3%E5%B8%B8%E7%99%BB%E5%BD%95&#34;&gt;2.3.1. &lt;strong&gt;方法1：正常登录&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#232-%E6%96%B9%E6%B3%952%E4%BD%BF%E7%94%A8%E9%A2%84%E8%AE%A4%E8%AF%81%E5%AF%86%E9%92%A5%E6%B3%A8%E5%86%8C%E6%9C%BA%E5%99%A8&#34;&gt;2.3.2. &lt;strong&gt;方法2：使用预认证密钥注册机器&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#24-%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%90%AF%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1&#34;&gt;2.4. 客户端开启子网路由&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#241-%E5%BC%80%E5%90%AF-ip-%E8%BD%AC%E5%8F%91&#34;&gt;2.4.1. 开启 IP 转发&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#242-%E6%8C%87%E5%AE%9A%E5%AD%90%E7%BD%91%E5%9C%B0%E5%9D%80&#34;&gt;2.4.2. 指定子网地址&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#243-%E6%89%B9%E5%87%86%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1&#34;&gt;2.4.3. 批准子网路由&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#244-%E6%B5%8B%E8%AF%95&#34;&gt;2.4.4. 测试&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#3-%E9%83%A8%E7%BD%B2%E7%A7%81%E6%9C%89-derp-%E4%B8%AD%E7%BB%A7%E6%9C%8D%E5%8A%A1%E5%99%A8&#34;&gt;3. 部署私有 DERP 中继服务器&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#31-%E4%B8%AD%E7%BB%A7%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%85%8D%E7%BD%AE&#34;&gt;3.1. 中继服务器配置&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#32-%E6%8E%A7%E5%88%B6%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%85%8D%E7%BD%AE&#34;&gt;3.2. 控制服务器配置&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#33-derp-%E5%90%AF%E7%94%A8--tls-%E6%94%AF%E6%8C%81&#34;&gt;3.3. DERP 启用  TLS 支持&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#331-%E4%BF%AE%E6%94%B9-derp-%E9%85%8D%E7%BD%AE&#34;&gt;3.3.1. 修改 DERP 配置&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#332-%E4%BF%AE%E6%94%B9-nginx-%E9%85%8D%E7%BD%AE&#34;&gt;3.3.2. 修改 Nginx 配置&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#4-%E5%BC%80%E5%90%AF-headscale-%E8%BF%9C%E7%A8%8B%E6%8E%A7%E5%88%B6&#34;&gt;4. 开启 headscale 远程控制&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#41-%E9%80%9A%E8%BF%87-remote-cli-%E8%BF%9C%E6%8E%A7&#34;&gt;4.1. 通过 Remote CLI 远控&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#411-%E5%90%AF%E7%94%A8-tls&#34;&gt;4.1.1. 启用 TLS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#412-%E5%90%AF%E7%94%A8-grpc&#34;&gt;4.1.2. 启用 gRPC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#413-%E5%88%9B%E5%BB%BA-api-key&#34;&gt;4.1.3. 创建 API key&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#414-%E8%AE%BE%E7%BD%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F&#34;&gt;4.1.4. 设置环境变量&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#42-%E9%80%9A%E8%BF%87-ui-%E9%9D%A2%E6%9D%BF%E8%BF%9C%E6%8E%A7&#34;&gt;4.2. 通过 UI 面板远控&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#421-docker-composeyml&#34;&gt;4.2.1. docker-compose.yml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#422-nginx&#34;&gt;4.2.2. Nginx&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;1-安装-tailscale-控制服务器&#34;&gt;1. 安装 Tailscale 控制服务器&lt;/h2&gt;
&lt;h3 id=&#34;11-下载-headscale-二进制文件&#34;&gt;1.1. 下载 headscale 二进制文件&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;官方文档：&lt;a href=&#34;https://headscale.net/running-headscale-linux&#34;&gt;https://headscale.net/running-headscale-linux&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;最新版本：&lt;a href=&#34;https://github.com/juanfont/headscale/releases&#34;&gt;https://github.com/juanfont/headscale/releases&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;加速工具：&lt;a href=&#34;https://mirror.ghproxy.com/&#34;&gt;https://mirror.ghproxy.com/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 下载&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://github.com/juanfont/headscale/releases/download/v0.23.0/headscale_0.23.0_linux_amd64  -O /usr/local/bin/headscale
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 增加可执行权限&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x /usr/local/bin/headscale&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;12-创建-headscale-用户&#34;&gt;1.2. 创建 headscale 用户&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;useradd &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --create-home &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --home-dir /var/lib/headscale/ &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --system &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --user-group &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --shell /usr/sbin/nologin &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  headscale&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;13-创建数据存储目录&#34;&gt;1.3. 创建数据存储目录&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 配置文件目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p /etc/headscale
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 数据存储与证书目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p /var/lib/headscale /var/run/headscale
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 创建空的 SQLite 数据库文件：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;touch /var/lib/headscale/db.sqlite
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 权限&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chown -R headscale:headscale /var/lib/headscale /etc/headscale&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;14-创建配置文件&#34;&gt;1.4. 创建配置文件&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://mirror.ghproxy.com/https://github.com/juanfont/headscale/raw/main/config-example.yaml -O /etc/headscale/config.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chown -R headscale:headscale /var/lib/headscale /etc/headscale
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 根据自身情况修改&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim /etc/headscale/config.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;server_url: https://headscale.wangyan.cloud/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;listen_addr: 127.0.0.1:8181
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;base_domain: wangyan.cloud/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;15-nginx-反向代理配置&#34;&gt;1.5. Nginx 反向代理配置&lt;/h3&gt;
&lt;p&gt;选做，需将上面 &lt;code&gt;server_url&lt;/code&gt; 改成 &lt;code&gt;ip+端口&lt;/code&gt; 的形式。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;server &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    listen               &lt;span class=&#34;m&#34;&gt;443&lt;/span&gt; ssl&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    listen               &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;::&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;:443 ssl&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    http2                on&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    server_name          headscale.wangyan.cloud/&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# SSL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ssl_certificate      /etc/nginx/ssl-certs/wangyan.cloud/_ecc/fullchain.cer&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ssl_certificate_key  /etc/nginx/ssl-certs/wangyan.cloud/_ecc/wangyan.cloud/.key&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# logging&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    access_log           /var/log/nginx/wangyan.cloud//headscale-access.log combined &lt;span class=&#34;nv&#34;&gt;buffer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;512k &lt;span class=&#34;nv&#34;&gt;flush&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;1m&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    error_log            /var/log/nginx/wangyan.cloud//headscale-error.log warn&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# reverse proxy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    location / &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        proxy_pass       http://localhost:8181&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        proxy_set_header Host &lt;span class=&#34;nv&#34;&gt;$host&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        include          nginx-config/proxy.conf&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;16-系统自启动文件&#34;&gt;1.6. 系统自启动文件&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo sh -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;cat &amp;gt;/etc/systemd/system/headscale.service&amp;#34;&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;lt;&amp;lt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;[Unit]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;Description=headscale controller
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;After=syslog.target
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;After=network.target
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;[Service]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;Type=simple
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;User=headscale
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;Group=headscale
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;ExecStart=/usr/local/bin/headscale serve
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;Restart=always
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;RestartSec=5
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;# Optional security enhancements
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;NoNewPrivileges=yes
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;PrivateTmp=yes
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;ProtectSystem=strict
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;ProtectHome=yes
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;ReadWritePaths=/var/lib/headscale
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;AmbientCapabilities=CAP_NET_BIND_SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;RuntimeDirectory=headscale
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;[Install]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;WantedBy=multi-user.target
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;EOF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;17-启动--卸载&#34;&gt;1.7. 启动 &amp;amp;&amp;amp; 卸载&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 启动&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl daemon-reload
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; --now headscale
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl restart headscale
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 卸载&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl stop headscale
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /var/lib/headscale /etc/headscale /var/run/headscale
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#查看占用端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl status headscale
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ss -tulnp&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;grep headscale&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;18-使用-headscale-创建用户&#34;&gt;1.8. 使用 Headscale 创建用户&lt;/h3&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale user create admin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale user list
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale user destroy admin&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;2-安装-tailscale-客户端&#34;&gt;2. 安装 Tailscale 客户端&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;稳定版：&lt;a href=&#34;https://pkgs.tailscale.com/stable/&#34;&gt;https://pkgs.tailscale.com/stable/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;最新版：&lt;a href=&#34;https://pkgs.tailscale.com/unstable/&#34;&gt;https://pkgs.tailscale.com/unstable/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;21-安装-linux-客户端&#34;&gt;2.1. 安装 linux 客户端&lt;/h3&gt;
&lt;h4 id=&#34;211-安装&#34;&gt;2.1.1. &lt;strong&gt;安装&lt;/strong&gt;&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://pkgs.tailscale.com/unstable/tailscale_1.77.67_amd64.tgz
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar -zxf tailscale_*.tgz
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; tailscale_*_amd64
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp tailscaled /usr/sbin/tailscaled
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp tailscale /usr/bin/tailscale&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;212-启动&#34;&gt;2.1.2. &lt;strong&gt;启动&lt;/strong&gt;&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp systemd/tailscaled.service /lib/systemd/system/tailscaled.service
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp systemd/tailscaled.defaults /etc/default/tailscaled
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; --now tailscaled
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl status tailscaled
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl restart tailscaled&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;213-卸载&#34;&gt;2.1.3. 卸载&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl stop tailscaled
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /var/lib/tailscale/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 彻底删除&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl disable tailscaled
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /usr/sbin/tailscaled /usr/bin/tailscale 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /lib/systemd/system/tailscaled.service
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /etc/default/tailscaled&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;22-安装-windows-客户端&#34;&gt;2.2. 安装 windows 客户端&lt;/h3&gt;
&lt;p&gt;安装完毕后，打开 &lt;a href=&#34;https://headscale.wangyan.cloud//windows&#34;&gt;https://headscale.wangyan.cloud//windows&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;按照提示下载 &lt;a href=&#34;https://headscale.wangyan.cloud//windows/tailscale.reg&#34;&gt;注册表文件&lt;/a&gt; ，最后再登陆。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 下载&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://pkgs.tailscale.com/unstable/tailscale-setup-full-1.77.67.exe
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 登陆&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale login --login-server https://headscale.wangyan.cloud/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 进阶设置&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# tailscale up --login-server=https://headscale.wangyan.cloud/ --advertise-routes=192.168.57.0/24 --accept-dns=false --accept-routes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;23-注册-tailscale-节点&#34;&gt;2.3. 注册 tailscale 节点&lt;/h3&gt;
&lt;h4 id=&#34;231-方法1正常登录&#34;&gt;2.3.1. &lt;strong&gt;方法1：正常登录&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;在客户端机上，运行 tailscale 登录命令：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 无需开启子网路由&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale up --login-server https://headscale.wangyan.cloud/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 需要开启子网路由的情况&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale up &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; --accept-routes &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; --advertise-routes&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;192.168.10.0/24 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; --login-server&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;https://headscale.wangyan.cloud/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;会生成如下链接：&lt;code&gt;https://headscale.wangyan.cloud/:443/register/mkey:xxx&lt;/code&gt; ，复制到浏览器。&lt;/p&gt;
&lt;p&gt;然后，在 Tailscale 控制服务器上注册节点&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale nodes register --user admin --key mkey:xxx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale nodes list &lt;span class=&#34;c1&#34;&gt;#列出节点&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale nodes delete  -i &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;#删除指定节点&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale nodes rename android -i &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 重命名&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;232-方法2使用预认证密钥注册机器&#34;&gt;2.3.2. &lt;strong&gt;方法2：使用预认证密钥注册机器&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;适用于移动客户端，不方便登录等情形。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 生成密钥&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale --user admin preauthkeys create --reusable --expiration 24h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 注册&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale up --login-server&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;https://headscale.wangyan.cloud/ --authkey &amp;lt;YOUR_AUTH_KEY&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;24-客户端开启子网路由&#34;&gt;2.4. 客户端开启子网路由&lt;/h3&gt;
&lt;p&gt;官方文档： &lt;a href=&#34;https://tailscale.com/kb/1019/subnets&#34;&gt;Subnet routers and traffic relay nodes&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install the Tailscale client.&lt;/li&gt;
&lt;li&gt;Connect to Tailscale as a subnet router.&lt;/li&gt;
&lt;li&gt;Enable subnet routes from the admin console.&lt;/li&gt;
&lt;li&gt;Add access rules for advertised subnet routes.&lt;/li&gt;
&lt;li&gt;Verify your connection.&lt;/li&gt;
&lt;li&gt;Use your subnet routes from other devices.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;241-开启-ip-转发&#34;&gt;2.4.1. 开启 IP 转发&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;net.ipv4.ip_forward = 1&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; tee -a /etc/sysctl.d/ipforwarding.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;net.ipv6.conf.all.forwarding = 1&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; tee -a /etc/sysctl.d/ipforwarding.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sysctl -p /etc/sysctl.d/ipforwarding.conf&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;使用 &lt;code&gt;firewalld&lt;/code&gt; 防火墙的系统，需打开 masquerade&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;firewall-cmd --permanent --add-masquerade&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;使用 &lt;code&gt;iptables&lt;/code&gt; 系统，可以查看路由情况&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iptables -S
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iptables -S -t nat&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;242-指定子网地址&#34;&gt;2.4.2. 指定子网地址&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale up --advertise-routes&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;192.168.0.0/24,192.168.1.0/24 &lt;span class=&#34;c1&#34;&gt;#设置&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; --advertise-routes &lt;span class=&#34;s2&#34;&gt;&amp;#34;192.168.10.0/24&amp;#34;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;#修改&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;243-批准子网路由&#34;&gt;2.4.3. 批准子网路由&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 在控制服务器查看子网路由开启情况&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale routes list
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 删除路由&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale routes delete -r &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#批准指定网段&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale routes &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; -r &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;244-测试&#34;&gt;2.4.4. 测试&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale status
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale netcheck
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale ping 192.168.10.100&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;3-部署私有-derp-中继服务器&#34;&gt;3. 部署私有 DERP 中继服务器&lt;/h2&gt;
&lt;h3 id=&#34;31-中继服务器配置&#34;&gt;3.1. 中继服务器配置&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;vim docker-compose.yml&lt;/code&gt; 不需要特殊权限，可以直接 &lt;code&gt;docker compose up -d&lt;/code&gt; 启动&lt;/p&gt;
&lt;p&gt;项目网址：&lt;a href=&#34;https://hub.docker.com/r/sparanoid/derp&#34;&gt;https://hub.docker.com/r/sparanoid/derp&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  derp:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    image: sparanoid/derp:edge
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    container_name: derp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    hostname: derp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &lt;span class=&#34;s2&#34;&gt;&amp;#34;8282:80&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &lt;span class=&#34;s2&#34;&gt;&amp;#34;3478:3478/udp&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    command: derper -a :80 -verify-clients true&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;然后，配置Ngixn反向代理&lt;code&gt;vim derp.wangyan.cloud/.conf&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;server &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    listen               &lt;span class=&#34;m&#34;&gt;443&lt;/span&gt; ssl&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    listen               &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;::&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;:443 ssl&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    http2                on&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    server_name          derp.wangyan.cloud/&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# SSL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ssl_certificate      /etc/nginx/ssl-certs/wangyan.cloud/_ecc/fullchain.cer&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ssl_certificate_key  /etc/nginx/ssl-certs/wangyan.cloud/_ecc/wangyan.cloud/.key&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# logging&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    access_log           /var/log/nginx/wangyan.cloud//derp-access.log combined &lt;span class=&#34;nv&#34;&gt;buffer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;512k &lt;span class=&#34;nv&#34;&gt;flush&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;1m&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    error_log            /var/log/nginx/wangyan.cloud//derp-error.log warn&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# reverse proxy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    location / &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        proxy_pass       http://localhost:8282&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        proxy_set_header Host &lt;span class=&#34;nv&#34;&gt;$host&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        include          nginx-config/proxy.conf&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;32-控制服务器配置&#34;&gt;3.2. 控制服务器配置&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;vim /etc/headscale/derp.yaml&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;regions:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  901:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    regionid: &lt;span class=&#34;m&#34;&gt;901&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    regioncode: DERP
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    regionname: &lt;span class=&#34;s2&#34;&gt;&amp;#34;Custom DERP&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    nodes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - name: vps-tc-gz
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        regionid: &lt;span class=&#34;m&#34;&gt;901&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        hostname: derp.wangyan.cloud/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        stunport: &lt;span class=&#34;m&#34;&gt;3478&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        stunonly: &lt;span class=&#34;nb&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        derpport: &lt;span class=&#34;m&#34;&gt;443&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;vim /etc/headscale/config.yaml&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 删除掉官方derp服务器&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;urls: &lt;span class=&#34;o&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 自定义配置文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; paths:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    - /etc/headscale/derp.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;启动 &amp;amp;&amp;amp; 检查&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl restart headscale
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale netcheck&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;33-derp-启用--tls-支持&#34;&gt;3.3. DERP 启用  TLS 支持&lt;/h3&gt;
&lt;h4 id=&#34;331-修改-derp-配置&#34;&gt;3.3.1. 修改 DERP 配置&lt;/h4&gt;
&lt;p&gt;开启 &lt;code&gt;verify-clients true&lt;/code&gt; 客户端验证，需要确保 &lt;code&gt;tailscale&lt;/code&gt; 已经正常启动。&lt;/p&gt;
&lt;p&gt;这里有个巨坑：请务必确保先启动 &lt;code&gt;headscale&lt;/code&gt; 和 &lt;code&gt;tailscale&lt;/code&gt; 后，再启动 &lt;code&gt;derp 容器&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# /docker-compose.yml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  derp:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    image: sparanoid/derp:edge
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    restart: always
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    init: &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    container_name: derp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    hostname: derp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &lt;span class=&#34;s2&#34;&gt;&amp;#34;8383:80&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &lt;span class=&#34;s2&#34;&gt;&amp;#34;8443:443&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - &lt;span class=&#34;s2&#34;&gt;&amp;#34;3478:3478/udp&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - /etc/nginx/ssl-certs/wangyan.cloud/_ecc/fullchain.cer:/app/certs/derp.wangyan.cloud/.crt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - /etc/nginx/ssl-certs/wangyan.cloud/_ecc/wangyan.cloud/.key:/app/certs/derp.wangyan.cloud/.key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      - /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    command: sh -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;      derper \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;        -hostname derp.wangyan.cloud/ \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;        -certdir /app/certs \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;        -certmode manual \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;        -verify-clients true&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;tailscaled&lt;/code&gt; 没启动是很多错误出现的原因，可通过下面命令验证：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl --unix-socket /var/run/tailscale/tailscaled.sock &lt;span class=&#34;s2&#34;&gt;&amp;#34;http://local-tailscaled.sock/localapi/v0/whois?addr=nodekey%3Axxx&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;332-修改-nginx-配置&#34;&gt;3.3.2. 修改 Nginx 配置&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;location / &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  proxy_pass       https://127.0.0.1:8443&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  proxy_set_header Host &lt;span class=&#34;nv&#34;&gt;$host&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;4-开启-headscale-远程控制&#34;&gt;4. 开启 headscale 远程控制&lt;/h2&gt;
&lt;p&gt;远程控制需要开启 &lt;code&gt;remote CLI&lt;/code&gt; 功能，这里面有个坑是必须开启 &lt;code&gt;headscale&lt;/code&gt; 服务器内置的 &lt;code&gt;tls&lt;/code&gt; 支持，通过 &lt;code&gt;nginx&lt;/code&gt; 反代实现的 &lt;code&gt;ssl&lt;/code&gt; 是不行的。&lt;/p&gt;
&lt;h3 id=&#34;41-通过-remote-cli-远控&#34;&gt;4.1. 通过 Remote CLI 远控&lt;/h3&gt;
&lt;p&gt;官方文档：&lt;a href=&#34;https://headscale.net/remote-cli/&#34;&gt;https://headscale.net/remote-cli/&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&#34;411-启用-tls&#34;&gt;4.1.1. 启用 TLS&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;vim /etc/headscale/config.yaml&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;要使用自定义证书，只填写以下两个选项，其他勿填。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tls_cert_path: &lt;span class=&#34;s2&#34;&gt;&amp;#34;/etc/nginx/ssl-certs/wangyan.cloud/_ecc/fullchain.cer&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tls_key_path: &lt;span class=&#34;s2&#34;&gt;&amp;#34;/etc/nginx/ssl-certs/wangyan.cloud/_ecc/wangyan.cloud/.key&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;需要ACME申请证书，可以填写以下选项：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tls_letsencrypt_hostname: &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tls_letsencrypt_listen: &lt;span class=&#34;s2&#34;&gt;&amp;#34;:http&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tls_letsencrypt_cache_dir: &lt;span class=&#34;s2&#34;&gt;&amp;#34;.cache&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tls_letsencrypt_challenge_type: HTTP-01&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;412-启用-grpc&#34;&gt;4.1.2. 启用 gRPC&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 不要使用 127.0.0.1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grpc_listen_addr: 0.0.0.0:50443
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 可以保持 false 不变&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grpc_allow_insecure: false&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;413-创建-api-key&#34;&gt;4.1.3. 创建 API key&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 创建&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale apikeys create --expiration 180d
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 列表&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale apikeys list
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 吊销&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale apikeys expire --prefix &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;PREFIX&amp;gt;&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;414-设置环境变量&#34;&gt;4.1.4. 设置环境变量&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 执行权限&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x /usr/local/bin/headscale
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 设置环境变量&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 特别注意：这里没有 https://&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;HEADSCALE_CLI_ADDRESS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;headscale.wangyan.cloud/:50443&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;HEADSCALE_CLI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;API KEY FROM PREVIOUS STAGE&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 测试&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;headscale nodes list&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;42-通过-ui-面板远控&#34;&gt;4.2. 通过 UI 面板远控&lt;/h3&gt;
&lt;p&gt;项目地址：&lt;a href=&#34;https://github.com/GoodiesHQ/headscale-admin&#34;&gt;https://github.com/GoodiesHQ/headscale-admin&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&#34;421-docker-composeyml&#34;&gt;4.2.1. docker-compose.yml&lt;/h4&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  headscale-admin:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    image: goodieshq/headscale-admin:dev
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    container_name: headscale-admin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        - &lt;span class=&#34;s2&#34;&gt;&amp;#34;0.0.0.0:8282:80&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    restart: always&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;422-nginx&#34;&gt;4.2.2. Nginx&lt;/h4&gt;
&lt;p&gt;这里有一个坑，&lt;code&gt;api url&lt;/code&gt; 不是填写上面的&lt;code&gt;gRPC API&lt;/code&gt;地址，而是带 &lt;code&gt;https&lt;/code&gt; 的 &lt;code&gt;server_url&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;请先确保访问 &lt;code&gt;https://headscale.wangyan.cloud//api/api/v1/apikey&lt;/code&gt; 不会报错&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;shell&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;location  / &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        proxy_pass       https://127.0.0.1:8181&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        proxy_set_header Host &lt;span class=&#34;nv&#34;&gt;$host&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        include          nginx-config/proxy.conf&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    location /admin &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        proxy_pass       http://127.0.0.1:8282&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        proxy_set_header Host &lt;span class=&#34;nv&#34;&gt;$host&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        include          nginx-config/proxy.conf&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
</description>
        </item>
        <item>
        <title>计算机存储单位辨析</title>
        <link>https://www.bg7pbp.com/p/computer-storage-units/</link>
        <pubDate>Thu, 20 Oct 2011 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/computer-storage-units/</guid>
        <description>&lt;p&gt;一个人们普遍都知道的常识是，硬盘的1GB=1000MB，操作系统是1G=1024M，但是当你面对 b,B,K,kB,KB,M,MB,G,GB 这些大小写敏感，缩写使用混乱的符号时，你还能分清楚区别和用法吗？&lt;/p&gt;
&lt;p&gt;在计算机领域，二进制乘数词头被用作表示大的数字，采用2的乘幂而不是用10的乘幂。但在1999年1月IEC引入IEC标准词头以前，二进制乘数词头因为没有专用的符号标准，而采用了国际单位制的词头符号，这导致了新的二进制乘数词头符号（IEC标准词头）出现后，两者出现了严重的混用。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;中文名称：比特、位英文全称：Binary digit
英文缩写：b (bit)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;中文名称：字节英文全称：Byte
英文缩写：B (Byte)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;中文意思：千字节英文全称：Kilo binary byte
英文缩写：K (kilobyte) 、KiB (Kibibyte)
相似单位：kB（注：k代表1000）
书写规范：1K(KiB) = 1024B(Byte)、1kB = 1000B（注：k是小写）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;注：K是国际单位制词头符号，KiB是新的IEC标准词头符号。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;中文意思：兆字节英文全称：Mega binary byte
英文缩写：M (Megabyte)、MiB (Mebibyte)
相似单位：MB
书写规范：1M = 1024K = 1024×1024B、1MB = 1000kB = 1000×1000B&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;中文意思：吉字节英文全称：Giga binary byte
英文缩写：G (Gigabyte) 、GiB (Gibibyte)
相似单位：GB
书写规范：1G = 1024M = 1024×1024K = 1024×1024×1024B、1MB = 1000kB = 1000×1000B&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;同理，太字节 TiB (Tebibyte) &amp;lt; 拍字节 PiB (pebibyte) &amp;lt; 艾字节 EiB (exbibyte) &amp;lt; 泽字节 ZiB (zebibyte) &amp;lt; 尧字节 YiB (yobibyte)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;规律总结：&lt;/strong&gt; 一个字母则按1024计算，如K M G T P E Z Y，两个字母是按1000计算，如kB MB MGB(XM) TB PB EB ZB YB。&lt;/p&gt;
&lt;p&gt;图一：二进制乘数词头采用国际单位制词头符号&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cdn.wangyan.cloud/s/si.jpg&#34; alt=&#34;https://img.cdn.wangyan.cloud/s/si.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;图二：99年以后，采用了新的二进制乘数词头符号（IEC标准词头）&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cdn.wangyan.cloud/i/iec.jpg&#34; alt=&#34;https://img.cdn.wangyan.cloud/i/iec.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;参考资料：&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://zh.wikipedia.org/wiki/%E4%BA%8C%E8%BF%9B%E5%88%B6%E5%89%8D%E7%BC%80&#34;&gt;二进制乘数词头&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>理解Windws中的路由表</title>
        <link>https://www.bg7pbp.com/p/windows-route-table/</link>
        <pubDate>Tue, 28 Dec 2010 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/windows-route-table/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%80%E5%90%8D%E8%AF%8D%E7%90%86%E8%A7%A3&#34;&gt;一、名词理解&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#11%E8%B7%AF%E7%94%B1%E8%A1%A8&#34;&gt;1.1、路由表：&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#12network-destination%E7%BD%91%E7%BB%9C%E7%9B%AE%E6%A0%87%E5%9C%B0%E5%9D%80&#34;&gt;1.2、Network Destination（网络目标地址）：&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#13gateway%E7%BD%91%E5%85%B3&#34;&gt;1.3、Gateway（网关）：&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#14interface%E6%8E%A5%E5%8F%A3&#34;&gt;1.4、Interface（接口）：&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#15metric%E8%B7%83%E7%82%B9%E6%95%B0&#34;&gt;1.5、Metric（跃点数）：&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%8C%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B&#34;&gt;二、工作流程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%89%E8%B7%AF%E7%94%B1%E5%91%BD%E4%BB%A4&#34;&gt;三、路由命令&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#32-%E4%BD%BF%E7%94%A8%E8%8C%83%E4%BE%8B&#34;&gt;3.2. 使用范例&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;前文  &lt;a href=&#34;http://www.wangyan.cloud/network-ipv4/&#34;&gt;网络基础技术：详解IP地址&lt;/a&gt; 及  &lt;a href=&#34;http://www.wangyan.cloud/network-ipv4-mask/&#34;&gt;子网划分及子网掩码计算方法&lt;/a&gt;  讲了 IP协议和子网掩码的一些基础知识，今天继续&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;一名词理解&#34;&gt;一、名词理解&lt;/h2&gt;
&lt;h3 id=&#34;11路由表&#34;&gt;1.1、路由表：&lt;/h3&gt;
&lt;p&gt;指 路由器或者其他互联网网络设备上存储的表，该表中存有到达特定网络终端的路径，在某些情况下，还有一些与这些路径相关的度量。&lt;/p&gt;
&lt;p&gt;在命令提示符下输入“route print”，显示如下图所示的本地路由表：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cdn.wangyan.cloud/r/route.png&#34; alt=&#34;https://img.cdn.wangyan.cloud/r/route.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;12network-destination网络目标地址&#34;&gt;1.2、Network Destination（网络目标地址）：&lt;/h3&gt;
&lt;p&gt;网络目标地址和网络掩码相与的结果，用于定义本地计算机可以到达的范围。&lt;/p&gt;
&lt;p&gt;在添加路由时，Windows要求输入的网络目标地址和网络掩码相与后的结果必须等于网络目标地址，否则路由添加会失败。&lt;/p&gt;
&lt;p&gt;故：网络目标地址包有四种可能；&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;某个特定主机的地址，如：192.168.1.101，网络掩码为255.255.255.255&lt;/li&gt;
&lt;li&gt;某个特定子网的地址，如：192.168.1.240，网络掩码为255.255.255.240&lt;/li&gt;
&lt;li&gt;某个特定网络的地址，如：192.168.1.0，  网络掩码为255.255.255.0&lt;/li&gt;
&lt;li&gt;默认路由，所有未在路由表中指定的网络地址，如：0.0.0.0，网络掩码为0.0.00&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;13gateway网关&#34;&gt;1.3、Gateway（网关）：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;网关又称为下一跳服务器，指发送IP数据包时，如果目标主机非同一个网络，则数据包会发送到网关。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果是本地计算机直接连接到网络，网关通常是本地计算机对应的网络接口。（接口必须同网关一致）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果是远程网络，网关通常是本地计算机所连接到的网络上的某个服务器或路由器。 （网关同路由器IP一致）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;14interface接口&#34;&gt;1.4、Interface（接口）：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;本地计算机用于发送数据包的网络接口。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;网关必须位于和接口相同的子网（默认网关除外）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;15metric跃点数&#34;&gt;1.5、Metric（跃点数）：&lt;/h3&gt;
&lt;p&gt;用于指出路由的成本，是路由算法用以确定到达网络目标地址的最佳路径的计量标准，如：路径长度（一个跃点代表经过一个路由器）、可靠性、延迟、带宽、负载、通信代价。当具有多条到达相同目的网络的路由项时，TCP/IP会选择具有更低跃点数的路由项。&lt;/p&gt;
&lt;h2 id=&#34;二工作流程&#34;&gt;二、工作流程&lt;/h2&gt;
&lt;p&gt;当TCP/IP需要向某个IP地址发起通信时，它会对路由表进行评估，以确定如何发送数据包。过程如下：&lt;/p&gt;
&lt;p&gt;TCP/IP将该IP地址和路由表中每个路由项的网络掩码进行相与计算，如果结果匹配对应路由项的网络目标地址，则记录下此路由项。如果有多个匹配项，则会根据相关规则选择最佳路由项，然后通过接口和网关发送数据。&lt;/p&gt;
&lt;p&gt;如果相与后的结果不匹配任何路由项，那么TCP/IP就会选择默认路由项，默认路由的网络地址为0.0.0.0，网络掩码为0.0.0.0，它匹配任何网络通信。设置默认路由后，数据包的路由责任移交到了路由器，这可以大大简化本地路由表和配置，但会占用了额外的网络流量。&lt;/p&gt;
&lt;h2 id=&#34;三路由命令&#34;&gt;三、路由命令&lt;/h2&gt;
&lt;p&gt;route 命令主要用于手动配置静态路由表 ，语法如下：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;route &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-f&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-p&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-4:-6&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; Command &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;Destination&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;mask Netmask&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;Gateway&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;metric Metric&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; Interface&lt;span class=&#34;o&#34;&gt;]]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-f 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;清除所有网关项路由表（掩码为255.255.255.255的路由、目标为127.0.0.0，掩码为255.255.255.0的路由、目标为224.0.0.0，掩码为240.0.0.0的路由）。如果它与命令之一（例如 add、change 或 delete）结合使用，表会在运行命令之前清除。 &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p 与 ADD 命令结合使用时，将路由设置为在系统引导期间保持不变。默认情况下，重新启不保存路由。&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-4 强制使用IPv4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-6 强制使用IPv6&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Command 指定要运行的命令。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- add 添加路由
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- change 更改现存路由
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- delete 删除路由
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- print 打印路由&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Destination  指定路由的网络目标地址。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mask subnetmask 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;指定与网络目标地址相关联的网掩码。子网掩码对于 IP 网络地址可以是一适当的子网掩码，对于主机路由是 255.255.255.255 ，对于默认路由是 0.0.0.0。如果忽略，则使用子网掩码 255.255.255.255。&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;div class=&#34;code-block__header&#34;&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--red&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--yellow&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__dot code-block__dot--green&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__spacer&#34;&gt;&lt;/span&gt;
        &lt;span class=&#34;code-block__title&#34;&gt;bash&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&#34;code-block__body&#34;&gt;&lt;pre class=&#34;chroma&#34; tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Gateway 指定网关
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;metric Metric 指定跃点数
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; Interface 指定路由接口号码，忽略 &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; 参数时，接口由网关地址确定。 &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;32-使用范例&#34;&gt;3.2. 使用范例&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;route print&lt;/code&gt;
显示本地路由表的完整内容&lt;/p&gt;
&lt;p&gt;&lt;code&gt;route print 10.*&lt;/code&gt;
显示本地路由表中以10. 开始的路由&lt;/p&gt;
&lt;p&gt;&lt;code&gt;route add 0.0.0.0 mask 0.0.0.0 192.168.0.1&lt;/code&gt;
要添加默认网关地址为 192.168.0.1 的默认路由&lt;/p&gt;
&lt;p&gt;&lt;code&gt;route add 192.168.0.100 mask 255.255.255.255 192.168.0.1&lt;/code&gt;
要添加目标为 10.41.0.0，子网掩码为 255.255.0.0，网关为 192.168.0.1 的路由&lt;/p&gt;
&lt;p&gt;&lt;code&gt;route -p add 192.168.0.100 mask 255.255.255.255 192.168.0.1&lt;/code&gt;
要添加目标为 10.41.0.0，子网掩码为 255.255.0.0，网关为 192.168.0.1 的永久路由&lt;/p&gt;
&lt;p&gt;&lt;code&gt;route add 192.168.0.100 mask 255.255.255.255 192.168.0.1 metric 7 &lt;/code&gt;
要添加目标为 10.41.0.0，子网掩码为 255.255.0.0，网关为 192.168.0.1设置 ，跃点数为 7 的路由&lt;/p&gt;
</description>
        </item>
        <item>
        <title>子网划分及子网掩码计算方法</title>
        <link>https://www.bg7pbp.com/p/subnet-mask-calculation/</link>
        <pubDate>Mon, 27 Dec 2010 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/subnet-mask-calculation/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%80%E5%AD%90%E7%BD%91%E6%8E%A9%E7%A0%81%E7%9A%84%E6%A6%82%E8%BF%B0%E5%8F%8A%E4%BD%9C%E7%94%A8&#34;&gt;一、子网掩码的概述及作用&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%8C%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E4%BD%BF%E7%94%A8%E5%AD%90%E7%BD%91%E6%8E%A9%E7%A0%81&#34;&gt;二、为什么要使用子网掩码？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%89%E5%AD%90%E7%BD%91%E6%8E%A9%E7%A0%81%E7%9A%84%E5%88%86%E7%B1%BB&#34;&gt;三、子网掩码的分类&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#1%E7%BC%BA%E7%9C%81%E5%AD%90%E7%BD%91%E6%8E%A9%E7%A0%81%E6%9C%AA%E5%88%92%E5%88%86%E5%AD%90%E7%BD%91&#34;&gt;1）缺省子网掩码：(未划分子网)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#2%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AD%90%E7%BD%91%E6%8E%A9%E7%A0%81%E7%94%A8%E4%BA%8E%E5%88%92%E5%88%86%E5%AD%90%E7%BD%91&#34;&gt;2）自定义子网掩码：(用于划分子网)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%9B%9B%E5%AD%90%E7%BD%91%E6%8E%A9%E7%A0%81%E5%92%8Cip%E5%9C%B0%E5%9D%80%E7%9A%84%E5%85%B3%E7%B3%BB&#34;&gt;四、子网掩码和ip地址的关系&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%94%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E8%A6%81%E5%88%92%E5%88%86%E5%AD%90%E7%BD%91&#34;&gt;五、为什么要要划分子网？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%85%AD%E5%AD%90%E7%BD%91%E5%88%92%E5%88%86%E7%AE%80%E8%BF%B0&#34;&gt;六、子网划分简述&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%83%E5%AD%90%E7%BD%91%E6%8E%A9%E7%A0%81%E8%AE%A1%E7%AE%97&#34;&gt;七、子网掩码计算&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#1%E5%88%A9%E7%94%A8%E5%AD%90%E7%BD%91%E6%95%B0%E6%9D%A5%E8%AE%A1%E7%AE%97&#34;&gt;1、利用子网数来计算&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#2%E5%88%A9%E7%94%A8%E4%B8%BB%E6%9C%BA%E6%95%B0%E6%9D%A5%E8%AE%A1%E7%AE%97&#34;&gt;2、利用主机数来计算&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%AD%A5%E9%AA%A4%E6%80%BB%E7%BB%93&#34;&gt;步骤总结：&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;上文  &lt;a href=&#34;http://www.wangyan.cloud/network-ipv4/&#34;&gt;网络基础技术：详解IP地址&lt;/a&gt;  讲了IP协议的一些基础知识，但仅仅IP是不够的。下面是我对ipv4下子网划分及子网掩码知识的一些理解&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;一子网掩码的概述及作用&#34;&gt;一、子网掩码的概述及作用&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;子网掩码是一个应用于TCP/IP网络的32位二进制值，每节8位，必须结合IP地址对应使用。&lt;/li&gt;
&lt;li&gt;子网掩码32位都与IP地址32位对应，如果某位是网络地址，则子网掩码为1，否则为0。&lt;/li&gt;
&lt;li&gt;子网掩码可以通过与IP地址“与”计算，分离出IP地址中的网络地址和主机地址，用于判断该IP地址是在局域网上，还是在广域网上。&lt;/li&gt;
&lt;li&gt;子网掩码一般用于将网络进一步划分为若干子网，以避免主机过多而拥堵或过少而IP浪费。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;二为什么要使用子网掩码&#34;&gt;二、为什么要使用子网掩码？&lt;/h2&gt;
&lt;p&gt;子网掩码可以分离出IP地址中的网络地址和主机地址，那为什么要分离呢？因为两台计算机要通讯，首先要判断是否处于同一个广播域内，即网络地址是否相同。如果网络地址相同，表明接受方在本网络上，那么可以把数据包直接发送到目标主机，否则就需要路由网关将数据包转发送到目的地。&lt;/p&gt;
&lt;h2 id=&#34;三子网掩码的分类&#34;&gt;三、子网掩码的分类&lt;/h2&gt;
&lt;h3 id=&#34;1缺省子网掩码未划分子网&#34;&gt;1）缺省子网掩码：(未划分子网)&lt;/h3&gt;
&lt;p&gt;子网掩码32位与IP地址32位对应,如果某位是网络地址，则子网掩码为1，否则为0。例如A类IP地址，第一节为网络地址，其余三节为主机地址，故掩码为“11111111.00000000.00000000.00000000”&lt;/p&gt;
&lt;p&gt;A类网络缺省子网掩码：255.0.0.0
B类网络缺省子网掩码：255.255.0.0
C类网络缺省子网掩码：255.255.255.0&lt;/p&gt;
&lt;h3 id=&#34;2自定义子网掩码用于划分子网&#34;&gt;2）自定义子网掩码：(用于划分子网)&lt;/h3&gt;
&lt;p&gt;将一个网络划分为若干子网，希望每个子网拥有不同的网络地址或子网地址。因为ＩＰ是有限的，实际上我们是将主机地址分为两个部分：子网网络地址、子网主机地址。 形式如下：&lt;/p&gt;
&lt;p&gt;未做子网划分的ip地址：网络地址＋主机地址做子网划分后的ip地址：网络地址＋（子网网络地址＋子网主机地址）&lt;/p&gt;
&lt;h2 id=&#34;四子网掩码和ip地址的关系&#34;&gt;四、子网掩码和ip地址的关系&lt;/h2&gt;
&lt;p&gt;子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。具体说就是两台计算机各自的IP地址与子网掩码进行“与”运算后，如果得出的结果是相同的，则说明这两台计算机是处于同一个子网络上的，可以进行直接的通讯。&lt;/p&gt;
&lt;p&gt;例如：设IP地址为192.168.10.2，子网掩码为255.255.255.240，那么子网掩码是怎样来区分网络地址和主机地址的呢。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cdn.wangyan.cloud/m/mask_03.jpg&#34; alt=&#34;https://img.cdn.wangyan.cloud/m/mask_03.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;主机地址为：0.0.0.2（将掩码取反，然后与运算）&lt;/p&gt;
&lt;h2 id=&#34;五为什么要要划分子网&#34;&gt;五、为什么要要划分子网？&lt;/h2&gt;
&lt;p&gt;例如：在A类IP地址中，每个A类网络可能有16，777，214台主机，它们处于同一广播域。在同一广播域中有这么多主机是不可能的，网络会因为广播通信而饱和。另一方面，IP地址资源越来越少。为实现更小的广播域，就需要进一步分成更小的网络。划分子网后，通过使用掩码，把子网隐藏起来，使得从外部看网络没有变化，这就是子网掩码。&lt;/p&gt;
&lt;h2 id=&#34;六子网划分简述&#34;&gt;六、子网划分简述&lt;/h2&gt;
&lt;p&gt;子网划分是通过借用IP地址中若干位主机地址来充当子网的网络地址，从而将原网络划分为若干子网。&lt;/p&gt;
&lt;p&gt;划分子网时，随着子网地址借用主机位数的增多，子网的数目随之增加，但每个子网中的可用主机数逐渐减少。&lt;/p&gt;
&lt;p&gt;如C类地址，原有8位主机位，2^8-2即254个主机地址，默认子网掩码255.255.255.0。(全0或全1不可用）
借用1位主机位，产生2^1-2=0个子网，每个子网有2^7个主机地址；
借用2位主机位，产生2^2-2=2个子网，每个子网有2^6个主机地址;
……
根据子网ID借用的主机位数，我们可以计算出划分的子网数、掩码、每个子网主机数，列表如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cdn.wangyan.cloud/m/mask_c.jpg&#34; alt=&#34;https://img.cdn.wangyan.cloud/m/mask_c.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cdn.wangyan.cloud/m/mask_b.jpg&#34; alt=&#34;https://img.cdn.wangyan.cloud/m/mask_c.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cdn.wangyan.cloud/m/mask_a.jpg&#34; alt=&#34;https://img.cdn.wangyan.cloud/m/mask_c.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;七子网掩码计算&#34;&gt;七、子网掩码计算&lt;/h2&gt;
&lt;h3 id=&#34;1利用子网数来计算&#34;&gt;1、利用子网数来计算&lt;/h3&gt;
&lt;p&gt;在求子网掩码之前必须先搞清楚要划分的子网数目，以及每个子网内的所需主机数目。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;将子网数目转化为二进制来表示&lt;/li&gt;
&lt;li&gt;取得该二进制的位数，为 N&lt;/li&gt;
&lt;li&gt;取得该 IP地址的类子网掩码，将其主机地址部分的的前N位置 1 即得出该IP地址划分子网的子网掩码。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如欲将C类IP地址192.168.10.0划分成4个子网：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;4=100&lt;/li&gt;
&lt;li&gt;该二进制为三位数，N = 3&lt;/li&gt;
&lt;li&gt;将A类地址的子网掩码255.255.255.0的主机地址前3位置 1，得到子网掩码255.255.255.224。(具体见下图）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cdn.wangyan.cloud/m/mask_01.jpg&#34; alt=&#34;https://img.cdn.wangyan.cloud/m/mask_01.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;2利用主机数来计算&#34;&gt;2、利用主机数来计算&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;将主机数目转化为二进制来表示&lt;/li&gt;
&lt;li&gt;如果主机数小于或等于254（注意去掉保留的两个IP地址），则取得该主机的二进制位数。&lt;/li&gt;
&lt;li&gt;将该类IP地址的主机地址位数全部置1，然后从后向前的将N位全部置为 0，即为子网掩码值。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如欲将B类IP地址192.168.10.0划分成若干子网，每个子网内有主机25台：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;25=11001&lt;/li&gt;
&lt;li&gt;该二进制为十位数，N = 5&lt;/li&gt;
&lt;li&gt;将该B类地址的子网掩码 255.255.255.0的主机地址全部置 1，得到255.255.255.255，然后再从后向前将后5位置0，即为：11111111.11111111.11111111.11100000，即255.255.252.224。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cdn.wangyan.cloud/m/mask_02.jpg&#34; alt=&#34;https://img.cdn.wangyan.cloud/m/mask_02.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;步骤总结&#34;&gt;步骤总结：&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;子网数和主机数都可以计算子网掩码&lt;/li&gt;
&lt;li&gt;取得子网/主机的二进制位&lt;/li&gt;
&lt;li&gt;网络地址置0主机地址置1&lt;/li&gt;
&lt;li&gt;换成十进制&lt;/li&gt;
&lt;/ol&gt;
</description>
        </item>
        <item>
        <title>详解IPv4地址</title>
        <link>https://www.bg7pbp.com/p/ipv4-address-explained/</link>
        <pubDate>Sun, 26 Dec 2010 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/ipv4-address-explained/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%80ip%E5%9C%B0%E5%9D%80%E6%A6%82%E5%BF%B5&#34;&gt;一、IP地址概念：&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%8Cip%E5%9C%B0%E5%9D%80%E7%BB%84%E6%88%90&#34;&gt;二、IP地址组成&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%89ip%E7%9A%84%E5%88%86%E7%B1%BB&#34;&gt;三、IP的分类&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%9B%9B%E7%89%B9%E6%AE%8Aip%E5%9C%B0%E5%9D%80&#34;&gt;四、特殊IP地址：&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%94a%E7%B1%BBip%E5%9C%B0%E5%9D%80&#34;&gt;五、A类IP地址&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%85%ADb%E7%B1%BBip%E5%9C%B0%E5%9D%80&#34;&gt;六、B类IP地址&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%83c%E7%B1%BBip%E5%9C%B0%E5%9D%80&#34;&gt;七、C类IP地址&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%85%AB%E6%80%BB%E7%BB%93&#34;&gt;八、总结：&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;http://zh.wikipedia.org/zh-cn/TCP/IP%E5%8D%8F%E8%AE%AE&#34;&gt;TCP/IP协议（传输控制协议/网际协议）&lt;/a&gt; 是一簇 &lt;a href=&#34;http://zh.wikipedia.org/zh-cn/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE&#34;&gt;网络通信协议&lt;/a&gt;，是目前Internet中的核心技术。其中最有名的是TCP协议和IP协议（ &lt;a href=&#34;http://zh.wikipedia.org/zh-cn/IPv4&#34;&gt;IPv4&lt;/a&gt; 已接近功能上限，&lt;a href=&#34;http://zh.wikipedia.org/zh-cn/IPv6&#34;&gt;IPv6&lt;/a&gt;  将逐步取代。）&lt;/p&gt;
&lt;p&gt;TCP/IP协议对OSI/ISO模型进行了适当简化，通常分4层，即应用层（HTTP、FTP、DNS）、传输层（TCP、UDP）、网络互连层IP协议、ICMP）、网络接口层（以太网、Wi-Fi）。其中网络互连层最重要的协议是IP协议（IP协议只能寻址到主机，剩下的由传输层完成）。&lt;/p&gt;
&lt;h2 id=&#34;一ip地址概念&#34;&gt;一、IP地址概念：&lt;/h2&gt;
&lt;p&gt;每台连接在Internet上的主机(Host) 都有一个长度32位(bit)、分为4段，每段8位的地址（&lt;a href=&#34;http://zh.wikipedia.org/zh-cn/IPv4&#34;&gt;IPv4&lt;/a&gt; ）。根据  &lt;a href=&#34;http://baike.baidu.com/view/828066.html&#34;&gt;点分十进制表示法&lt;/a&gt; 每段数字范围为0～255，段与段之间用句点隔开。&lt;/p&gt;
&lt;h2 id=&#34;二ip地址组成&#34;&gt;二、IP地址组成&lt;/h2&gt;
&lt;p&gt;一个IP地址主要由两部分组成：一部分是用于地址该地址所从属的网络地址；另一部分用于指明该网络上某个特定主机的主机地址。&lt;/p&gt;
&lt;h2 id=&#34;三ip的分类&#34;&gt;三、IP的分类&lt;/h2&gt;
&lt;p&gt;根据网络地址的不同，IP地址可分为A、B、C、D、E5类。常用的是B和C两类。&lt;/p&gt;
&lt;p&gt;同一个物理网络上的所有主机都使用同一个网络地址，网络上任意一个主机（包括网络上工作站，服务器和路由器等）都有一个主机地址与其对应。&lt;/p&gt;
&lt;p&gt;网络地址的位数直接决定了可以分配的网络数（计算方法：2^网络地址位数）；主机地址的位数则决定了网络中最大的主机数（计算方法：2^主机地址位数-2）。&lt;/p&gt;
&lt;h2 id=&#34;四特殊ip地址&#34;&gt;四、特殊IP地址：&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;“0”地址：TCP/IP协议规定，全为“0”的网络地址被解析为“本网络”，用于本网内通信，一般不分配给主机&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;回送地址：TCP/IP协议规定，A类网络地址中的 01111111（127）是保留地址，用户软件回路测试（如127.0.0.1），一般不分配给主机。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;网络地址：全为“0”的主机地址（即主机位置都为off），所代表的是一个网段，不分配给主机。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;广播地址：全为“1”的主机地址（255），指同是向该网所有主机发送报文。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;有限广播地址：全为“1”的IP地址（255.255.255.255），仅用于在本网广播。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;五a类ip地址&#34;&gt;五、A类IP地址&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;一个A类IP地址由1字节（8位）的网络地址和3字节（24位）主机地址组成。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TCP/IP协议规定：A类网络地址的第一位必须为&amp;quot;0&amp;quot;，且由于存在“0”地址和“回送地址”，所以A类网络地址第一个地址为00000001(1)，而不是00000000(0)，最后一个地址是01111110(126)，而不是01111111(127)。故A类网络地址为：1~126（十进制），可提供的网络数为：2^7-2（0地址及回送地址除外）=126个。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A类IP地址的主机地址是24位，但合法主机地址就是介于网络地址和广播地址之间（1&lt;del&gt;254），每个网络允许有：2的24次方-2=16777216台主机，所以主机地址为：(0&lt;/del&gt;255.0&lt;del&gt;255.1&lt;/del&gt;254)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A类IP地址范围：1.0.0.1-126.255.255.254&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A类私有IP地址：10.0.0.0&amp;ndash;10.255.255.254 (10.0.0.0/8)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;六b类ip地址&#34;&gt;六、B类IP地址&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;一个B类IP地址由2字节（16位）的网络地址和2字节（16位）的主机地址组成。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TCP/IP协议规定：B类网络地址的前两位取值必须为&amp;quot;10&amp;quot;，所以B类网络地址第一个地址为10000000 00000000 (128.0)，最后一个地址是10111111 11111111（191。255）。故B类网络地址为：128.0~191.255。（十进制），可提供的网络数为：2^14=16384个。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;B类IP地址的主机地址是16位，但合法主机地址就是介于网络地址和广播地址之间（1&lt;del&gt;254），每个网络允许有：2的16次方-2=16777216台主机，所以主机地址为：(0&lt;/del&gt;255.1~254)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;B类IP地址范围：128.0.0.1-191.255.255.254&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;B类私有IP地址：172.16.0.0&amp;ndash;172.31.255.254 (172.16.0.0/12)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;七c类ip地址&#34;&gt;七、C类IP地址&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;一个C类IP地址由3字节（24位）的网络地址和1字节（8位）的主机地址组成。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TCP/IP协议规定：B类网络地址的前三位取值必须为&amp;quot;110&amp;quot;，所以B类网络地址第一个地址为11000000 00000000 00000000 (192.0.0)，最后一个地址是11011111 11111111 11111111（223.255.255）。故B类网络地址为：192.0.0~223.255.255（十进制），可提供的网络数为：2^24=2097152个。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;C类IP地址的主机地址是8位，但合法主机地址就是介于网络地址和广播地址之间（1&lt;del&gt;254），每个网络允许有：2的8次方-2=254台主机，所以主机地址为：(1&lt;/del&gt;254)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;C类IP地址范围：192.0.0.1-223.255.255.254&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;C类私有IP地址：192.168.0.0&amp;ndash;192.168.255.254 (192.168.0.0/16)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;八总结&#34;&gt;八、总结：&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;IP地址由网络地址和主机地址组成，根据网络地址不同被分为A、B、C、D、E共5类。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A类网络地址为1&lt;del&gt;126，B类网络地址为128&lt;/del&gt;191，C类网络地址为192~223&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;主机地址均为1~254，因为网络地址及广播地址除外。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;私有地址：10.0.0.0–10.255.255.254（A）、172.16.0.0–172.31.255.254（B）、192.168.0.0&amp;ndash;192.168.255.254（C）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cdn.wangyan.cloud/t/tcpip.gif&#34; alt=&#34;https://img.cdn.wangyan.cloud/t/tcpip.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;图：32位IP地址空间的划分&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
