centos ngrok實現內網穿透(快速實現)

2021-10-06 10:19:56 字數 4378 閱讀 7480

自己動手,豐衣足食!網上的很多教程都有不少坑,做乙個優化的流程記錄

阿里雲上的centos伺服器,ssh連線(xshell),ftp連線(filezilla),以及解析到伺服器的網域名稱(這裡以xyz.com為例)

安裝gcc

yum install gcc -y
安裝git

yum install

git -y

安裝go環境

yum install  golang
獲得git原始碼

git clone  ngrok
生成證書(xyz.com替換成你自己的網域名稱!!!

export ngrok_domain=

"xyz.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

編譯原始碼生成服務端(放在伺服器上)

goos=linux goarch=amd64 make release-server
goos=windows goarch=amd64 make release-client
開啟ngrok服務(注意xyz.com替換為自己的網域名稱!!!

記得在伺服器安全組開啟相應的入網埠

&配置程式為:(注意xyz.com替換為自己的網域名稱!!!

指令碼程式為(如果上面的埠配置程式裡配置了更多的埠,記得新增

ngrok.exe -config=ngrok.cfg start http https ssh mstsc
雙擊ngrok.bat即可啟動

啟動成功畫面:

在ngrok程式目錄(/root/ngrok)下新建啟動指令碼start.sh(.sh即linux中的shell指令碼程式)

vi start.sh
輸入啟動指令碼(注意xyz.com替換為自己的網域名稱!!!

&給 start.sh 檔案許可權

chmod 755 /root/ngrok/start.sh
在/etc/rc.d/init.d目錄下新建啟動檔案

sudo

vi /etc/rc.d/init.d/ngrok

輸入自啟動服務檔案

#!/bin/sh

#chkconfig:2345 70 30

#description:ngrok

### 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=/root/ngrok

case

"$1"

in start)

echo

"start ngrok service.."

sh $/start.sh

;;*)exit 1 ;;

esac

給ngrok自啟動服務檔案執行許可權

chmod 755 /etc/rc.d/init.d/ngrok
註冊ngrok服務自啟動

cd /etc/rc.d/init.d

chkconfig --add ngrok

開啟服務

service ngrok start
檢視自啟動的服務狀態

chkconfig
如果如下圖所示,2345選項都是on,則開啟服務成功

reboot
檢視服務當前狀態

systemctl status ngrok
服務狀態是activating

service ngrok start時遇到的錯誤:env: 『/etc/init.d/ngrok』: no such file or directory,可是目錄下明明有ngrok檔案存在?

[root@iz6m61chmsnr61z init.d]

service ngrok start

env: 『/etc/init.d/ngrok』: no such file or directory

answer:這是因為在windows下儲存或者建立的指令碼檔案,windows中換行符為/r/n,而linux中是/n ,所以會出現錯誤

使用dos2unix工具進行檔案格式轉換即可

yum install dos2unix

dos2unix /etc/init.d/ngrok

/etc/init.d/ngrok 等同於/etc/rc.d/init.d/ngrok,相當於/etc下的init.d目錄只是快捷方式,在ftp工具裡面檢視即顯而易見

frp實現內網穿透

利用處於內網或防火牆後的機器,對外網環境提供 http 或 https 服務。對於 http,https 服務支援基於網域名稱的虛擬主機,支援自定義網域名稱繫結,使多個網域名稱可以共用乙個80埠。利用處於內網或防火牆後的機器,對外網環境提供 tcp 和 udp 服務,例如在家裡通過 ssh 訪問處於...

frp實現內網穿透

第二部 開啟資料夾,配置裡面的frpc.ini檔案,右鍵編輯就可以 裡面的ssh是預設的要改個名字,不是提示名字被占用,web 是自己加上去的,但是也要改個名字。埠號 按自己需求定,比如你的tomcat是80埠,就配80 按這個配置好檔案後,進行第三步。第三步 在doc視窗下執行這個配置檔案,執行這...

Frp實現內網穿透

一 內網穿透 內網穿透 可用使用外網訪問本地的應用,例如 內網穿透後使用zyd.fanaozhe.top訪問本地的localhost 8080 二 frp安裝步驟 服務端 客戶端2.frp的解壓啟動 1 服務端 將tar包解壓縮 tar zxvf frp 0.26.0 linux amd64.tar...