利用natapp实现手机访问内网 linux 服务器
背景
-
硬件设备:
ubuntu服务器1台;
安卓4.0以上版本手机1部; -
环境描述:
LINUX服务器部署在内网环境,局域网内可以访问LINUX,也可以通过公共服务器代理上外网。 -
目标:
服务器实现内网防火墙穿透,外网可以直接访问 -
解决方案:
服务器使用natapp全端口映射linux版,实现http,https,tcp全隧道穿透。
实现过程
-
打开 natapp 网站 https://natapp.cn,并注册账号
-
登录后,点击左边,选择免费隧道
-
配置隧道协议,并免费购买
-
购买后的隧道,可以看到authtoken,复制它,待会儿用
-
下载 natapp 客户端,选择最新的 linux 版本
-
在服务器中以 root 用户创建新文件夹 /opt/natapp,并将 natapp 压缩包解压:
mkdir /opt/natapp
unzip natapp_linux_amd64_2_3_8.zip
-
给解压后的 natapp 文件赋予执行权限,命令:
chmod a+x natapp
-
新建一个名为config.ini 的配置文件
-
打开文件,并配置
文件内容如下:
#将本文件放置于natapp同级目录 程序将读取 [default] 段 #在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置 #命令行参数 -config= 可以指定任意config.ini文件 [default] authtoken=3670aa******d063 #对应一条隧道的authtoken clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空, log=/opt/natapp/natlog/natlog.log #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none loglevel=ERROR #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG http_proxy= #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空
-
启动测试,命令:
./natapp
-
如果启动成功,则出现如下界面
Tunnel Status Online : 代表链接成功
Version : 当前客户端版本,如果有新版本,会有提示
Forwarding : 当前穿透 网址 或者端口
Web Interface : 是本地Web管理界面,可在隧道配置打开或关闭,仅用于web开发测试
Total Connections : 总连接数 -
远程测试,找一台不在局域网内的电脑,使用putty远程连接此服务器
-
连接成功
-
问题:如果我们关闭natapp启动成功后的界面的话,natapp进程就会关闭,想再次远程连接就不可能了…
-
解决办法:natapp进程实现后台启动(三种办法,此处选择第三种)
- 使用 “nohup”,即 “nohup ./natapp &”,忽略hangup信号,防止终端关闭时程序退出。运行状态可以用 “jobs -l” 来查看。
- 使用 “setsid” 即 “setsid ./natapp” 。
- 最简单,将命令放入括号当中,比如说:(./natapp &),这样就行了。
注意: 启动之前先看看natapp进程,如果有多余进程,那就先 kill 掉它,然后进行后台启动
命令:(./natapp &)
-
手机下载 橙子SSH 安卓版 JuiceSSH
-
安装后登录连接服务器
-
连接成功
-
OK,大功告成,点个赞吧,有问题的可以留言,或者微信我