云服务器,ngrok的内网穿透

云服务器,ngrok的内网穿透


前言

家里的电脑、虚拟机没有公网ip的情况下,可以通过ngrok实现内网穿透,实现异地访问家里电脑上的服务,不用再花钱去花生壳上买映射服务啦,自己动手搭建,管它什么MC服务器,微信小程序api统统自己来,简单好用,香惨了。


0. 资料下载

链接:https://pan.baidu.com/s/1rKml2P44aVmP5uDgH3ZAQA
提取码:2333

1. 买一个云服务器 & 域名

使用学生优惠,阿里云、华为云、腾讯云随便挑,100左右一年,没有学生认证的话请去万能的淘宝。
域名的话阿里云等那几个大厂都有便宜的,随便买一个。

假设你有云服务器Ip:139.6.6.6
以及买了域名:loveyou.top

2. 设置域名解析A记录

买完域名,设置解析记录就行
在这里插入图片描述

3. 编译自己的ngrok服务器&客户端

3.1 安装Go

rm -rf /usr/local/go && tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin">> ~/.bashrc
source ~/.bashrc

3.2 安装Git

# 这个直接安装吧 没啥问题
yum -y install git

3.3 解压百度云盘里的东西(编译linux服务端+客户端)

# 放进云服务器,然后进入文件夹
# 进入解压文件夹里的 ngrok 文件夹
# 进入解压文件夹里的 ngrok 文件夹
# 进入解压文件夹里的 ngrok 文件夹
# 进入解压文件夹里的 ngrok 文件夹
export NGROK_DOMAIN="loveyou.top"
# 没有openssl就自己安装一个
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

# 替换证书 替换时系统会提示是否替换,输入“y”后回车确定替换
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt
cp device.key assets/server/tls/snakeoil.key
# 生成服务端 如果这一步失败大概率因为被墙下载不到相关包,就把百度云里的github.com gopkg.in 放进当前目录下的 src文件夹里
GOOS=linux GOARCH=amd64 make release-server release-client

在这里插入图片描述

3.4 编译windows客户端

# windows
GOOS=windows GOARCH=amd64 make release-client

3.5 编译好的可执行文件在./bin/

在这里插入图片描述

4. 启动

4.1 启动服务端

# 在ngrok目录下
nohup ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="yuuki.top" -httpAddr=":8864" -httpsAddr=":8865" -tunnelAddr=":6666" &

./ngrokd -tlsKey="/ngrok/ngrok/assets/server/tls/snakeoil.key" -tlsCrt="/ngrok/ngrok/assets/server/tls/snakeoil.crt" -domain="example.cn"  -httpAddr=":80" -httpsAddr=":443"

setsid ./ngrokd -tlsKey="/ngrok/ngrok/assets/server/tls/snakeoil.key" -tlsCrt="/ngrok/ngrok/assets/server/tls/snakeoil.crt" -domain="example.cn"  -httpAddr=":80" -httpsAddr=":443"

4.2 启动客户端

linux

复制云服务器中的bin/ngrok文件放入要穿透的内网机器中

# 改权限
chmod +x ngrok
# 写入配置文件
cat << EOF >> .ngrok
server_addr: "loveyou.top:6666"
trust_host_root_certs: false
tunnels:
  ssh:
    remote_port: 10022
    proto:
      tcp: 22
EOF
# 后台启动
setsid ./ngrok -log=logs start ss
# 查看进程
ps -ef | grep ngrok
# 查看日志
tail -f logs

windows

复制云服务器中的bin/ngrok文件放入要穿透的内网机器中

ngrok.exe -config ngrok.cfg start mc

总结

内网穿透的网络带宽取决于你买的云服务器的带宽哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值