<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Wireguard on Duke Hsu ｜ Learn • Build • Share</title><link>https://www.dukehsu.com/tags/wireguard.html</link><description>Recent content in Wireguard on Duke Hsu ｜ Learn • Build • Share</description><image><title>Duke Hsu ｜ Learn • Build • Share</title><url>https://www.dukehsu.com/images/og-default.jpg</url><link>https://www.dukehsu.com/images/og-default.jpg</link></image><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 30 May 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://www.dukehsu.com/tags/wireguard/index.xml" rel="self" type="application/rss+xml"/><item><title>Pangolin 安装和使用示范</title><link>https://www.dukehsu.com/posts/pangolin_install.html</link><pubDate>Fri, 30 May 2025 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/pangolin_install.html</guid><description>&lt;h2 id="pangolin-安装和使用示范"&gt;Pangolin 安装和使用示范&lt;/h2&gt;
&lt;h2 id="前提条件"&gt;前提条件&lt;/h2&gt;
&lt;p&gt;为了跟随视频中的操作和配置教学，以下条件是可选的。 视频内容： &lt;a href="https://www.bilibili.com/video/BV1cAJHz8EAj/"&gt;https://www.bilibili.com/video/BV1cAJHz8EAj/&lt;/a&gt;&lt;/p&gt;
&lt;iframe src="//player.bilibili.com/player.html?isOutside=true&amp;amp;aid=114551609689505&amp;amp;bvid=BV1cAJHz8EAj&amp;amp;cid=30094263026&amp;amp;p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"&gt;&lt;/iframe&gt;
&lt;ul&gt;
&lt;li&gt;一台有独立公网IP地址的云服务器&lt;/li&gt;
&lt;li&gt;一个域名&lt;/li&gt;
&lt;li&gt;一台在本地局域网中运行的Linux服务器 （博主的是Ubuntu 20.0.1)&lt;/li&gt;
&lt;li&gt;一台运行Ollama / Deepseek 的Windows电脑&lt;/li&gt;
&lt;li&gt;保持微笑&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="pangolin" loading="lazy" src="https://www.dukehsu.com/posts/pangolin_install/images/pangolin.webp"&gt;&lt;/p&gt;
&lt;p&gt;图： 简单的图示&lt;/p&gt;
&lt;h2 id="简介"&gt;简介&lt;/h2&gt;
&lt;p&gt;Project: &lt;a href="https://docs.fossorial.io/overview"&gt;https://docs.fossorial.io/overview&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Fossorial 系统以 Pangolin 为核心，是一个自托管的隧道反向代理，具有身份和访问管理功能，旨在通过运行在用户空间的加密 WireGuard 隧道安全地公开私有资源。想象一下自托管的 Cloudflare 隧道。 Pangolin 在底层使用 Traefik 进行实际的 HTTP 代理。Badger 插件提供了一种使用 Pangolin 验证每个请求的方法。第二个服务 Gerbil 提供了一个 WireGuard 管理服务器，Pangolin 可以使用它来创建对等体进行连接。最后，还有 Newt，这是一个 CLI 工具和 Docker 容器，它完全在用户空间通过 WireGuard 连接到 Newt 和 Gerbil，并代理您的本地资源。这意味着您无需运行特权进程或容器即可公开您的服务！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="Fossorial System Diagram" loading="lazy" src="https://www.dukehsu.com/posts/pangolin_install/images/Fossorial-System-Diagram.webp"&gt;&lt;/p&gt;
&lt;p&gt;图： Fossorial system Diagram&lt;/p&gt;
&lt;h2 id="开始"&gt;开始&lt;/h2&gt;
&lt;h3 id="在腾讯云服务器下载-pangolin-服务端-的安装脚本"&gt;在腾讯云服务器下载 Pangolin 服务端 的安装脚本&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 下载并执行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -O installer &lt;span class="s2"&gt;&amp;#34;https://github.com/fosrl/pangolin/releases/download/1.2.0/installer_linux_&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;uname -m &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s1"&gt;&amp;#39;s/x86_64/amd64/;s/aarch64/arm64/&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chmod +x ./installer&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="添加dns-记录"&gt;添加DNS 记录&lt;/h3&gt;
&lt;p&gt;注意：需要关闭Proxy&lt;/p&gt;</description></item><item><title>Wireguard安装笔记</title><link>https://www.dukehsu.com/posts/wireguard.html</link><pubDate>Fri, 11 Apr 2025 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/wireguard.html</guid><description>&lt;h2 id="文章目录"&gt;文章目录&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;先决条件&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;WireGuard 安装（Wg-easy)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;docker 常用命令&lt;/p&gt;
&lt;h3 id="vps安装wireguard的先决条件"&gt;VPS安装Wireguard的先决条件&lt;/h3&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;带公网IP地址的设备 / IPV6 也可以 （该笔记使用的Ubuntu18.04 操作系统的VPS 作为例子）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;VPS 启用SSH&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;VPS安装Docker&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="vps-wireguard-的安装步骤"&gt;VPS Wireguard 的安装步骤&lt;/h3&gt;
&lt;h4 id="1-docker-安装"&gt;1. Docker 安装&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install docker.io docker-compose
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo service docker start
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;whoami
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo usermod -aG docker &lt;span class="o"&gt;{&lt;/span&gt;ubuntu&lt;span class="o"&gt;}&lt;/span&gt; //添加用户进docker组
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;exec&lt;/span&gt; su - &lt;span class="nv"&gt;$USER&lt;/span&gt; //输入密码&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="2-创建wg-easy-密码和密匙"&gt;2. 创建Wg-easy 密码和密匙&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run -it ghcr.io/wg-easy/wg-easy wgpw &lt;span class="o"&gt;{&lt;/span&gt;你的密码&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;PASSWORD_HASH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;$2a$12$NJOIUwURc7qX4XnihBNKqOTSqKVxGJahAmwg6FUuboLvxzapBCYHK&amp;#39;&lt;/span&gt; //&lt;span class="o"&gt;{&lt;/span&gt;你的密码&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;//系统自动开始拉取镜像并返回密码密匙
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;//复制保存好密匙&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="3-运行wg-easy-docker-镜像"&gt;3. 运行wg-easy docker 镜像&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run --detach &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --name wg-easy &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --env &lt;span class="nv"&gt;LANG&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;en &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --env &lt;span class="nv"&gt;WG_HOST&lt;/span&gt;&lt;span class="o"&gt;={&lt;/span&gt;你的服务器地址&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --env &lt;span class="nv"&gt;PASSWORD_HASH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;{步骤2中获取的密码密匙}&amp;#39;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --env &lt;span class="nv"&gt;PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;51821&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --env &lt;span class="nv"&gt;WG_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;65534&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --volume ~/.wg-easy:/etc/wireguard &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --publish 65534:65534/udp &lt;span class="se"&gt;\ &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --publish 51821:51821/tcp &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --cap-add NET_ADMIN &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --cap-add SYS_MODULE &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --sysctl &lt;span class="s1"&gt;&amp;#39;net.ipv4.conf.all.src_valid_mark=1&amp;#39;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --sysctl &lt;span class="s1"&gt;&amp;#39;net.ipv4.ip_forward=1&amp;#39;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --restart unless-stopped &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ghcr.io/wg-easy/wg-easy
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; docker ps //查看容器 运行状态 以及列表
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; docker stop wg-easy //停止容器
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; docker start wg-easy // 启动容器
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; docker rm wg-easy //删除容器&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="4-登录wg-easy-添加peer"&gt;4. 登录wg-easy 添加peer&lt;/h4&gt;
&lt;p&gt;当容器运行正常之后，可以在浏览器中访问服务器地址带上端口进行访问&lt;/p&gt;</description></item></channel></rss>