内网穿透软件ngrok使用教程详解 配合本地路由器

0 1332
索鸟 2021-01-26
需要:0索币

一、服务器端搭建:
1、所需条件:
域名,服务器,winscp,xshell

2、预先准备
将域名设置泛解析到自己服务器上,空解析也做上

3、服务器端生成自己的openssl证书

  1. mkdir ngrok
  2. openssl genrsa -out rootCA.key 2048
  3. openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=exp.com" -days 5000 -out rootCA.pem
  4. openssl genrsa -out device.key 2048
  5. openssl req -new -key device.key -subj "/CN=exp.com" -out device.csr
复制代码



将exp.com换成自己的域名
此时,ngrok下面应该有6个证书

4、将服务端文件文件准备
链接: http://pan.baidu.com/s/1i3rR3ed 密码: 9gd2,通过winscp上传至解压至放有6个证书的ngrok文件下 执行

  1. ./bin/ngrokd -domain="exp.com" -httpAddr=":80" -httpsAddr=":443" -tlsCrt=device.crt -tlsKey=device.key -tunnelAddr=":4443"
复制代码


简单介绍:domain为自己的域名,httpAddr为服务器端http代理端口,如端口被占用可自己指定,tlsCrt为tls加密证书,tunnelAddr为客户端与服务器端连接端口
如果没报错,ok


5、服务器端后台运行
ngrokd这个项目比较傲娇一点,通过&后台挂起或者supervisor服务形式都无法放后台运行,没办法,只能出大招,通过screen方式运行。
$screen
执行后出现新的窗口,./bin/ngrokd -domain="exp.com" -httpAddr=":80" -httpsAddr=":443" -tlsCrt=device.crt -tlsKey=device.key -tunnelAddr=":4443" 执行后可将窗口关闭,ngrokd即在后台运行,若想了解状态,可重新打开任意窗口,输入screen -ls找到自己ngrokd这个窗口的编号,通过screen -r 编号 的形式重新打开该窗口


至此,服务端部署完毕。


二、路由端


1、打开路由端ssh功能,通过xshell ssh至路由。
2、链接:http://pan.baidu.com/s/1c0bMKne 密码:a4j5该文件通过winscp方式上传到jffs文件下(其实随意,记得在哪就行)
3、解压得到tunnel和default.json两个文件。

  1. tar -zxvf tunnel.tar.gz
复制代码



4、vi default.json编辑配置文件,i进入编辑模式,将server改为自己的域名,subdomin为该设备的访问域名,如subdomin为test,即可通过test.exp.com访问自己设备,但若更改服务器httpAddr端口号不是80,如8000,要输入test.exp.com:8000访问,localhost 为代理后的ip,根据自己的路由或nas调整为10.1.1.1或192.168.1.1 通过按esc后输入:wq保存退出
5、编辑好执行

  1. ./tunnel -c defaut.json
复制代码



若出现proxy ok,此时内网穿透完成。
6、路由端可通过

  1. ./tunnel -c defaut.json -p /tmp/tunnel.pid
复制代码


来完成后台运行。

回帖
  • 消灭零回复
相关主题
2020年最新最新Kubernetes视频教程(K8s)教程 2
程序员转型之制作网课变现,月入过万告别996 1
索鸟快传2.0发布啦 1
两个不同网络的电脑怎么实现文件的互相访问呢? 1
网盘多账号登录软件 1
Java实战闲云旅游项目基于vue+element-ui 1
单点登录技术解决方案基于OAuth2.0的网关鉴权RSA算法生成令牌 1
QT5获取剪贴板上文本信息QT设置剪贴板内容 1
springboot2实战在线购物系统电商系统 1
python web实战之爱家租房项目 1
windows COM实用入门教程 1
C++游戏开发之C++实现的水果忍者游戏 1
计算机视觉库opencv教程 1
node.js实战图书管理系统express框架实现 1
C++实战教程之远程桌面远程控制实战 1
相关主题
PHP7报A non well formed numeric value encountered 0
Linux系统下关闭mongodb的几种命令分享 0
mongodb删除数据、删除集合、删除数据库的命令 0
Git&Github极速入门与攻坚实战课程 0
python爬虫教程使用Django和scrapy实现 0
libnetsnmpmibs.so.31: cannot open shared object file 0
数据结构和算法视频教程 0
redis的hash结构怎么删除数据呢? 0
C++和LUA解析器的数据交互实战视频 0
mongodb errmsg" : "too many users are authenticated 0
C++基础入门视频教程 0
用30个小时精通C++视频教程可能吗? 0
C++分布式多线程游戏服务器开发视频教程socket tcp boost库 0
C++培训教程就业班教程 0
layui的util工具格式时间戳为字符串 0
C++实战教程之远程桌面远程控制实战 1
网络安全培训视频教程 0
LINUX_C++软件工程师视频教程高级项目实战 0
C++高级数据结构与算法视频教程 0
跨域问题很头疼?通过配置nginx轻松解决ajax跨域问题 0