《Openwrt开发》第四章:newifi3 实现内网穿透(n2n)

有时候,我们希望远程访问路由器,但问题是路由器的IP是内网,所以,这时候需要“内网穿透”。

本文章用的是N2N开源框架,它使用的是twofish加密算法。

准备:

(1)一个公网(VPS)

(2)newifi3路由器

(3)PC机(ubuntu系统)

实现步骤

1、在公网(VPS)搭建n2n

带公网的VPS可以选择阿里云,华为云等。我用的VPS是国外的Digital Ocean,因为它有学生优惠包,是国外IP,想用的朋友参考这篇博客:https://blog.csdn.net/hunzhangzui9837/article/details/84974624

假设搭建好VPS之后(这里以我的Digital Ocean为例),用xshell远程登录服务器,安装n2n

下载n2n源码

git clone https://github.com/ntop/n2n/tree/2.4-stable

编译和安装

cd n2n
make & make install

设置supernode节点

sudo supernode -f -v -l 1234

此处-f表明前台执行方便看输出log,-v表示详细log输出,-l表示指定supernode端口。注意若当前不是root用户,要加sudo。

2、在路由器安装n2n服务

可以直接在软件包搜索n2n安装包,如果没有需要自己编译源码

《Openwrt开发》第四章:newifi3 实现内网穿透(n2n)_第1张图片

《Openwrt开发》第四章:newifi3 实现内网穿透(n2n)_第2张图片

 3、在ubuntu系统安装n2n,实现远程访问路由器

(1)下载源码,并编译

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

查看是否安装成功: 

ls /usr/sbin/supernode
ls /usr/sbin/edge

(2)配置n2n

sudo edge -d n2n0 -c myn2n -k 123456 -a 10.0.0.101 -l 206.189.179.7:1234

-d表示device,即虚拟网卡设备名(此命令将会创建虚拟网卡,命令执行完毕后,ifconfig可看到你创建的网卡信息),可随意。

 -c表示网络名,需要和路由器匹配

 -k 表示密码,需要和路由器匹配

 -a 表示虚拟设备的ip地址。需要和路由器属于同一网段

 -l 你要连接到哪台supernode?,也就是前面的公网ip。因为要连接到此台机器的supernode进程,故而需要指定端口。

(3)访问路由器

在ubuntu打开浏览器,访问网址:10.0.0.100即可。

你可能感兴趣的:(路由器)