最近週末在搭建個人網站,花了兩天瞭解了下,目前基本上已經完成了個人部落格網站的搭建,但是網站備案還沒處理,只能IP存取,就不貼出了。
現把途中記錄的筆記分享下。
內網穿透不僅僅用於個人網站搭建把資料拿捏在本地,主要是為了方便後期可能會玩or開發一些物聯網裝置而提前準備的環境。
原文:李柱明部落格園:https://www.cnblogs.com/lizhuming/p/16885898.html
獨立公網,IPv4的就不要想了。
動態公網:除了移動,電信和聯通,和客服溝通下,都會很大方。
有了動態公網IP後,就用DDNS來繫結自己的域名就好了。DDNS服務商可以百度隨便找個,因為我個人沒有動態公網IP,就沒有細究。
參考方案:DNSPOD
花生殼:貴,免費的不夠用。
cpolar:目前在用,個人使用感覺,比花生殼要好。
先下載去官網免費版的cpolar,然後設定對映即可。免費的頻寬1M,有4條對映(我試過,應該是每個使用者端有4條對映可設定,而不是每個賬號只有4條對映,這個算nice)
先購買有個帶公網IP的雲伺服器,然後用雲伺服器反向代理,利用這個雲伺服器做流量轉發,原理和方案2一樣,只是要自己實現流量轉發。
參考方案:雲伺服器+FRP+個人域名。
frp 是一個開源、簡潔易用、高效能的內網穿透和反向代理軟體,支援 tcp, udp, http, https等協定。
FRP原始碼&教學:https://github.com/fatedier/frp
就是利用擁有公網的伺服器幫忙轉發資料。
需要一臺具有公網IP的伺服器。
需要被穿透的內網裝置。
設定主要分兩部分:
FRP穿透組態檔參考:frp*_full.ini
。
下載release包:根據裝置和frp版本下載:
wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz
解壓:
tar -zxvf frp_0.45.0_linux_amd64.tar.gz
相關檔案:
lzm@lzm-ubuntu:~/work/network/frp/frp_0.45.0_linux_amd64$ ls
frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE
修改伺服器端設定:
vim frps.ini
檔案內容:
# FRP伺服器端
[common]
# frp監聽的埠,預設是7000,可以改成其他的
bind_port = 7000
# 授權碼,請改成更復雜的
token = 12345 # 這個token之後在使用者端會用到
# frp管理後臺埠,請按自己需求更改
dashboard_port = 7001
# frp管理後臺使用者名稱和密碼,請改成自己的
dashboard_user = lzm
dashboard_pwd = 123456
enable_prometheus = true
# frp紀錄檔設定
log_file = /var/log/frps.log
log_level = info
log_max_days = 3
拷貝到專門的資料夾&啟動伺服器:兩種方案:
./frps -s frpc.ini
使用systemctl命令組:
# 在etc資料夾下建立frp資料夾,把frps.ini服務設定拷貝過去
sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp
# 把frps韌體包拷貝到系統的命令庫中
sudo cp frps /usr/bin
# 把frps的單元檔案拷貝到使用者lib
sudo cp systemd/frps.service /usr/lib/systemd/system/
# 使能&啟用
sudo systemctl enable frps
sudo systemctl start frps
驗證伺服器端是否成功啟動:在瀏覽器中輸入:http://伺服器公網IP:FRP後臺埠號,如:http://1.X.X.X:7001
輸入使用者名稱和密碼出現下圖即可說明伺服器端成功啟動。
和伺服器端步驟差不多
下載release包:根據裝置和frp版本下載:
wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz
解壓:
tar -zxvf frp_0.45.0_linux_amd64.tar.gz
相關檔案:
lzm@lzm-ubuntu:~/work/network/frp/frp_0.45.0_linux_amd64$ ls
frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE
修改伺服器端設定:
vim frpc.ini
檔案內容:
# FRP使用者端
[common]
server_addr = 伺服器ip
# 與frps.ini的bind_port一致
server_port = 7000
# 與frps.ini的token一致
token = 123456
# 設定ssh服務
[ssh]
type = tcp
# 也可以是當前裝置區域網內的其它IP
local_ip = 127.0.0.1
local_port = 22
# 這個自定義,之後再ssh連線的時候要用
remote_port = 7002
./frpc -c frpc.ini
隨便拿臺能接入公網的裝置進行ssh驗證:
穿透成功: