云服务器,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
总结
内网穿透的网络带宽取决于你买的云服务器的带宽哦。