搭建解析内网 linux_Linux 搭建ngrok内网穿透
準備工作,需要有一臺公網IP的服務器用來部署內網穿透的服務端
1、下載源碼到GOPATH工作目錄的src文件目錄下
我的GOPATH是 /root/go/src/
cd /root/go/src/git clone https://github.com/inconshreveable/ngrok.git2、進入工作目錄
cd ngrok3、生成證書
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.crt4、將證書復制到指定位置
cp base.pem assets/client/tls/ngrokroot.crt cp server.crt assets/server/tls/snakeoil.crt cp server.key assets/server/tls/snakeoil.key5、編譯服務端與客戶端
生成的可執行文件在/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-client6、移動服務端到公網IP的服務器的/usr/bin目錄下
cp /root/go/src/ngrok/bin/ngrokd /usr/bin/7、如果不能執行先賦權
chmod +x ngrokd8、啟動服務端
ngrokd -domain="yule.zhang.com" -httpAddr=":80" -httpsAddr=:443 -tunnelAddr=:80839、服務端設置為自動啟動
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.sh3)、新建啟動腳本文件
sudo vi /etc/init.d/ngrok4)、文件內容
!/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 ;;esac5)、賦權
cd /etc/init.dchmod 755 ngrok6)、添加啟動服務 ngrok
chkconfig –add ngrok7)、測試服務是否能啟動成功
service ngrok start8)、查看自啟動的服務 是否有 nrgok
chkconfig10、Linux部署客戶端
1)、先創建目錄
mkdir ngrok2)、創建配置文件
touch ngrok.cfg3)、輸入 ngrok.cfg 文件的內容
echo "server_addr: yule.zhang.com:8083" >> ngrok.cfgecho "trust_host_root_certs: false" >> ngrok.cfg4)、啟動客戶端(啟動之前先把第五步生成/root/go/src/ngrok/bin/ngrok)拷貝過來
# 指定子域名為iflytek(這個根據你自己的來設置),采用 http 協議和使用 80 端口 執行前先賦權 chmod +x ngrok 執行 ./ngrok -subdomain iflytek -proto=http -config=ngrok.cfg 8011、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
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的搭建解析内网 linux_Linux 搭建ngrok内网穿透的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java方面的文献综述怎么写_如何写文献
- 下一篇: 随机发牌_用Python制作4人扑克牌发