概述
本帖最后由 chengmeiqq 于 2017-12-29 14:40 编辑
CentOS 7 64位搭建ngrok服务器!!给k3.k3c.K2.k2p路由器使用!!开机运行服务端客户端!!
一、前提条件
一台云 CentOS 7 64位 服务器,一个域名(二级域名也可以),并且域名正确解析到云服务器
域名.png (30.43 KB, 下载次数: 323)
域名指向
2017-12-28 20:17 上传
二、提前准备工作1、安装gcc
yum install gcc复制代码
2.安装git
yum install git复制代码
3.安装GO语言环境
下载:看你服务器安装如果没有安装的话执行!!yum install wget
wget https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz复制代码解压安装:
tar -C /usr/local/ -zxvf go1.8.linux-amd64.tar.gz复制代码
添加环境变量,编辑:
vi /etc/profile复制代码
在最后添加:提示执行上面vi /etc/profile命令之后 直接按键盘 I 进入编辑模式 然后复制下面到文件最下面 然后 “esc” ":" "wq" "!"“回车”意思是保存退出!
#go lang
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin复制代码使环境变量生效:
source /etc/profile复制代码
检查是否安装成功:
go version #go version go1.8 linux/amd64表示安装成功复制代码
git --version #git version 1.8.3.1 表示成功复制代码三、在服务器上搭建Ngrok服务
1.下载ngrok源码
cd /usr/local/src
git clone https://github.com/inconshreveable/ngrok.git复制代码2.生成证书在自生成证书时需要一个解析到服务器上的主域名(二级域名也可以,本人已经验证过),现在以”p7p6.com”为例: 一行一行执行代码!
cd ngrok
#这里修改为自己的域名
export NGROK_DOMAIN="p7p6.com"
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复制代码
3.编译生成ngrokd(服务端)
GOOS=linux GOARCH=amd64 make release-server复制代码编译成功后在/usr/local/src/ngrok/bin/目录下可找到ngrokd服务端文件!4.编译生成ngrok(客户端)#这里是交叉编译,#当前系统可用go env查看 我们编译一个win7 64位的客户端来测试下!!
GOOS=windows GOARCH=amd64 make release-client复制代码以下是参考编译不同版本客户端命令:个人建议全部编译保存!
GOOS=linux GOARCH=arm make release-client ARM平台 K3路由器
GOOS=linux GOARCH=amd64 make release-client Linux平台64位系统
GOOS=linux GOARCH=386 make release-client Linux平台32位系统
GOOS=windows GOARCH=386 make release-client Windows平台32位系统
GOOS=windows GOARCH=amd64 make release-client Windows平台64位系统
三、服务器后台开机启动运行ngrok服务端:
1.以下内容新建一个 start.sh 文件放到 /usr/local/src/ngrok/start.sh
/usr/local/src/ngrok/bin/ngrokd -domain="p7p6.com" -httpAddr=":80"复制代码给权限:
chmod 755 /usr/local/src/ngrok/start.sh复制代码2.新建ngrok启动脚本文件
sudo vi /etc/init.d/ngrok复制代码文件内容:提示 运行sudo vi /etc/init.d/ngrok之后 !!直接按键盘I进入编辑模式,然后复制下面内容 然后 “esc” ":" "wq" "!" “回车” 意思是保存退出!
#!/bin/sh
### BEGIN INIT INFO
# Provides: ngrok
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start or stop the ngrok Proxy.
### END INIT INFO
ngrok_path=/usr/local/src/ngrok/
case "$1" in
start)
echo "start ngrok service.."
sh ${ngrok_path}/start.sh
;;
*)
exit 1
;;
esac复制代码3.ngrok脚本文件给权限
cd /etc/init.d
chmod 755 ngrok复制代码4.添加启动服务 ngrok
chkconfig --add ngrok复制代码5.测试服务是否能启动成功
service ngrok start复制代码6.查看自启动的服务 是否有 nrgok !!
chkconfig #执行这个代码如果出现后面的就OK了!! ngrok 0:off 1:off 2:on 3:on 4:on 5:on 6:off复制代码服务器ngrok的服务端开机自动启动成功了!!!
四、客户端运行ngrok:
windows启动方法:
用这个工具连接WinSCP.exe服务器 我们的客户端win7-64 位编译好的/usr/local/src/ngrok/bin/windows_amd64/ngrok.exe直接把windows_amd64文件夹下载到自己电脑的D盘根目录!
下载到电脑D盘之后在windows_amd64目录下新建一个ngrok.cfg文件,内容如下:
p7p6.com 修改成你的域名
server_addr: "p7p6.com:4443"
trust_host_root_certs: false
tunnels:
http:
subdomain: "www"
proto:
http: "8090"
https:
subdomain: "www"
proto:
https: "8091"
ssh:
remote_port: 2222
proto:
tcp: "22"复制代码windows打开CMD输入
D:
cd D:windows_amd64
ngrok.exe -config ngrok.cfg start http https ssh复制代码
win启动方法.png (31.89 KB, 下载次数: 302)
windows 启动成功
2017-12-28 21:22 上传
五、k3 路由器开机自动启动ngrok客户端(很多路由器都可以测试为K3刷官方修改的固件1.5V版本)
K3路由器运行客户端服务器上面的客户端文件下载 /usr/local/src/ngrok/bin/linux_arm/ngrok 到电脑桌面!!将路由器opt文件夹里面新建一个ngrok文件夹! 吧下载到桌面的ngrok文件传到/opt/ngrok/
然后新建一个文件 ngrok.cfg 内容如下:
server_addr: "p7p6.com:4443"
trust_host_root_certs: false
tunnels:
http:
subdomain: "www"
proto:
http: "80"
https:
subdomain: "www"
proto:
https: "8091"
ssh:
remote_port: 2222
proto:
tcp: "22"复制代码给文件夹权限:
chmod -R 777 /opt/ngrok/复制代码
K3ngrok客户端.png (72.09 KB, 下载次数: 297)
ngrokK3客户端
2017-12-28 21:44 上传
登陆路由器 192.168.2.1 设置功能-高级设置-启动任务加上:
sleep 2 && cd /opt/ngrok/ && ./ngrok -config ngrok.cfg start http https ssh 2>&1 &复制代码服务器跟路由器全部重启之后可以正常访问了!!!
p7p6.com.png (79.47 KB, 下载次数: 304)
2017-12-28 22:17 上传
完完完完完完完完完完完完完完完完
-----------------------------------------------------------------------------------------------------------
补充 单独启动命令
liunx启动
./ngrok -config ngrok.cfg start http https ssh复制代码windows启动命令:
ngrok.exe -config ngrok.cfg start http https ssh复制代码配置文件说明:
server_addr: "uboff.com:8083" 服务器跟端口
trust_host_root_certs: false
tunnels:
http: 这个是启动的名字 不可重复
subdomain: "www" 你前置的域名不可重复
proto:
http: "8090" 指向内网端口
http1: 这个是启动的名字 不可重复
subdomain: "www" 你前置的域名
proto:
http: "192.168.10.1:8090" 这个是可以指向内网任何ip 不填IP地址就只指向本机127.0.0.1
https:
subdomain: "www"
proto:
https: "8091"
ssh:
remote_port: 2222 这个2222是外部端口
proto:
tcp: "22" 内网端口
这个启动的话就是这样了
./ngrok -config ngrok.cfg start http http1 https ssh复制代码
最后
以上就是孤独路人为你收集整理的k3c路由怎么设置虚拟服务器,搭建ngrok服务器!!给k3.k3c.K2.k2p路由器使用!!详细教程!!!...的全部内容,希望文章能够帮你解决k3c路由怎么设置虚拟服务器,搭建ngrok服务器!!给k3.k3c.K2.k2p路由器使用!!详细教程!!!...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复