前言
有的營運商(比如移動)不給公網IP,但我們又需要公網IP(遠端通路家裡的NAS,遠端控制家裡的電腦等)怎麼辦,自己搭建一台内網穿透伺服器。
本教程需要一台有公網IP的伺服器,租伺服器可以看看我這篇文章:
便宜的VPS/雲伺服器推薦本篇教程講兩種内網穿透工具的搭建和使用
Proxyer(推薦)
Proxyer
目前僅支援
TCP
協定、雖然看起來功能比較簡單,但基本可以滿足日常使用了,特别是在安裝和使用方面,對于新手是比較友好的。
這個不需要被端口映射的裝置安裝用戶端,隻需要區域網路内一台裝置安裝用戶端就可以映射區域網路内所有裝置的端口。
截圖

服務端
Github位址:
https://github.com/khvysofq/proxyer1、安裝Docker
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
2、安裝Docker Compose
curl -L "https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
3、安裝Proxyer
wget https://raw.githubusercontent.com/khvysofq/proxyer/master/docker-compose.yml
#請将後面1.1.1.1改成你的伺服器ip位址後再運作
export PROXYER_PUBLIC_HOST=1.1.1.1
docker-compose up -d
安裝完成後,就可以通過
ip:6789
通路服務端
WEB
管理面闆了,進去後需要設定一個用戶端認證密碼。
然後
CentOS
系統建議關閉防火牆使用,或者打開部分端口也行,關閉指令:
#CentOS 6系統
service iptables stop
chkconfig iptables off
#CentOS 7系統
systemctl stop firewalld
systemctl disable firewalld
像阿裡雲等伺服器,還需要去安全組那裡開放下端口。
安裝完成之後,就可以使用浏覽器通路6789端口(
http://{你的公網IP位址或者域名}:6789/
)來使用了。
用戶端
進入服務端面闆後,界面會提供
Linux
、
Windows
macOS
用戶端版本,然後自行根據自身系統下載下傳指定版本的壓縮包即可。
Windows
可以直接下載下傳界面版本,然後輕按兩下可執行檔案,會彈出一個網頁界面,輸入上面的認證密碼,即可開始配置穿透。
Linux
下載下傳壓縮包後,解壓出二進制檔案,直接在目前目錄使用
./proxyer
指令運作即可。
FrpMgr
什麼是FRP
FRP 是一個免費開源的用于内網穿透的反向代理應用,它支援 TCP、UDP 協定, 也為 http 和 https 協定提供了額外的支援。你可以粗略了解它是一個中轉站,幫你實作
公網 ←→ FRP(伺服器) ←→ 家庭内網
的連接配接,讓内網裡的裝置也可以被公網通路到。
而目前 FRP 還推出了“點對點穿透”的試驗性功能,連接配接成功後可以讓公網裝置直接跟内網裝置“點對點”傳輸,資料流不再經過
VPS中轉,這樣可以不受伺服器帶寬的限制,傳輸大檔案會更快更穩定。當然,此功能并不能保證在你的網絡環境 100% 可用,而且還要求通路端也得運作 FRP 用戶端 (是以目前手機是無法實作的,隻有電腦可以)。由于實作條件較多,是以有檔案傳輸需求的朋友還是建議買帶寬稍大一點的
會比較省心。
說明:
FrpMgr
是一個基于
Frp
的快速配置
Web
面闆,可以一鍵配置生成用戶端的
Frp
配置檔案,遠端安裝
Frp
服務到任意一台伺服器,讓我們在使用配置
Frp
上友善很多。
安裝
https://github.com/Zo3i/frpMgr說明:由于該面闆使用的
JAVA
Mysql 5.7
,是以
512M
的記憶體大部分是跑不起來的,如果記憶體太小,先加一點虛拟記憶體。
腳本安裝
wget -O - https://raw.githubusercontent.com/Zo3i/OCS/master/docker/docker-all2.sh | sh
wget -O - https://raw.githubusercontent.com/Zo3i/frpMgr/master/web/src/main/docker/final/run.sh | sh
#注:代碼僅在Centos7,Debian9系統上通過測試
面闆通路位址:
ip:8999/frp
,賬号
admin
,密碼
12345678
,登入成功後在面闆修改密碼即可。
檢視日志指令:1. docker ps 2. docker logs -f --tail 10 java項目的容器ID
手動安裝
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
3、安裝git
#Debian/Ubuntu系統
apt -y install git
#CentOS系統
yum -y install git
4、安裝FrpMgr
#拉取源碼
git clone https://github.com/Zo3i/frpMgr.git
#建構Mysql鏡像
cd frpMgr/web/src/main/docker/final/mysql
docker build -t jo/mysql .
#建構frp并啟動鏡像
cd ..
chmod +x w.sh
docker-compose up -d
ip:8999/frp
admin
12345678
使用
提示:這裡安裝面闆的伺服器是沒有給你安裝Frp的,你可以在下面伺服器配置的時候,填上ip,就可以安裝frp了。
1、首先去域名服務商解析一個泛域名(如
*.zeruns.tech
或
*.frp.zeruns.tech
))到伺服器
ip
。
2、點選左側
FRP
伺服器配置,域名隻需要填主域名,這裡預設的伺服器端口為
22
填好後,點選遠端安裝,輸入伺服器密碼即可,伺服器端系統目前支援
CentOS 7
Debian 8+
Ubuntu 16+
,且注意防火牆需要打開
Web
端口。
3、點選左側
FRP
用戶端配置,填上二級域名(比如
zeruns
、後面就不要了),本地端口就可以了。
最後點選右側,下載下傳
Win
或者
Mac
配置壓縮包即可,
Win
的話解壓出來打開
open.bat
即可,連接配接位址為
二級域名:Web端口
由于沒有
Win
用戶端開機自啟,這裡部落客就額外說下
Windows
開機自啟步驟。
1、建立一個vbs字尾的腳本,比如rats.vbs,腳本代碼如下:
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "C:\Users\Desktop\frp\frpc.exe -c C:\Users\Desktop\frp\frpc.ini",0
第二行為frp檔案夾路徑,不直接具體路徑的,打開frp檔案夾,左上角就是路徑,複制即可
2、使用Win+R、輸入shell:startup确認運作,将腳本放進彈出來的檔案夾裡面即可。
部分内容轉自:
https://www.moerats.com/