本文目录导读:

针对你提到的“innernet”(可能指的是一个具体的工具,或者你想了解的是“内网穿透”技术),我推测你的核心需求是:如何让外网访问到内网(局域网)中的设备或服务。
由于“innernet”本身也是一个GitHub上的开源项目(一个用于创建和管理私有网络的工具,类似于Tailscale/WireGuard),我会分两种情况为你解答:
你问的是开源工具 innernet(如何搭建内网穿透/虚拟局域网)
innernet 是一个用Rust编写的工具,它利用WireGuard技术,让你轻松创建一个安全、点对点的私有网络,它的特点是“内网”概念,即把分布在全球的设备(或内网设备)连接到一个虚拟的、安全的网络里。
如何用它实现内网访问?
-
安装:在你的服务器(公网节点)和所有需要连接的客户端(内网机器)上安装
innernet。- Linux/macOS:
cargo install innernet或使用官方发布的二进制文件。 - Windows:支持,但通常通过WSL或命令行。
- Linux/macOS:
-
创建网络(在服务器上):
- 运行
innernet new mynetwork。 - 指定一个公网IP或域名(你的服务器地址)。
- 设置一个虚拟子网,如
0.0.0/24。 - 服务器会生成一个邀请码(token)。
- 运行
-
客户端加入网络:
- 在内网机器上运行
innernet join --invite <你的邀请码> <服务器地址>。 - 客户端会获得一个虚拟IP(如
0.0.2)。
- 在内网机器上运行
-
访问内网服务:
- 加入网络后,所有客户端(无论是否在同一物理内网)都可以通过对方的虚拟IP直接访问。
- 内网机器A(虚拟IP:10.0.0.2)上运行了一个Web服务(监听本地端口:8080),外网机器B(虚拟IP:10.0.0.3)可以通过
http://10.0.0.2:8080直接访问。
优点:安全(加密)、P2P直连(效率高)、配置简单。 缺点:需要一台有公网IP的服务器作为协调节点(但数据流量是P2P的)。
你问的是更通用的“内网穿透”方法(如何让外网访问内网)
如果你不是特指 innernet 这个工具,而是泛指“如何实现内网穿透”,那么以下是几种主流方案:
使用开源或商业的“内网穿透”工具(推荐给新手)
这些工具能自动帮你完成映射,无需公网IP,无需路由器设置。
- frp(最流行):
- 原理:你有一个公网服务器(VPS),在上面跑
frps;内网机器上跑frpc,配置好端口映射。 - 如何操作:
- VPS上:
./frps -c frps.toml - 内网机器上:
./frpc -c frpc.toml,配置文件里写serverAddr = "你的VPSIP"和[[proxies]] name="web" type="tcp" localIP="127.0.0.1" localPort=8080 remotePort=6000。 - 访问:外网访问
你的VPS的IP:6000,就相当于访问内网机器的0.0.1:8080。
- VPS上:
- 原理:你有一个公网服务器(VPS),在上面跑
- Ngrok:一键启动,适合临时演示或调试。
ngrok http 8080就会生成一个公网URL。 - ZeroTier / Tailscale:像上面提到的
innernet一样,创建虚拟局域网,但更傻瓜化,安装后登录账号,所有设备自动在一个网络里,直接通过虚拟IP访问。
通过路由器设置(需要公网IPv4,且运营商不封端口)
- 端口映射(NAT):登录路由器管理后台,找到“转发规则”或“虚拟服务器”,将外网的某个端口(如8080)映射到内网某台机器的特定端口(如80)。
- DDNS(动态域名):如果你的公网IP会变,使用DDNS(如花生壳)将一个域名绑定到当前IP。
- 访问:
http://你的域名或公网IP:8080。
使用IPv6(最理想的现代化方案)
- 前提:你的宽带支持IPv6,并且你的设备获取到了公网IPv6地址。
- 操作:在路由器防火墙上放行对应端口,然后直接通过
http://[你的IPv6地址]:端口访问。 - 优点:无需穿透,直连,速度快,安全。
选择建议
- 如果你只想快速访问家里的NAS或服务器,不想折腾 -> 使用 Tailscale 或 ZeroTier(免费、简单)。
- 如果你有国内公网服务器(VPS)且需要高性能、自控 -> 使用 frp 或 innernet(
innernet安全性更高,配置稍复杂)。 - 如果你只是临时给朋友看个网页 -> 使用 Ngrok。
- 如果是
innernet工具:安装 -> 服务器创建网络 -> 客户端加入 -> 通过虚拟IP访问。 - 如果是通用问题:最推荐 Tailscale(虚拟局域网) 或 frp(端口转发)。
你可以先明确你的具体场景(想访问家里的SSH?还是Web页面?有公网服务器吗?),我可以给你更精确的指导。
标签: 内网互联