內網 穿透,不用花生殼、nat123,超低成本手動實現內網 穿透

不用花生殼、nat123等內網穿透軟件的緣由:
一、免費的限制多
二、收費的價格高
本身搞個網站、博客什麼的成本高了天然不合適,固然土豪另當別論了。
這次方案:279元/3年(購買雲主機) 本身手動實現無限制內網穿透
 
1、前提條件
  一、須要一臺服務器
這裏推薦阿里雲,1核2G 如今價格3年只要279元(至關的便宜啊!)

3年只要279元html

創建本身的網站,打造本身的博客,只差一個雲主機,阿里雲3年279元 你值得擁有 趕忙點擊連接領取你的服務器吧!node

https://promotion.aliyun.com/ntms/act/group/team.html?group=sl3S60iPJ7linux

   二、購買好以後:c++

域名解析配置*.ngrok和ngrokgit

  本機環境變量配置github

vim /etc/profile
export NGROK_DOMAIN="ngrok.yourdomain.com"

紅色的改爲你本身的域名golang

  本機安裝ngrok所需lib安裝vim

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++ git

 

2、搭建ngrok內網穿透
  這裏原理就不詳述了,可自行百度!
一、安裝go語言
//請下載合適本身的go語言包  我是centos 6.8 64位 因此選擇如下包
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz
vim /etc/profile
//添加如下內容:
export PATH=$PATH:/usr/local/go/bin
source /etc/profile
//檢測是否安裝成功go
go version
二、下載ngrok源碼包
  github地址:https://github.com/inconshreveable/ngrok
//建立目錄
mkdir /ngrok
cd /ngrok
git clone https://github.com/inconshreveable/ngrok.git
三、生成證書
cd /ngrok
mkdir cert
cd cert
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 rootCA.pem /ngrok/ngrok/assets/client/tls/ngrokroot.crt  #複製rootCA.pem到assets/client/tls/並改名爲ngrokroot.crt
cp server.crt /ngrok/ngrok/assets/server/tls/snakeoil.crt #複製server.crt到assets/server/tls/並改名爲snakeoil.crt
cp server.key /ngrok/ngrok/assets/server/tls/snakeoil.key #複製server.key到assets/server/tls/並改名爲snakeoil.key
五、編譯生成ngrokd
cd /ngrok/ngrok
go env //查看環境
GOOS=linux GOARCH=amd64 make release-server
六、測試運行
cd /ngrok/ngrok
./bin/ngrokd -tlsKey="assets/server/tls/snakeoil.key" -tlsCrt="assets/server/tls/snakeoil.crt" -domain=" ngrok.yourdomain.com" -httpAddr=":8081" -httpsAddr=":8082" -tunnelAddr=":8083"

 紅色部分改爲你的域名segmentfault

七、後臺運行
cd /ngrok/ngrok
setsid ./bin/ngrokd -tlsKey="assets/server/tls/snakeoil.key" -tlsCrt="assets/server/tls/snakeoil.crt" -domain=" ngrok.yourdomain.com" -httpAddr=":8081" -httpsAddr=":8082" -tunnelAddr=":8083"

這樣就可讓服務跑在後臺了windows

八、編譯客戶端
GOOS=windows GOARCH=amd64 make release-client
#編譯成功後會在ngrok/bin/下面生成一個windows_amd64目錄下面有ngrok.exe

#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
九、運行客戶端

 將編譯好的客戶端下載到本地,客戶端的目錄在

 

在這個目錄下有個ngrok.exe下載下來

在ngrok.exe的同級目錄下,新建一個ngrok.cfg和start.bat兩個文件

ngrok.cfg內容

server_addr: "myngrok.com:8083"
trust_host_root_certs: false

start.bat內容

ngrok -config=ngrok.cfg -subdomain=test 80

紅色的是域名的前綴,能夠本身定義

執行start.bat

//出現如下內容表示成功連接:
ngrok

Tunnel Status                 online
Version                       1.7/1.7
Forwarding                    http://test.ngrok.yourdomian.com:8081 -> 127.0.0.1:80
Forwarding                    https://test.ngrok.yourdomain.com:8081 -> 127.0.0.1:80
Web Interface                 127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

 

本文參考:https://segmentfault.com/a/1190000010338848https://blog.csdn.net/zhangguo5/article/details/77848658?utm_source=5ibc.net&utm_medium=referral

  
相關文章
相關標籤/搜索