自建Ngrok服务器实现内网穿透远程访问教程
版权申诉
114 浏览量
更新于2024-09-08
收藏 219KB PDF 举报
"Linux环境下使用Ngrok搭建内网穿透服务器,实现远程访问内网计算机的教程"
在当前的数字化时代,远程访问和管理内网中的计算机变得越来越重要,尤其是在没有公网IP或者受到网络限制的情况下。Ngrok作为一个强大的内网穿透工具,能够帮助我们创建安全的隧道,使得公网可以访问到内网中的服务。本教程将指导你如何在Linux系统上搭建自己的Ngrok服务器。
首先,确保你拥有一个域名,这个域名不需要进行备案。然后,你需要对这个域名进行DNS解析,设置两条记录:一条是将域名(例如:xxx.com)直接指向你的服务器IP地址(xxx.xx.xx.xx),另一条是将通配符星号(*.xxx.com)也指向同一IP。这样,任何子域名都可以通过这个IP地址访问。
Ngrok的核心原理是反向代理,它创建了一个从公共互联网到本地运行的Web服务的安全通道,同时还能捕获和分析通过隧道的所有网络流量,便于后续的检查和回放。
以下是详细的搭建步骤:
1. **安装必备软件**
- 安装GNU编译器套件,用于编译源码:`yum install gcc -y`
- 安装Git,用于下载Ngrok源码:`yum install git -y`
- 安装Go语言环境,因为Ngrok是用Go编写的:`yum install mercurial git bzr subversion golang golang-pkg-windows-amd64 golang-pkg-windows-386 -y`
2. **安装lrzsz和screen**
- lrzsz用于文件上传和下载:`yum install lrzsz -y`
- screen提供多窗口会话管理:`yum install screen -y`
3. **下载Ngrok源码**
- 使用Git克隆Ngrok的官方仓库到指定目录,例如`/opt`:`git clone https://github.com/inconshreveable/ngrok.git`
4. **生成Ngrok证书**
- 配置你的域名环境变量,例如:`export ngrok_domain="jmps.cloudlinks.cn"`
- 进入ngrok目录,并生成根证书和设备证书:
- `cd ngrok`
- 用以下命令依次生成证书:
```
export NGROK_DOMAIN="jmps.cloudlinks.cn"
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
```
5. **拷贝证书并启动Ngrok服务器**
- 将生成的证书移动到Ngrok源码目录下的相应位置,替换原有证书,确保路径正确。
- 编译Ngrok源码以生成可执行文件:`go build`
- 使用可执行文件启动Ngrok服务器,指定配置文件和证书路径。
完成上述步骤后,你的Ngrok服务器就已经搭建好了。你可以通过公网域名加上Ngrok的端口号来访问内网中的服务。例如,如果你将远程桌面服务配置为8080端口,那么可以通过`http(s)://yourdomain.com:8080`来远程访问。
值得注意的是,为了保障安全,你应该定期更新你的证书,并且确保你的服务器有足够的安全措施,防止未授权的访问。此外,如果你需要长时间稳定的服务,建议使用高可用的服务器集群来部署Ngrok。
通过自行搭建Ngrok服务器,不仅可以避免使用第三方服务的费用,还可以更好地控制你的数据安全,同时享受到内网穿透带来的便利。这是一项对于IT管理员和技术爱好者非常实用的技能。
2021-05-27 上传
2023-08-08 上传
2022-04-27 上传
2021-09-24 上传
Bill165313109
- 粉丝: 0
- 资源: 9
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载