小白也会的内网穿透教程(centos版)

maoyu06 · · 295 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

服务端操作系统:centos7

使用到的命令:

  1. yum install gcc -y 安装编译环境
  1. yum install git -y 安装git 下载代码用的
  1. yum install golang 安装golang语言 如果提示没有安装包则先执行

    rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO

    curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo

    然后再执行 yum install golang就好了

  1. git clone https://github.com/tutumcloud/ngrok.git ngrok 下载ngrok代码
  1. cd ngrok 切换到代码目录

生成证书

  1. NGROK_DOMAIN="tunnel.test.com" 设置你的域名,这里test.com就是你的顶级域名,不建议直接设置顶级域名,免得影响别的子域名使用
  1. openssl genrsa -out base.key 2048 生成客户端RSA私钥 无加密
  1. openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem 生成客户端公钥
  1. openssl genrsa -out server.key 2048 生成服务端RSA私钥 无加密
  1. openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr 生成服务端公钥
  1. openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt 生成签名

生成证书结束

  1. cp base.pem assets/client/tls/ngrokroot.crt 替换现有证书
  1. make release-server release-client 编译生成服务器文件ngrokd和客户端文件ngrok

上面命令生成的客户端只能在和服务器环境一样的系统上使用,我们可以根据客户端使用的系统重新编译客户端执行文件,比如:

GOOS=linux GOARCH=arm make release-client 生成安卓系统客户端

GOOS=darwin GOARCH=amd64 make release-client 生成mac系统客户端

GOOS=windows GOARCH=386 make release-client 生成windows客户端

GOOS 表示运行系统, GOARCH 表示系统架构

  1. scp 用户名@服务器ip:服务器文件路径 本地存放路径 #将客户端文件下载到本地

域名解析

不建议直接解析顶级域名,免得影响别的子域名使用,假设test.com为顶级域名,我们使用tunnel作为穿透的二级域名

  1. 将tunnel.test.com 解析到服务器,记录类型为A,记录值填写服务器ip

  2. 将*.tunnel.test.com 解析到服务器,记录类型为CNAME,记录值为tunnel.test.com


    域名解析示意
  1. ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="你生成证书时填的域名" -httpAddr=":8081" -httpsAddr=":8082" 服务器端启动命令 端口任意填,没被占用和能外网访问就行

18.编辑客户端配置文件,比如下面配置


配置文件
  1. ngrok -config ngrok.cfg start 隧道名1 隧道名2 ...... 客户端启动命令,windows把命令里面的ngrok替换为ngrok.exe,然后在ngrok.exe所在目录使用cmd终端执行,出现下图表示成功


    客户端启动

本教程视频实操版,地址:https://www.bilibili.com/video/BV1r5411n77K/,搭配食用更香哦。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:maoyu06

查看原文:小白也会的内网穿透教程(centos版)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

295 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传