树莓派使用n2n实现内网穿透

自己记录一下过程。

这里必须有一个公网ip做supernode。网上有免费的,也可以自己租一个。

n2n 有两种协议,一种是v1协议,另一种是v2协议,两种是不兼容的。


https://github.com/meyerd/n2n

地址是http://www.hosting.cz/n2nguien.exe提供了一个安装包,里面包含了V1和V2版本,请选择V1版本


“-d <接口名>”选项指定了由 edge 命令创建的 TAP 接口的名字。
“-a ”选项(静态地)指定了分配给 TAP 接口的 VPN 的 IP 地址。如果你想要使用 DHCP,你需要在其中一台边缘节点上配置一台 DHCP 服务器,然后使用“-a dhcp:0.0.0.0”选项来代替。
“-c <组名>”选项指定了 VPN 组的名字(最大长度为 16 个字节)。这个选项可以被用来在同样一组节点中创建多个 VPN。
“-u”和“-g”选项被用来在创建一个 TAP 接口后降权放弃 root 权限。edge 守护进程将会作为指定的用户/组 ID 运行。
“-k <密钥>”选项指定了一个由 twofish 加密的密钥来使用。如果你想要将密钥从命令行中隐藏,你可以使用 N2N_KEY 环境变量。
“-l ”选项指定了超级节点的监听 IP 地址和端口号。为了冗余,你可以指定最多两个不同的超级节点(比如 -l <超级节点 A> -l <超级节点 B>)。
“-m ”给 TAP 接口分配了一个静态的 MAC 地址。不使用这个参数的话,edge 命令将会随机生成一个 MAC 地址。事实上,为一个 VPN 接口强制指定一个静态的 MAC 地址是被强烈推荐的做法。否则,比如当你在一个节点上重启了 edge 守护程序的时候,其它节点的 ARP 缓存将会由于新生成的 MAC 地址而遭到污染,它们将不能向这个节点发送数据,直到被污染的 ARP 记录被消除


sudo apt-get install subversion build-essential libssl-dev


svn co https://svn.ntop.org/svn/ntop/trunk/n2n
cd n2n/n2n_v2
make
sudo make install 


//============================================
Supernode 配置


Supernode 并不需要 root 权限就可以运行,不过如果你是想使用小于 1024 的端口,就需要 root 权限了。


运行以下命令即可把supernode运行在后台。


supernode -l 12345


//===================================================
Edge 配置


简单修改并运行以下命令即可运行edge


edge -d edge0 -a 10.0.0.10 -c [community] -k [encrypt key] -u 1000 -g 1000 -l [Supernode IP]:[Supernode Port]


-d
sets the TAP device name as seen in ifconfig. Only available on Linux.
-a {|static:|dhcp:0.0.0.0}
sets the n2n virtual LAN IP address being claimed. This is a private IP address. All IP addresses in an n2n community typical belong to the same /24 network (ie. only the last octet of the IP addresses varies). If DHCP is used to assign interface addresses then specify the address as -a dhcp:0.0.0.0


开机自动启动的话,设置/etc/rc.local就可以


你可能感兴趣的:(Hobby)