{"id":44,"date":"2026-04-22T15:03:35","date_gmt":"2026-04-22T07:03:35","guid":{"rendered":"https:\/\/hellobibi.top\/?page_id=44"},"modified":"2026-04-22T15:03:35","modified_gmt":"2026-04-22T07:03:35","slug":"win10-vpn-pi-node","status":"publish","type":"page","link":"https:\/\/hellobibi.top\/index.php\/win10-vpn-pi-node\/","title":{"rendered":"Win10 + \u4e91\u670d\u52a1\u5668 VPN \u642d\u5efa\u6d3e\u8282\u70b9\u5b8c\u6574\u6559\u7a0b"},"content":{"rendered":"<div class=\"tutorial-container\">\n<h1>Win10 + \u4e91\u670d\u52a1\u5668 VPN \u642d\u5efa\u6d3e\u8282\u70b9\u5b8c\u6574\u6559\u7a0b<\/h1>\n<p class=\"tutorial-intro\">\u672c\u6559\u7a0b\u6559\u4f60\u5982\u4f55\u5728 Windows 10 \u7535\u8111\u4e0a\uff0c\u901a\u8fc7\u4e91\u670d\u52a1\u5668\u642d\u5efa VPN \u96a7\u9053\uff0c\u5b89\u5168\u8fde\u63a5\u5230 Pi Network \u5b98\u65b9\u8282\u70b9\u670d\u52a1\u5668\uff0c\u53c2\u4e0e Pi \u7f51\u7edc\u5171\u8bc6\u3002<\/p>\n<div class=\"notice-box\">\n<strong>\u9002\u7528\u573a\u666f\uff1a<\/strong>\u6ca1\u6709\u516c\u7f51 IP \u7684\u5bb6\u5ead\u7f51\u7edc\uff0c\u6216\u9700\u8981\u7a33\u5b9a\u8fde\u63a5\u56fd\u5916 Pi \u8282\u70b9\u670d\u52a1\u5668\u7684\u7528\u6237\n<\/div>\n<h2>\u3010\u4e00\u3011\u51c6\u5907\u5de5\u4f5c<\/h2>\n<h3>1.1 \u6240\u9700\u6750\u6599\u6e05\u5355<\/h3>\n<table class=\"material-table\">\n<tr>\n<th>\u9879\u76ee<\/th>\n<th>\u8bf4\u660e<\/th>\n<th>\u8d39\u7528<\/th>\n<\/tr>\n<tr>\n<td>Windows 10 \u7535\u8111<\/td>\n<td>\u7528\u4e8e\u8fd0\u884c Pi Node \u5ba2\u6237\u7aef<\/td>\n<td>\u5df2\u6709<\/td>\n<\/tr>\n<tr>\n<td>\u4e91\u670d\u52a1\u5668\uff08VPS\uff09<\/td>\n<td>\u63a8\u8350\u9999\u6e2f\/\u65e5\u672c\/\u65b0\u52a0\u5761\u8282\u70b9\uff0c1\u68381G\u5373\u53ef<\/td>\n<td>\u7ea6 20-50\u5143\/\u6708<\/td>\n<\/tr>\n<tr>\n<td>Pi Network \u8d26\u6237<\/td>\n<td>\u5df2\u6ce8\u518c\u5e76\u901a\u8fc7 KYC<\/td>\n<td>\u514d\u8d39<\/td>\n<\/tr>\n<tr>\n<td>\u8282\u70b9\u9080\u8bf7\u7801<\/td>\n<td>Pi App \u5185\u7533\u8bf7<\/td>\n<td>\u514d\u8d39<\/td>\n<\/tr>\n<\/table>\n<h3>1.2 \u4e91\u670d\u52a1\u5668\u63a8\u8350<\/h3>\n<ul>\n<li><strong>\u817e\u8baf\u4e91\u8f7b\u91cf\uff1a<\/strong>\u9999\u6e2f\u8282\u70b9\uff0c24\u5143\/\u6708\uff0c\u9002\u5408\u65b0\u624b<\/li>\n<li><strong>\u963f\u91cc\u4e91 ECS\uff1a<\/strong>\u65b0\u52a0\u5761\u8282\u70b9\uff0c\u6309\u91cf\u4ed8\u8d39\u7ea6 0.1\u5143\/\u5c0f\u65f6<\/li>\n<li><strong>Vultr\uff1a<\/strong>\u4e1c\u4eac\u8282\u70b9\uff0c$5\/\u6708\uff0c\u652f\u6301\u6309\u5c0f\u65f6\u8ba1\u8d39<\/li>\n<li><strong>BandwagonHost\uff1a<\/strong>\u6d1b\u6749\u77f6 CN2 GIA\uff0c$49.9\/\u5e74\uff0c\u7ebf\u8def\u4f18\u8d28<\/li>\n<\/ul>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1a\u4e91\u670d\u52a1\u5668\u8d2d\u4e70\u9875\u9762\u622a\u56fe\uff0c\u6807\u6ce8\u533a\u57df\u9009\u62e9]\n<\/div>\n<h2>\u3010\u4e8c\u3011\u8d2d\u4e70\u5e76\u914d\u7f6e\u4e91\u670d\u52a1\u5668<\/h2>\n<h3>2.1 \u521b\u5efa\u4e91\u670d\u52a1\u5668\u5b9e\u4f8b<\/h3>\n<p>\u4ee5\u817e\u8baf\u4e91\u4e3a\u4f8b\uff1a<\/p>\n<ol>\n<li>\u767b\u5f55 <a href=\"https:\/\/cloud.tencent.com\" target=\"_blank\">\u817e\u8baf\u4e91\u63a7\u5236\u53f0<\/a><\/li>\n<li>\u8fdb\u5165\u300c\u8f7b\u91cf\u5e94\u7528\u670d\u52a1\u5668\u300d\u2192\u300c\u65b0\u5efa\u300d<\/li>\n<li>\u9009\u62e9\u914d\u7f6e\uff1a\n<ul>\n<li>\u5730\u57df\uff1a\u9999\u6e2f \/ \u65b0\u52a0\u5761 \/ \u4e1c\u4eac\uff08\u79bb\u4f60\u8d8a\u8fd1\u8d8a\u597d\uff09<\/li>\n<li>\u955c\u50cf\uff1aUbuntu 22.04 LTS<\/li>\n<li>\u5957\u9910\uff1a1\u68381G \u6216 1\u68382G<\/li>\n<li>\u6d41\u91cf\u5305\uff1a500GB\/\u6708\uff08\u8db3\u591f\uff09<\/li>\n<\/ul>\n<\/li>\n<li>\u70b9\u51fb\u300c\u7acb\u5373\u8d2d\u4e70\u300d\uff0c\u5b8c\u6210\u652f\u4ed8<\/li>\n<\/ol>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1a\u817e\u8baf\u4e91\u8f7b\u91cf\u670d\u52a1\u5668\u914d\u7f6e\u9009\u62e9\u754c\u9762]\n<\/div>\n<h3>2.2 \u83b7\u53d6\u670d\u52a1\u5668\u767b\u5f55\u4fe1\u606f<\/h3>\n<p>\u8d2d\u4e70\u6210\u529f\u540e\uff1a<\/p>\n<ol>\n<li>\u8fdb\u5165\u670d\u52a1\u5668\u8be6\u60c5\u9875<\/li>\n<li>\u70b9\u51fb\u300c\u91cd\u7f6e\u5bc6\u7801\u300d\uff0c\u8bbe\u7f6e root \u5bc6\u7801\uff08\u52a1\u5fc5\u8bb0\u4f4f\uff09<\/li>\n<li>\u8bb0\u5f55\u516c\u7f51 IP \u5730\u5740\uff08\u5982 43.134.141.189\uff09<\/li>\n<\/ol>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1a\u670d\u52a1\u5668\u7ba1\u7406\u9875\u9762\uff0c\u6807\u6ce8 IP \u5730\u5740\u548c\u5bc6\u7801\u91cd\u7f6e\u6309\u94ae]\n<\/div>\n<h3>2.3 \u8fde\u63a5\u4e91\u670d\u52a1\u5668<\/h3>\n<p>\u5728 Win10 \u4e0a\u6253\u5f00 PowerShell \u6216 CMD\uff1a<\/p>\n<pre class=\"code-block\"># \u4f7f\u7528 SSH \u8fde\u63a5\uff08\u628a IP \u6362\u6210\u4f60\u7684\uff09\nssh root@43.134.141.189\n\n# \u8f93\u5165\u5bc6\u7801\uff08\u8f93\u5165\u65f6\u4e0d\u663e\u793a\u5b57\u7b26\uff0c\u56de\u8f66\u786e\u8ba4\uff09\n# \u9996\u6b21\u8fde\u63a5\u4f1a\u63d0\u793a\u4fdd\u5b58\u6307\u7eb9\uff0c\u8f93\u5165 yes \u56de\u8f66<\/pre>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aPowerShell SSH \u8fde\u63a5\u6210\u529f\u622a\u56fe]\n<\/div>\n<h2>\u3010\u4e09\u3011\u5728\u4e91\u670d\u52a1\u5668\u4e0a\u642d\u5efa VPN<\/h2>\n<h3>3.1 \u5b89\u88c5 WireGuard\uff08\u63a8\u8350\uff09<\/h3>\n<p>WireGuard \u662f\u76ee\u524d\u6700\u8f7b\u91cf\u3001\u6700\u5feb\u7684 VPN \u534f\u8bae\uff1a<\/p>\n<pre class=\"code-block\"># \u66f4\u65b0\u7cfb\u7edf\napt update && apt upgrade -y\n\n# \u5b89\u88c5 WireGuard\napt install -y wireguard wireguard-tools\n\n# \u751f\u6210\u5bc6\u94a5\u5bf9\nwg genkey | tee privatekey | wg pubkey > publickey\n\n# \u67e5\u770b\u79c1\u94a5\uff08\u8bb0\u4e0b\u6765\uff0c\u540e\u9762\u8981\u7528\uff09\ncat privatekey\n\n# \u67e5\u770b\u516c\u94a5\ncat publickey<\/pre>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aWireGuard \u5b89\u88c5\u8fc7\u7a0b\u7ec8\u7aef\u622a\u56fe]\n<\/div>\n<h3>3.2 \u914d\u7f6e WireGuard \u670d\u52a1\u7aef<\/h3>\n<p>\u521b\u5efa\u914d\u7f6e\u6587\u4ef6\uff1a<\/p>\n<pre class=\"code-block\"># \u521b\u5efa\u914d\u7f6e\u6587\u4ef6\nnano \/etc\/wireguard\/wg0.conf<\/pre>\n<p>\u7c98\u8d34\u4ee5\u4e0b\u5185\u5bb9\uff08\u4fee\u6539 YOUR_PRIVATE_KEY \u4e3a\u4e0a\u4e00\u6b65\u751f\u6210\u7684\u79c1\u94a5\uff09\uff1a<\/p>\n<pre class=\"code-block\">[Interface]\nPrivateKey = YOUR_PRIVATE_KEY\nAddress = 10.200.200.1\/24\nListenPort = 51820\nPostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\nPostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE\nDNS = 8.8.8.8,1.1.1.1\n\n[Peer]\n# Win10 \u5ba2\u6237\u7aef\uff08\u540e\u9762\u4f1a\u751f\u6210\uff09\nPublicKey = WIN10_PUBLIC_KEY\nAllowedIPs = 10.200.200.2\/32<\/pre>\n<p>\u6309 <code>Ctrl+O<\/code> \u4fdd\u5b58\uff0c<code>Ctrl+X<\/code> \u9000\u51fa\u3002<\/p>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1anano \u7f16\u8f91\u5668\u754c\u9762\uff0c\u5c55\u793a\u914d\u7f6e\u6587\u4ef6\u5185\u5bb9]\n<\/div>\n<h3>3.3 \u542f\u52a8 WireGuard \u5e76\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f<\/h3>\n<pre class=\"code-block\"># \u542f\u7528 IP \u8f6c\u53d1\necho \"net.ipv4.ip_forward=1\" >> \/etc\/sysctl.conf\nsysctl -p\n\n# \u542f\u52a8 WireGuard\nwg-quick up wg0\n\n# \u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\nsystemctl enable wg-quick@wg0\n\n# \u67e5\u770b\u8fd0\u884c\u72b6\u6001\nwg show<\/pre>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1awg show \u547d\u4ee4\u8f93\u51fa\uff0c\u663e\u793a\u8fde\u63a5\u72b6\u6001]\n<\/div>\n<h3>3.4 \u5f00\u653e\u9632\u706b\u5899\u7aef\u53e3<\/h3>\n<pre class=\"code-block\"># \u5b89\u88c5 UFW \u9632\u706b\u5899\napt install -y ufw\n\n# \u5f00\u653e SSH\uff08\u9632\u6b62\u65ad\u5f00\uff09\nufw allow 22\/tcp\n\n# \u5f00\u653e WireGuard \u7aef\u53e3\nufw allow 51820\/udp\n\n# \u542f\u7528\u9632\u706b\u5899\nufw enable\n\n# \u67e5\u770b\u72b6\u6001\nufw status<\/pre>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aUFW \u9632\u706b\u5899\u72b6\u6001\u663e\u793a\u5df2\u5f00\u653e\u7aef\u53e3]\n<\/div>\n<h2>\u3010\u56db\u3011Win10 \u5ba2\u6237\u7aef\u914d\u7f6e<\/h2>\n<h3>4.1 \u5b89\u88c5 WireGuard Windows \u5ba2\u6237\u7aef<\/h3>\n<ol>\n<li>\u8bbf\u95ee <a href=\"https:\/\/www.wireguard.com\/install\/\" target=\"_blank\">WireGuard \u5b98\u7f51<\/a><\/li>\n<li>\u4e0b\u8f7d Windows \u5b89\u88c5\u5305\uff08WireGuard-amd64-xxx.msi\uff09<\/li>\n<li>\u53cc\u51fb\u5b89\u88c5\uff0c\u6309\u63d0\u793a\u5b8c\u6210<\/li>\n<\/ol>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aWireGuard Windows \u5b89\u88c5\u754c\u9762]\n<\/div>\n<h3>4.2 \u751f\u6210 Win10 \u5ba2\u6237\u7aef\u5bc6\u94a5<\/h3>\n<p>\u6253\u5f00 WireGuard \u7a0b\u5e8f\uff0c\u70b9\u51fb\u300c\u6dfb\u52a0\u96a7\u9053\u300d\u2192\u300c\u6dfb\u52a0\u7a7a\u96a7\u9053\u300d\uff1a<\/p>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aWireGuard \u6dfb\u52a0\u7a7a\u96a7\u9053\u754c\u9762\uff0c\u663e\u793a\u81ea\u52a8\u751f\u6210\u7684\u516c\u94a5\u79c1\u94a5]\n<\/div>\n<p>\u8bb0\u4e0b\u81ea\u52a8\u751f\u6210\u7684\u516c\u94a5\uff08Public key\uff09\uff0c\u7b49\u4e0b\u8981\u586b\u5230\u670d\u52a1\u5668\u3002<\/p>\n<h3>4.3 \u914d\u7f6e Win10 \u5ba2\u6237\u7aef<\/h3>\n<p>\u5728 WireGuard \u754c\u9762\uff0c\u7f16\u8f91\u914d\u7f6e\u5982\u4e0b\uff1a<\/p>\n<pre class=\"code-block\">[Interface]\nPrivateKey = \uff08\u81ea\u52a8\u751f\u6210\uff0c\u4e0d\u8981\u6539\uff09\nAddress = 10.200.200.2\/32\nDNS = 8.8.8.8,1.1.1.1\n\n[Peer]\nPublicKey = \uff08\u670d\u52a1\u5668\u4e0a\u7684 publickey \u5185\u5bb9\uff09\nEndpoint = \u4f60\u7684\u670d\u52a1\u5668IP:51820\nAllowedIPs = 0.0.0.0\/0\nPersistentKeepalive = 25<\/pre>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aWireGuard \u5ba2\u6237\u7aef\u914d\u7f6e\u754c\u9762\u5b8c\u6574\u622a\u56fe]\n<\/div>\n<h3>4.4 \u5c06 Win10 \u516c\u94a5\u6dfb\u52a0\u5230\u670d\u52a1\u5668<\/h3>\n<p>\u56de\u5230 SSH \u8fde\u63a5\u7684\u670d\u52a1\u5668\u7ec8\u7aef\uff1a<\/p>\n<pre class=\"code-block\"># \u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\nnano \/etc\/wireguard\/wg0.conf\n\n# \u5728 [Peer] \u90e8\u5206\uff0c\u5c06 WIN10_PUBLIC_KEY \u66ff\u6362\u4e3a WireGuard \u5ba2\u6237\u7aef\u663e\u793a\u7684\u516c\u94a5\n# \u4fdd\u5b58\u9000\u51fa<\/pre>\n<pre class=\"code-block\"># \u91cd\u542f WireGuard \u751f\u6548\nwg-quick down wg0\nwg-quick up wg0\n\n# \u9a8c\u8bc1\u8fde\u63a5\nwg show<\/pre>\n<p>\u5e94\u8be5\u80fd\u770b\u5230 peer \u7684 latest handshake \u65f6\u95f4\u3002<\/p>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1awg show \u663e\u793a\u6709 peer \u8fde\u63a5\u6210\u529f\u7684\u622a\u56fe]\n<\/div>\n<h3>4.5 \u8fde\u63a5 VPN \u6d4b\u8bd5<\/h3>\n<p>\u5728 WireGuard \u5ba2\u6237\u7aef\u70b9\u51fb\u300c\u6fc0\u6d3b\u300d\u6309\u94ae\uff1a<\/p>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aWireGuard \u5ba2\u6237\u7aef\u5df2\u8fde\u63a5\u72b6\u6001\uff0c\u663e\u793a\u4f20\u8f93\u6570\u636e]\n<\/div>\n<p>\u6253\u5f00\u6d4f\u89c8\u5668\u8bbf\u95ee <a href=\"https:\/\/www.google.com\" target=\"_blank\">Google<\/a> \u6d4b\u8bd5\u662f\u5426\u6210\u529f\u7ffb\u5899\u3002<\/p>\n<h2>\u3010\u4e94\u3011\u5b89\u88c5 Pi Node \u5ba2\u6237\u7aef<\/h2>\n<h3>5.1 \u4e0b\u8f7d Pi Node \u8f6f\u4ef6<\/h3>\n<ol>\n<li>\u786e\u4fdd\u624b\u673a Pi App \u5df2\u7533\u8bf7\u8282\u70b9\u9080\u8bf7\u7801<\/li>\n<li>\u5728 Pi App \u5185\u70b9\u51fb\u300cNode\u300d\u2192\u300cDownload\u300d\u83b7\u53d6\u4e0b\u8f7d\u94fe\u63a5<\/li>\n<li>\u6216\u8bbf\u95ee\u5b98\u65b9\u6e20\u9053\u4e0b\u8f7d Windows \u7248 Pi Node<\/li>\n<\/ol>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aPi App \u8282\u70b9\u9080\u8bf7\u7801\u9875\u9762\u622a\u56fe]\n<\/div>\n<h3>5.2 \u5b89\u88c5 Pi Node<\/h3>\n<ol>\n<li>\u8fd0\u884c\u4e0b\u8f7d\u7684\u5b89\u88c5\u5305\uff08Pi-Node-Setup-x.x.x.exe\uff09<\/li>\n<li>\u6309\u63d0\u793a\u5b8c\u6210\u5b89\u88c5<\/li>\n<li>\u5b89\u88c5\u5b8c\u6210\u540e\u4f1a\u81ea\u52a8\u6253\u5f00 Pi Node \u754c\u9762<\/li>\n<\/ol>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aPi Node \u5b89\u88c5\u5411\u5bfc\u754c\u9762]\n<\/div>\n<h3>5.3 \u767b\u5f55 Pi Node<\/h3>\n<ol>\n<li>\u6253\u5f00 Pi Node \u7a0b\u5e8f<\/li>\n<li>\u70b9\u51fb\u300cLogin with Pi Browser\u300d<\/li>\n<li>\u7528\u624b\u673a Pi App \u626b\u63cf\u4e8c\u7ef4\u7801\u767b\u5f55<\/li>\n<\/ol>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aPi Node \u767b\u5f55\u754c\u9762\uff0c\u663e\u793a\u4e8c\u7ef4\u7801]\n<\/div>\n<h2>\u3010\u516d\u3011\u914d\u7f6e Pi Node \u901a\u8fc7 VPN \u8fde\u63a5<\/h2>\n<h3>6.1 \u68c0\u67e5 VPN \u8fde\u63a5\u72b6\u6001<\/h3>\n<p>\u786e\u4fdd WireGuard \u5904\u4e8e\u8fde\u63a5\u72b6\u6001\uff08\u6309\u94ae\u663e\u793a\u7eff\u8272\/\u84dd\u8272\uff09\u3002<\/p>\n<h3>6.2 \u914d\u7f6e Pi Node \u7f51\u7edc<\/h3>\n<ol>\n<li>\u5728 Pi Node \u754c\u9762\u70b9\u51fb\u300cSettings\u300d<\/li>\n<li>\u627e\u5230\u300cNetwork\u300d\u6216\u300cConnection\u300d\u8bbe\u7f6e<\/li>\n<li>\u786e\u4fdd\u4f7f\u7528\u7cfb\u7edf\u4ee3\u7406\/VPN\uff08\u901a\u5e38\u9ed8\u8ba4\u5373\u53ef\uff09<\/li>\n<\/ol>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aPi Node Settings \u754c\u9762\u7f51\u7edc\u8bbe\u7f6e\u90e8\u5206]\n<\/div>\n<h3>6.3 \u5f00\u653e\u8282\u70b9\u7aef\u53e3\uff08\u4e91\u670d\u52a1\u5668\uff09<\/h3>\n<p>\u56de\u5230 SSH \u7ec8\u7aef\uff0c\u5f00\u653e Pi Node \u9700\u8981\u7684\u7aef\u53e3\uff1a<\/p>\n<pre class=\"code-block\"># \u5f00\u653e Pi Node \u7aef\u53e3\nufw allow 31400:31409\/tcp\nufw allow 31400:31409\/udp\n\n# \u67e5\u770b\u72b6\u6001\nufw status verbose<\/pre>\n<h3>6.4 \u914d\u7f6e\u7aef\u53e3\u8f6c\u53d1\uff08\u53ef\u9009\u4f46\u63a8\u8350\uff09<\/h3>\n<p>\u5982\u679c Pi Node \u9700\u8981\u5916\u7f51\u8bbf\u95ee\uff0c\u914d\u7f6e\u7aef\u53e3\u8f6c\u53d1\uff1a<\/p>\n<pre class=\"code-block\"># \u5b89\u88c5 socat\napt install -y socat\n\n# \u521b\u5efa\u8f6c\u53d1\u811a\u672c\ncat > \/usr\/local\/bin\/pi-port-forward.sh << 'EOF'\n#!\/bin\/bash\n# \u5c06\u4e91\u670d\u52a1\u5668\u7684 31400-31409 \u8f6c\u53d1\u5230 VPN \u5185\u7f51 Win10 \u5ba2\u6237\u7aef\nfor port in {31400..31409}; do\n    socat TCP-LISTEN:$port,fork TCP:10.200.200.2:$port &#038;\ndone\nwait\nEOF\n\nchmod +x \/usr\/local\/bin\/pi-port-forward.sh\n\n# \u521b\u5efa systemd \u670d\u52a1\ncat > \/etc\/systemd\/system\/pi-port-forward.service << 'EOF'\n[Unit]\nDescription=Pi Node Port Forward\nAfter=network.target\n\n[Service]\nType=simple\nExecStart=\/usr\/local\/bin\/pi-port-forward.sh\nRestart=always\n\n[Install]\nWantedBy=multi-user.target\nEOF\n\nsystemctl daemon-reload\nsystemctl enable pi-port-forward\nsystemctl start pi-port-forward<\/pre>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1a\u7aef\u53e3\u8f6c\u53d1\u670d\u52a1\u8fd0\u884c\u72b6\u6001\u622a\u56fe]\n<\/div>\n<h2>\u3010\u4e03\u3011\u542f\u52a8\u5e76\u9a8c\u8bc1\u8282\u70b9<\/h2>\n<h3>7.1 \u542f\u52a8 Pi Node<\/h3>\n<ol>\n<li>\u5728 Pi Node \u754c\u9762\u70b9\u51fb\u300cStart\u300d\u6216\u300c\u5f00\u542f\u8282\u70b9\u300d<\/li>\n<li>\u7b49\u5f85\u540c\u6b65\u533a\u5757\u6570\u636e\uff08\u9996\u6b21\u9700\u8981\u8f83\u957f\u65f6\u95f4\uff09<\/li>\n<li>\u89c2\u5bdf\u8fde\u63a5\u72b6\u6001\u6307\u793a\u706f<\/li>\n<\/ol>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aPi Node \u8fd0\u884c\u754c\u9762\uff0c\u663e\u793a\u533a\u5757\u540c\u6b65\u8fdb\u5ea6]\n<\/div>\n<h3>7.2 \u9a8c\u8bc1\u8282\u70b9\u8fde\u63a5<\/h3>\n<p>\u5728 Pi Node \u754c\u9762\u67e5\u770b\uff1a<\/p>\n<ul>\n<li>\u2705 Consensus Container\uff1aRunning<\/li>\n<li>\u2705 Docker Container\uff1aRunning<\/li>\n<li>\u2705 Ports\uff1aOpen\uff0831400-31409\uff09<\/li>\n<li>\u2705 \u533a\u5757\u9ad8\u5ea6\uff1a\u4e0e\u7f51\u7edc\u540c\u6b65<\/li>\n<\/ul>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1aPi Node \u72b6\u6001\u5168\u90e8\u6b63\u5e38\u7684\u622a\u56fe]\n<\/div>\n<h3>7.3 \u624b\u673a\u7aef\u786e\u8ba4<\/h3>\n<ol>\n<li>\u6253\u5f00\u624b\u673a Pi App<\/li>\n<li>\u8fdb\u5165\u300cNode\u300d\u9875\u9762<\/li>\n<li>\u5e94\u8be5\u80fd\u770b\u5230\u4f60\u7684\u8282\u70b9\u5728\u7ebf\u72b6\u6001<\/li>\n<li>\u663e\u793a\u300cConnected\u300d\u6216\u300cRunning\u300d<\/li>\n<\/ol>\n<div class=\"image-placeholder\">\n[\u56fe\u7247\uff1a\u624b\u673a Pi App \u663e\u793a\u8282\u70b9\u5728\u7ebf\u72b6\u6001]\n<\/div>\n<h2>\u3010\u516b\u3011\u65e5\u5e38\u7ef4\u62a4<\/h2>\n<h3>8.1 \u68c0\u67e5 VPN \u8fde\u63a5<\/h3>\n<pre class=\"code-block\"># \u5728\u670d\u52a1\u5668\u4e0a\u67e5\u770b\u8fde\u63a5\u72b6\u6001\nwg show\n\n# \u5e94\u8be5\u80fd\u770b\u5230 transfer \u6570\u636e\u5728\u589e\u52a0<\/pre>\n<h3>8.2 \u91cd\u542f\u8282\u70b9\u670d\u52a1<\/h3>\n<pre class=\"code-block\"># \u5982\u679c Pi Node \u5f02\u5e38\uff0c\u91cd\u542f Docker \u5bb9\u5668\ndocker restart pi-consensus-container\n\n# \u6216\u91cd\u542f\u6574\u4e2a\u670d\u52a1\nsystemctl restart pi-port-forward<\/pre>\n<h3>8.3 \u67e5\u770b\u65e5\u5fd7<\/h3>\n<pre class=\"code-block\"># Pi Node \u65e5\u5fd7\ndocker logs pi-consensus-container --tail 100\n\n# \u7aef\u53e3\u8f6c\u53d1\u65e5\u5fd7\njournalctl -u pi-port-forward -f<\/pre>\n<h2>\u3010\u4e5d\u3011\u5e38\u89c1\u95ee\u9898<\/h2>\n<h3>Q1: Pi Node \u663e\u793a \"Ports Closed\"\uff1f<\/h3>\n<p><strong>\u89e3\u51b3\uff1a<\/strong><\/p>\n<ol>\n<li>\u68c0\u67e5\u4e91\u670d\u52a1\u5668\u9632\u706b\u5899\u662f\u5426\u5f00\u653e 31400-31409 \u7aef\u53e3<\/li>\n<li>\u68c0\u67e5\u7aef\u53e3\u8f6c\u53d1\u670d\u52a1\u662f\u5426\u8fd0\u884c\uff1a<code>systemctl status pi-port-forward<\/code><\/li>\n<li>\u786e\u8ba4 VPN \u8fde\u63a5\u6b63\u5e38<\/li>\n<\/ol>\n<h3>Q2: VPN \u8fde\u63a5\u6210\u529f\u4f46 Pi Node \u8fde\u4e0d\u4e0a\uff1f<\/h3>\n<p><strong>\u89e3\u51b3\uff1a<\/strong><\/p>\n<ol>\n<li>\u68c0\u67e5 AllowedIPs \u662f\u5426\u4e3a 0.0.0.0\/0\uff08\u5168\u5c40\u4ee3\u7406\uff09<\/li>\n<li>\u5c1d\u8bd5\u91cd\u542f Pi Node \u7a0b\u5e8f<\/li>\n<li>\u68c0\u67e5 Windows \u9632\u706b\u5899\u662f\u5426\u963b\u6b62<\/li>\n<\/ol>\n<h3>Q3: \u533a\u5757\u540c\u6b65\u592a\u6162\uff1f<\/h3>\n<p><strong>\u89e3\u51b3\uff1a<\/strong><\/p>\n<ol>\n<li>\u9996\u6b21\u540c\u6b65\u9700\u8981\u51e0\u5c0f\u65f6\u5230\u51e0\u5929\uff0c\u8010\u5fc3\u7b49\u5f85<\/li>\n<li>\u786e\u4fdd VPN \u8fde\u63a5\u7a33\u5b9a<\/li>\n<li>\u9009\u62e9\u8ddd\u79bb\u8fd1\u7684\u4e91\u670d\u52a1\u5668\u8282\u70b9<\/li>\n<\/ol>\n<h3>Q4: \u5982\u4f55\u66f4\u65b0 Pi Node\uff1f<\/h3>\n<p><strong>\u89e3\u51b3\uff1a<\/strong><\/p>\n<ol>\n<li>Pi Node \u4f1a\u81ea\u52a8\u68c0\u67e5\u66f4\u65b0<\/li>\n<li>\u6216\u8bbf\u95ee\u5b98\u7f51\u4e0b\u8f7d\u6700\u65b0\u7248\u672c\u91cd\u65b0\u5b89\u88c5<\/li>\n<\/ol>\n<h2>\u3010\u5341\u3011\u5b89\u5168\u5efa\u8bae<\/h2>\n<ul>\n<li><strong>\u5b9a\u671f\u5907\u4efd\uff1a<\/strong>\u5bfc\u51fa Pi Node \u7684\u914d\u7f6e\u548c\u5bc6\u94a5<\/li>\n<li><strong>\u9632\u706b\u5899\uff1a<\/strong>\u53ea\u5f00\u653e\u5fc5\u8981\u7684\u7aef\u53e3\uff0c\u5173\u95ed\u5176\u4ed6\u7aef\u53e3<\/li>\n<li><strong>\u66f4\u65b0\u7cfb\u7edf\uff1a<\/strong>\u5b9a\u671f apt update && apt upgrade<\/li>\n<li><strong>\u76d1\u63a7\u6d41\u91cf\uff1a<\/strong>\u6ce8\u610f\u4e91\u670d\u52a1\u5668\u6d41\u91cf\u4f7f\u7528\u60c5\u51b5<\/li>\n<li><strong>\u5f3a\u5bc6\u7801\uff1a<\/strong>\u4f7f\u7528\u590d\u6742\u5bc6\u7801\uff0c\u8003\u8651\u542f\u7528\u5bc6\u94a5\u767b\u5f55<\/li>\n<\/ul>\n<div class=\"success-box\">\n<h3>\ud83c\udf89 \u606d\u559c\u4f60\uff01<\/h3>\n<p>\u4f60\u7684 Pi \u8282\u70b9\u73b0\u5728\u5df2\u7ecf\u901a\u8fc7 VPN \u96a7\u9053\u5b89\u5168\u8fd0\u884c\u5728\u4e91\u670d\u52a1\u5668\u4e0a\u4e86\u3002<\/p>\n<p>\u8282\u70b9\u4f1a 24 \u5c0f\u65f6\u5728\u7ebf\uff0c\u4e3a Pi \u7f51\u7edc\u63d0\u4f9b\u7b97\u529b\u652f\u6301\u3002<\/p>\n<p>\u6709\u95ee\u9898\u6b22\u8fce\u5728\u6d3e\u53cb\u4e4b\u5bb6\u8bba\u575b\u4ea4\u6d41\uff01<\/p>\n<\/div>\n<\/div>\n<style>\n.tutorial-container {\n    max-width: 900px;\n    margin: 0 auto;\n    padding: 20px;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    line-height: 1.8;\n    color: #333;\n}\n.tutorial-container h1 {\n    color: #1a73e8;\n    border-bottom: 3px solid #1a73e8;\n    padding-bottom: 15px;\n    margin-bottom: 30px;\n}\n.tutorial-container h2 {\n    color: #1a73e8;\n    margin-top: 40px;\n    padding-bottom: 10px;\n    border-bottom: 2px solid #e0e0e0;\n}\n.tutorial-container h3 {\n    color: #444;\n    margin-top: 30px;\n}\n.tutorial-intro {\n    background: #f0f5fa;\n    padding: 20px;\n    border-radius: 8px;\n    border-left: 4px solid #1a73e8;\n    font-size: 16px;\n}\n.notice-box {\n    background: #fff3cd;\n    border: 1px solid #ffc107;\n    padding: 15px;\n    border-radius: 6px;\n    margin: 20px 0;\n}\n.material-table {\n    width: 100%;\n    border-collapse: collapse;\n    margin: 20px 0;\n}\n.material-table th, .material-table td {\n    border: 1px solid #ddd;\n    padding: 12px;\n    text-align: left;\n}\n.material-table th {\n    background: #f5f5f5;\n    font-weight: bold;\n}\n.material-table tr:nth-child(even) {\n    background: #fafafa;\n}\n.image-placeholder {\n    background: #f5f5f5;\n    border: 2px dashed #ccc;\n    padding: 40px;\n    text-align: center;\n    color: #666;\n    margin: 20px 0;\n    border-radius: 8px;\n}\n.code-block {\n    background: #1e1e1e;\n    color: #d4d4d4;\n    padding: 16px 20px;\n    border-radius: 8px;\n    overflow-x: auto;\n    font-family: \"Consolas\", \"Monaco\", monospace;\n    font-size: 14px;\n    line-height: 1.6;\n    margin: 15px 0;\n}\n.success-box {\n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n    color: white;\n    padding: 30px;\n    border-radius: 12px;\n    text-align: center;\n    margin-top: 40px;\n}\n.success-box h3 {\n    color: white;\n    margin-top: 0;\n    font-size: 24px;\n}\n.tutorial-container ul, .tutorial-container ol {\n    padding-left: 25px;\n}\n.tutorial-container li {\n    margin: 8px 0;\n}\n.tutorial-container a {\n    color: #1a73e8;\n    text-decoration: none;\n}\n.tutorial-container a:hover {\n    text-decoration: underline;\n}\n<\/style>\n","protected":false},"excerpt":{"rendered":"<p>Win10 + \u4e91\u670d\u52a1\u5668 VPN \u642d\u5efa\u6d3e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-44","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/hellobibi.top\/index.php\/wp-json\/wp\/v2\/pages\/44","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hellobibi.top\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hellobibi.top\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hellobibi.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hellobibi.top\/index.php\/wp-json\/wp\/v2\/comments?post=44"}],"version-history":[{"count":0,"href":"https:\/\/hellobibi.top\/index.php\/wp-json\/wp\/v2\/pages\/44\/revisions"}],"wp:attachment":[{"href":"https:\/\/hellobibi.top\/index.php\/wp-json\/wp\/v2\/media?parent=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}