内网穿透那点事-ngrok

公司差事,花生壳限制太多,网络带宽,终端连接数等等,看看了看手头资源还行,自己搭一套

资源情况
1、服务器一台 PC机也行,我用的虚拟机,最主要是要有固定的公网出口
2、域名一个,看资料是说不用域名也可以搞,但是既然有域名了,咱就不费劲了~~

开始安装
1、git安装

yum -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel curl curl-devel perl-ExtUtils-MakeMaker hg wget gcc gcc-c++  

2、安装go
下载地址:https://studygolang.com/dl
下载包丢到服务器上
解压

wget https://studygolang.com/dl/golang/go1.8.linux-amd64.tar.gz

tar -zxvf go1.8.linux-amd64.tar.gz /usr/local/

目录下即可看见 go 的目录
#go的命令需要做软连接到/usr/bin


ln -s /usr/local/go/bin/* /usr/bin/

设置全局的环境变量

export GOROOT=/usr/local/go    #// 程序安装的位置
export GOPATH=/home/go/            #// 项目位置
export PATH=$PATH:$GOROOT/bin:$GOPATH

使环境生效

source /etc/profile

好了 到这 我们的go安装完了 检测安装是否安装成功

go version
go env

3、安装ngrok
为了查找方便 也安装到local目录下

cd /usr/local/

//ngrok下载地址

git clone https://github.com/inconshreveable/ngrok.git
这个地址可以git下载 再传上去 也可以fock到自己项目里

下载完成后可以看到一个 ngrok的文件夹

配置 ngrok的环境变量

export NGROK_PATH=/usr/local/ngrok/  
#这里写你自己的域名,不要前缀,比如www.abc.com 填写abc.com (域名已备案)
export NGROK_DOMAIN="abc.com"  

4.生成ngrok证书并覆盖原有的证书

cd /usr/local/ngrok
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 server.key 2048  
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr  
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000

以上这个命令是拷来的 不必介意 就是生成证书的

覆盖证书

cp -f rootCA.pem assets/client/tls/ngrokroot.crt
cp -f server.crt assets/server/tls/snakeoil.crt
cp -f server.key assets/server/tls/snakeoil.key

到此 安装配置结束

生成服务端
进入ngrok的目录

cd /usr/local/ngrok/  

执行生成服务端 其中amd64代表64位的linux系统 如果是32位的 改为:GOARCH=386

GOOS=linux GOARCH=amd64 make release-server

生成成功后 会在ngrok的bin下有一个ngrokd文件夹 即代表成功

生成客户端
和服务端一样

cd /usr/local/ngrok/  
GOOS=windows GOARCH=amd64 make release-client

会在ngrok的bin下有一个windows_amd64文件夹 即代表成功

下面是不同系统生成不同客户端的版本 替换GOODS 和GOARCH的值即可

#Linux 平台 32 位系统:GOOS=linux GOARCH=386
#Linux 平台 64 位系统:GOOS=linux GOARCH=amd64
#Windows 平台 32 位系统:GOOS=windows GOARCH=386
#Windows 平台 64 位系统:GOOS=windows GOARCH=amd64
#MAC 平台 32 位系统:GOOS=darwin GOARCH=386
#MAC 平台 64 位系统:GOOS=darwin GOARCH=amd64
#ARM 平台:GOOS=linux GOARCH=arm
服务端的启动
在ngrock下执行

./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="abc.club" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443"

参数说明:
#-domain 访问ngrok是所设置的服务地址生成证书时那个
#-httpAddr http协议端口 默认为80
#-httpsAddr https协议端口 默认为443
#-tunnelAddr 通道端口 默认4443

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值