基于N2N的穿网实践

为了完成pc端、android端和server端的内网方式连接,需要在阿里云上部署n2n的supernode,然后让server端软件、android端软件和pc端软件都运行相应的edge,这样他们都能运行在一个内网环境下来。具体实现方法如下:

1. server端部署supernode

1.1 下载和安装n2n

git clone https://github.com/meyerd/n2n.git
cd n2n/n2n_v1/
make
sudo make install

1.2 简单使用n2n的supernode

supernode -l 8888 &

这样就在阿里云ECS服务器的后台运行了n2n的server端。注意,一定要选择v1版本,其他的终端设备也需要选择相同的v1版本。

2. server端配置edge

由于服务器端软件同样需要位于内网环境中,因此还需要在服务器上配置部署edge节点,如下:

sudo edge -d edge0 -a ALIYUNIP -c mynetwork -u 1000 -g 1000 -k password -l 1.1.1.1:5000

3. Android端配置edge

Android目前需要下载并安装专用的n2n android客户端软件,在这里。安装完成后需要按照如下方式配置:

 

4. pc端配置edge

pc端目前可以直接下载并安装windows版本的n2n客户端软件(在这里),并在系统后台持续运行。同样,这个后台daemon程序会虚拟出一张网卡,从而形成内网方式连接的通道。pc端配置方法如下:

 

5. 性能测试

由于我选择的ECS是在华东区,而目前pc端软件运行在南京和无锡,Android端软件运行在南京和无锡,都在华东,因此理论上网络性能应该不错。可以测试下:

5.1 ping值测试

 

5.2 文件传输测试

 

5.3 流媒体数据传输测试

 

5. 压力测试

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s