在Linux系统上安装n2n(一款轻量级P2P VPN工具)的步骤如下,分为源码编译和软件包管理两种方式,同时扩展相关配置和优化知识:
一、源码编译安装(推荐最新版本)
1. 安装依赖
确保系统已安装编译工具和基础库:
bash
sudo apt update && sudo apt install -y build-essential git cmake libssl-dev
2. 获取源码
从官方仓库克隆代码(以v3版本为例):
bash
git clone https://github.com/ntop/n2n.git
cd n2n
3. 编译安装
bash
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
4. 验证安装
检查是否安装成功:
bash
edge --version
supernode --version
二、包管理器安装(快速但版本可能较旧)
Debian/Ubuntu(需启用Universe仓库):
bash
sudo apt install n2n
CentOS/RHEL(需EPEL仓库):
bash
sudo yum install epel-release
sudo yum install n2n
Arch Linux(AUR):
bash
yay -S n2n
三、基本配置
1. 运行超级节点(Supernode)
bash
sudo supernode -l 7654 -f
`-l`指定端口,`-f`保持前台运行。
2. 启动边缘节点(Edge)
bash
sudo edge -a 10.0.0.1 -c mynetwork -k mypassword -l supernode_ip:7654 -f
- `-a`:分配虚拟IP
- `-c`:社区名称(需与超级节点一致)
- `-k`:加密密钥
3. 启用IP转发(若需路由流量):
bash
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
四、高级配置
加密选择
n2n支持AES(`-A3`)或Twofish(`-A2`),建议使用AES-256:
bash
edge -a 10.0.0.1 -c mynetwork -k mypassword -A3 -l supernode_ip:7654
日志调试
添加`-v`参数查看详细日志:
bash
supernode -l 7654 -v
开机自启
创建Systemd服务文件(`/etc/systemd/system/n2n-edge.service`):
[Unit]
Description=n2n Edge Node
After=network.target
[Service]
ExecStart=/usr/local/bin/edge -a 10.0.0.1 -c mynetwork -k mypassword -l supernode_ip:7654 -f
Restart=always
[Install]
WantedBy=multi-user.target
启用服务:
bash
sudo systemctl enable --now n2n-edge
五、注意事项
1. 防火墙规则
开放UDP端口(默认7654):
bash
sudo ufw allow 7654/udp
2. NAT穿透
若节点位于NAT后,确保超级节点在公网可达。若穿透失败,可尝试端口转发或STUN服务器。
3. 性能优化
在高延迟网络中,可通过`-z1`或`-z2`启用压缩(LZO或ZSTD),但会增加CPU负载。
4. 安全建议
- 避免使用默认社区名`n2n`。
- 定期更新密钥(`-k`参数)或启用动态密钥(`-H`参数)。
- 使用防火墙限制超级节点的访问IP。
六、其他替代方案
若n2n无法满足需求,可考虑以下P2P VPN方案:
ZeroTier:配置更简单,支持多平台。
Tailscale:基于WireGuard,集成身份验证(如SSO)。
Tinc:灵活的自组网工具,支持Mesh拓扑。