n2n:两行命令搭一个虚拟局域网

📅 2026/7/11 22:07:36
n2n:两行命令搭一个虚拟局域网
文章目录n2n两行命令搭一个虚拟局域网1、这东西解决什么问题2、快速上手3、自建 supernode4、加密和安全5、编译安装6、适合谁用n2n两行命令搭一个虚拟局域网n2n 在 GitHub 上拿到 6,967 Star。ntop 团队开源的这个工具做一件很具体的事让你在不同网络环境下的设备组成一个虚拟局域网中间的防火墙和 NAT 全部绕过去。1、这东西解决什么问题你有两台电脑一台在家里一台在公司。公司网络有防火墙家里用的是运营商 NAT。你想让这两台机器像连在同一个路由器下面一样互相访问正常手段基本没戏。VPN 方案倒是多但大多数要么要配服务器要么要装一堆依赖要么速度拉胯。n2n 的思路简单两个角色supernode 和 edge。supernode 跑在一台有公网端口的机器上edge 跑在你要组网的每台设备上。supernode 负责让各个 edge 互相发现发现之后两边直接走 UDP 打洞数据不经过 supernode。打洞失败才走 supernode 中继。2、快速上手Linux 发行版大多直接有包一条命令装好sudoaptinstalln2n两台机器各跑一条命令就能互通。比如 host1sudoedge-cmynetwork-kmysecretpass-a192.168.100.1-f-lsupernode.ntop.org:7777host2sudoedge-cmynetwork-kmysecretpass-a192.168.100.2-f-lsupernode.ntop.org:7777跑完之后两台机器互相 ping 就通了。-c指定社区名-k指定加密密钥-a是虚拟 IP-l指向 supernode 地址。社区名和密钥最好自己定义别用默认的防止别人连到你的虚拟网络里。3、自建 supernode公共 supernode 适合临时用一下长期跑还是自己搭一个比较稳。找一台有公网 IP 的 VPS装好 n2n编辑/etc/n2n/supernode.conf加一行-p1234启动服务sudosystemctl start supernodesudosystemctlenablesupernodesupernode 就跑起来了。edge 节点那边把-l参数改成你的 VPS IP 和端口就行。所有 edge 必须指向同一个 supernode。4、加密和安全n2n 支持 payload 加密用-k传入密钥后supernode 本身看不到 edge 之间传输的内容只知道 A 在和 B 通信。默认用 AES也可以通过-A参数选其他加密方式。源码编译后可以用tools/n2n-benchmark跑一下各加密方式的性能对比。如果连元数据虚拟 MAC、IP、主机名、社区名都不想暴露可以在 edge 上加-H参数把头部也加密。5、编译安装从源码编译在 Linux 上很直接./autogen.sh ./configuremakemakeinstallWindows 和 macOS 的编译方式在项目的doc/Building.md里有说明。6、适合谁用需要远程办公、想把家里和公司网络打通的人。做开发测试、需要跨网络联调多台机器的团队。想给 NAS 或者家里的服务做内网穿透又不想折腾复杂方案的个人用户。n2n 的优势在于轻量和直接。不需要装额外的框架不需要配置复杂的路由规则两条命令就能把两个网络接起来。社区名和加密密钥保证了基本的隔离和安全自建 supernode 又把主动权握在自己手里。要装额外的框架不需要配置复杂的路由规则两条命令就能把两个网络接起来。社区名和加密密钥保证了基本的隔离和安全自建 supernode 又把主动权握在自己手里。