搭建解析内网 linux_Linux 搭建ngrok内网穿透

4aa2e4018e67679c12bcc29d83bb2812.png

准备工作,需要有一台公网IP的服务器用来部署内网穿透的服务端

1、下载源码到GOPATH工作目录的src文件目录下

我的GOPATH是 /root/go/src/

cd /root/go/src/git clone https://github.com/inconshreveable/ngrok.git

2、进入工作目录

cd ngrok

3、生成证书

openssl genrsa -out base.key 2048openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pemopenssl genrsa -out server.key 2048openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csropenssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt

4、将证书复制到指定位置

cp base.pem assets/client/tls/ngrokroot.crt cp server.crt assets/server/tls/snakeoil.crt cp server.key assets/server/tls/snakeoil.key 

5、编译服务端与客户端

生成的可执行文件在/root/go/ngrok/bin目录下

# linux32版本服务端GOOS=linux GOARCH=386 make release-server# linux64版本服务端GOOS=linux GOARCH=amd64 make release-server
# windows64版本客户端GOOS=windows GOARCH=amd64 make release-client# windows32版本客户端GOOS=windows GOARCH=386 make release-client
# linux64版本客户端GOOS=linux GOARCH=amd64 make release-client# linux32版本客户端GOOS=linux GOARCH=386 make release-client

6、移动服务端到公网IP的服务器的/usr/bin目录下

cp /root/go/src/ngrok/bin/ngrokd  /usr/bin/

7、如果不能执行先赋权

chmod +x ngrokd

8、启动服务端

ngrokd -domain="yule.zhang.com" -httpAddr=":80" -httpsAddr=:443 -tunnelAddr=:8083

9、服务端设置为自动启动

1)、在 /usr/ngrok/ 下新建start.sh 脚本内容为 (yinyue.zhang.com是你自己的域名)

/usr/bin/ngrokd -domain="yinyue.zhang.com"  -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":8083" &

2)、设置脚本权限

chmod 755 /usr/ngrok/start.sh

3)、新建启动脚本文件

sudo vi /etc/init.d/ngrok

4)、文件内容

!/bin/shBEGIN INIT INFOProvides:          ngrokRequired-Start:Required-Stop:Default-Start:    2 3 4 5Default-Stop:      0 1 6Short-Description: Start or stop the ngrok Proxy.END INIT INFOngrok_path=/usr/bin/case "$1" in    start)            echo "start ngrok service.."            sh ${ngrok_path}/start.sh            ;;  *)    exit 1    ;;esac

5)、赋权

cd /etc/init.dchmod 755 ngrok

6)、添加启动服务 ngrok

chkconfig –add ngrok

7)、测试服务是否能启动成功

service ngrok start

8)、查看自启动的服务 是否有 nrgok

chkconfig

10、Linux部署客户端

1)、先创建目录

mkdir ngrok

2)、创建配置文件

touch ngrok.cfg

3)、输入 ngrok.cfg 文件的内容

echo "server_addr: yule.zhang.com:8083" >> ngrok.cfgecho "trust_host_root_certs: false" >> ngrok.cfg

4)、启动客户端(启动之前先把第五步生成/root/go/src/ngrok/bin/ngrok)拷贝过来

# 指定子域名为iflytek(这个根据你自己的来设置),采用 http 协议和使用 80 端口     执行前先赋权     chmod +x ngrok     执行     ./ngrok -subdomain iflytek -proto=http -config=ngrok.cfg 80

11、windows部署客户端

1)、新建文件夹存放ngrok 和ngrok.cfg ,ngrok.cfg文件内容为

server_addr: "yule.zhang:8083"

trust_host_root_certs: false

tunnels:

http:

subdomain: "www"

proto:

http: "80"

https:

subdomain: "www"

proto:

https: "443"

ssh:

remote_port: 2222

proto:

tcp: "22"

mstsc:

remote_port: 52222

proto:

tcp: "192.168.0.107:3389"

12、windows下新建启动文件

start.bat

内容为

ngrok -config=ngrok.cfg start http https ssh mstsc

双击运行

13、验证

浏览器地址栏输入iflytek.yinyue.zhang.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值