搭建屬於本身的內網穿透

前言

  你們好我是不同的科技宅,天天進步一點點,體驗不同的生活。今天給你們帶來的是用 frp 搭建屬於本身的內網穿透,方便在咱們平常的開發中進行調試。同時是 frp 是開源而且是免費的,只須要一臺雲服務器便可搭建。linux

什麼是 frp?

  Frp 是一種快速反向代理,可幫助您將 NAT 或防火牆後面的本地服務器公開到 Internet。 到目前爲止,它支持 TCP 和 UDP 以及 HTTP 和 HTTPS 協議,在這些協議中,請求能夠經過域名轉發到內部服務。git

  frp 還具備 P2P 鏈接模式。github

服務端安裝 frp

  Frp Github 地址web

下載 frp

 以我本身的服務器 Centos 爲例下載frp_linux_amd64shell

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

解壓

tar -zxvf frp_0.31.1_linux_amd64.tar.gz

解壓後獲得的文件

[root@VM_10_197_centos frp_0.31.1_linux_amd64]
-rwxrwxr-x 1 1000 1000 10608640 1月   6 16:02 frpc
-rw-rw-r-- 1 1000 1000     7447 1月   6 16:04 frpc_full.ini
-rw-rw-r-- 1 1000 1000      126 1月   6 16:04 frpc.ini
-rwxrwxr-x 1 1000 1000 11333632 1月   6 16:02 frps
-rw-rw-r-- 1 1000 1000     2514 1月   6 16:04 frps_full.ini
-rw-rw-r-- 1 1000 1000       26 1月   6 16:04 frps.ini
-rw-rw-r-- 1 1000 1000    11358 1月   6 16:04 LICENSE
drwxrwxr-x 2 1000 1000     4096 1月   6 16:04 systemd

刪除無用文件

rm -f frpc
rm -f frpc.ini
rm -f frpc_full.ini

rm -f systemd/frpc.service
rm -f systemd/frpc@.service

服務端配置

 修改 frps.ini 文件,設置 http 訪問端口爲 8080vim

# frps.ini
[common]
bind_port = 7000 #服務啓動佔用端口
vhost_http_port = 8080 #進行轉發端口

啓動服務端

./frps -c ./frps.ini

註冊系統服務

vim systemd/frps.service

修改服務文件

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
# 這裏須要根據frps的安裝路徑,進行更改
ExecStart=/home/frp/frps -c /home/frp/frps.ini

[Install]
WantedBy=multi-user.target

複製文件到系統

cp systemd/frps.service /etc/systemd/system/

注意:雲服務器安全組以及防火牆須要開啓對應的端口centos

操做命令

# 啓動測試
systemctl start frps.service

# 查看啓動狀態
systemctl status frps.service

# 中止
systemctl stop frps.service

# 開機自啓
systemctl enable frps.service

客戶端安裝 frp(mac)

 下載客戶端並解壓frp_darwin_amd64過程能夠參考服務端安裝過程。安全

curl -O --insecure https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_darwin_amd64.tar.gz

刪除無用的文件

rm -f frps
rm -f frps.ini
rm -f frps_full.ini

rm -f systemd/frps.service
rm -f systemd/frps@.service

修改配置文件

vim frpc.ini
[common]
server_addr = xxx.xxx.xxx.xxx(服務器公網ip)
server_port = 7000

[web]
type = http
# 本地web服務端口
local_port = 9090
custom_domains = www.xxxxxx.com(自定義域名)

注意:自定義域名須要解析到對應的服務器 ip 不然沒法正常使用服務器

客戶端啓動

./frpc -c ./frpc.ini

啓動成功信息dom

2020/02/02 12:26:14 [I] [proxy_manager.go:144] [fd88aa5c4087afc9] proxy added: [web]
2020/02/02 12:26:14 [I] [control.go:164] [fd88aa5c4087afc9] [web] start proxy success

訪問本地服務

  看到啓動成功信息,這裏就已經完成本地 web 服務進行內網穿透了。
咱們能夠在任意位置訪問咱們的本地 web 服務,經過訪問http://www.xxxxxx.com:8080就能夠達到訪問http://localhost:9090的目的了。

增長安全配置

  爲了安全起見咱們能夠在進行鏈接時設置 token,當客戶端和服務端 token 一致時才能夠成功創建鏈接,添加方式只須要在服務端和客戶端[common]下添加 token 配置便可:

# 認證token
token = 12345678

開啓 DashBorad

 開啓 dashboard 只須要在服務端[common]添加如下配置便可,同時不要忘記對安全組開放端口。

dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

 訪問地址:http://serverIp:7500

結尾

  若是以爲對你有幫助,能夠多多評論,多多點贊哦,也能夠到個人主頁看看,說不定有你喜歡的文章,也能夠隨手點個關注哦,謝謝。

相關文章
相關標籤/搜索