我的使用场景:在家访问学校服务器,由于不在一个局域网,所以需要使用内网穿透,我使用的是natapp。需要在有局域网的时候做好以下步骤。
(natapp官网:https://natapp.cn/)
1. 下载客户端
(我是在本地下载,然后再上传到服务器。)
2. 将下载好的包上传到服务器,并添加权限
(1)使用scp命令复制文件
命令格式:scp local_file remote_username@remote_ip:remote_folder
我是放在服务器/home目录下
注意:
1 由于这里不能添加端口号,所以只能将其复制到默认的22端口。
2 出现报错:Permission denied, please try again
进入服务器,输入命令:sudo chmod 777 remote_folder
(权限不够,修改权限即可。)
(2)给natapp添加执行权限:chmod u+x natapp
3. 注册natapp账号及实名认证(略)
4. 购买隧道
这里可以选择免费的,也可以选择付费的。
免费的端口号随机且不固定,付费的端口号自己设置且固定。
免费隧道一种协议只能建立一个,如果还想建立隧道就需要购买了。
建好后,在我的隧道中可以查看。
5. Linux后台运行natapp
因为我们要保持natapp始终在线的状态(窗口关闭时,会话并不终止),所以我们使用tmux实现会话与窗口的"解绑",具体用法如下连接:https://blog.csdn.net/as_your_heart/article/details/127617762
使用tmux后,进入我们放natapp的目录:cd /home
./natapp -authtoken=xxxxx
这里的xxx是上一张图红色框authtoken
这里,红色框部分,冒号前为现ip,冒号后为现端口号。
用现有的ip和端口号代替原来的ip和端口号,就可以实现非局域网远程访问服务器。
注意:这个窗口不能关闭。由于使用了tmux,我们将会话分离就好了,或者直接叉掉。
tips:这里有一个官方教程,有需要可以自行查看噢~