日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

終于弄懂內網穿透知識了

 

內網穿透概念

百度百科是這么表述的:

內網穿透,也即 NAT 穿透,進行 NAT 穿透是為了使具有某一個特定源 IP 地址和源端口號的數據包不被 NAT 設備屏蔽而正確路由到內網主機。

簡單的表述就是:

讓外網能夠訪問本地的服務。

通俗的例子是這樣的:

假設你本機電腦搭建了一個博客網站,想讓深圳的朋友看一眼效果,那么通過這個內網穿透技術,就可以給遠在深圳的同學直接電腦/手機訪問網站。

結構圖

終于弄懂內網穿透知識了

結構圖

這里說明一下:

•User:互聯網外的主機

•frps:frp的服務端,它是一臺擁有公網IP的服務器地址。

•frpc: frp的客戶端,它會跟frp服務端進行溝通。

•tcp or http service:提供tcp或者http的服務,比如你電腦啟動了一個網頁服務器。

流程

根據上面的圖,講解下大致的流程:

1.frps所在的服務器(比如開放了公網端口7000),對外提供這個服務。

2.frpc配置frps的信息,連接到frps,建立一條通道。

3.frpc配置好本地的端口(比如5432端口)和對應公網端口(80端口)之間的關系。

4.當User用戶訪問frps所在的服務器開放的端口(如公網80端口),frps接收到連接請求之后馬上把這連接請求通過先前建立好的隧道轉發到frpc內網主機。

5.內網主機收到隧道發來的數據,進行內網服務【tcp or http service】的數據請求,直到【tcp or http service】服務返回了響應數據。

6.內網主機再將數據返回給frps服務端。

7.frps服務器的服務(80端口)返回給User用戶相應的資源。

部署過程

終于到正題了,不容易。

1.下載

去官網下載(https://github.com/fatedier/frp/releases)相應平臺的壓縮包,這里我是64位linux系統。

$ wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz

2.服務端配置

2.1 解壓

$ tar zxf frp_0.33.0_linux_amd64.tar.gz 
$ cd frp_0.33.0_linux_amd64

2.2 服務端解壓后刪除客戶端相關的配置(非必須的操作)

$ rm frpc*

2.3 配置服務端frps.ini配置文件

$ cat frps.ini 
[common]
bind_port = 17000

這里說明下參數,bind_port 是監聽的端口,后面frpc配置服務端端口需要配置此端口。

2.4 服務端啟動

$ ./frps -c frps.ini 

如果要后臺運行,通過nohup方式進行后臺啟動。

$ nohup ./frps -c frps.ini  &

3.客戶端配置

3.1 解壓

$ tar zxf frp_0.33.0_linux_amd64.tar.gz 
$ cd frp_0.33.0_linux_amd64

3.2 客戶端解壓后刪除服務端相關的配置(非必須的操作)

$ rm frps*

3.3 配置客戶端frpc.ini配置文件

cat frpc.ini
[common]
server_addr = 公網IP地址
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

這里說明下參數:

•server_addr: 填寫frps服務端的公網IP

•server_port: 填寫frps服務端的端口

•[xxx] : 這個是服務名,可以任意修改,本例命名為ssh,注意多個規則不能重復名字。

•type: 連接類型,比如http、tcp。ssh方式連接就用tcp。

•local_ip: 填寫本地服務的IP

•local_port: 填寫本地服務的端口

•remote_port: frps服務端公網的開放端口,這里需要注意不是frps服務的端口。

3.4 客戶端啟動

$ ./frpc -c frpc.ini 

如果要后臺運行,通過nohup方式進行后臺啟動。

$ nohup ./frpc -c frpc.ini  &

一些更細致的配置

比如服務端配置:

$ cat frps.ini 
[common]
bind_port = 17000
token = myfrptest 
dashboard_port = 7500
# dashboard's username and password are both optional,if not set, default is admin.
dashboard_user = admin
dashboard_pwd = admin

詳細參數說明:

•token:服務器上設置的連接口令

•dashboard_port:服務端儀表板的端口,若使用7500端口,在配置完成服務啟動后可以通過瀏覽器訪問 x.x.x.x:7500 (其中x.x.x.x為公網服務器的IP)查看frp服務運行信息。

•dashboard_user:打開儀表板頁面登錄的用戶名

•dashboard_pwd:打開儀表板頁面登錄的密碼

對應客戶端配置:

$ cat frpc.ini
[common]
server_addr = 填寫公網IP
server_port = 17000
token = myfrptest
admin_addr = 本機的IP
admin_port = 7400
admin_user = admin2
admin_pwd = admin2

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 8081
remote_port = 17001

詳細參數說明:

•token:要連接frps服務的連接口令

•admin_addr:客戶端管理界面的IP

•admin_port:客戶端管理界面的端口

•admin_user:打開客戶端管理界面登錄的用戶名

•admin_pwd:打開客戶端管理界面登錄的密碼

配置的小技巧

我們在客戶端的配置時候需要填寫公網IP,或者開放的端口,我們可以用環境變量來生效。

$ cat frpc.ini
[common]
server_addr = {{ .Envs.FRP_SERVER_ADDR }}
server_port = 17000
token = myfrptest

我們配置了環境變量{{ .Envs.FRP_SERVER_ADDR }},那么在啟動服務之前,我們需要做一個環境變量export操作。

$ export FRP_SERVER_ADDR="120.xxx.xx.xx"
$ ./frpc -c frpc.ini 

這樣就可以正常啟動,不需要在配置文件顯示具體公網IP。

效果圖

•公網IP開放了17001的端口

終于弄懂內網穿透知識了

 

•frps服務端儀表板

終于弄懂內網穿透知識了

首頁


終于弄懂內網穿透知識了

TCP頁面

•frpc客戶端管理界面

終于弄懂內網穿透知識了

客戶端配置文件修改界面

重要說明

1.確保防火墻放行相關的端口。

2.如果你是在阿里云或者騰訊云等云平臺上,注意在安全組上放行相關的端口。

更多安全的配置,可以去GitHub研究實踐。


歡迎關注我的公眾號testerzhang,原創技術文章第一時間推送。

分享到:
標簽:穿透 內網
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定