-
1 # 鍋仔vlg
-
2 # 不知名的電腦技術員
利用frp穿透技術,來實現你要的功能,不需要公網IP。畢竟現在公網IP運營商有很多限制:
frp內網穿透是透過一個帶有公網IP的伺服器進行中轉,對被控主機實現反向代理,使用者透過訪問frps(中轉伺服器)來實現對frpc(被控主機)的遠端訪問。
frp流程圖如下:
frp專案地址:https://github.com/fatedier/frp
本實驗環境以阿里雲伺服器作為中轉機,中轉伺服器使用Centos7.6,被控主機使用Centos7.6,使用者使用Windows10由於網路原因,文中連結已經替換成了本地連結,如不放心,請自行去GitHub下載
frps中轉伺服器配置
1、下載frp
在一臺有公網IP的主機上配置frps,我這裡以阿里雲Centos7.x主機為例
1 wget http://down.whsir.com/downloads/frp_0.27.0_linux_amd64.tar.gz2 tar xf frp_0.27.0_linux_amd64.tar.gz3 mv frp_0.27.0_linux_amd64 /usr/local4 cd /usr/local/frp_0.27.0_linux_amd645 rm -f frpc*2、配置frps
這裡使用最基礎的配置,bind_port 表示frp面板的監控埠,dashboard_user表示面板的登陸帳號,dashboard_pwd表示面板的登陸密碼,其它不動。
1 vi
frps.ini
配置檔案說明:
1 [common]
2 bind_port = 70003
4 dashboard_user = whsir
5 dashboard_pwd = blog.whsir.com6 dashboard_port = 80003、啟動frps
配置啟動服務
1 vi /etc/systemd/system/frps.service1 [Unit]2 Description=frps daemon3 After=syslog.target network.target4 Wants=network.target56 [Service]7 Type=simple8 ExecStart=/usr/local/frp_0.27.0_linux_amd64/frps -c /usr/local/frp_0.27.0_linux_amd64/frps.ini910 [Install]11 WantedBy=multi-user.target執行以下兩個命令1 systemctl enable frps2 systemctl start frps4、訪問監控平臺
http://公網IP:8000
賬號whsir
密碼blog.whsir.com
如果訪問不了,請使用ss -lnt命令檢查埠是否啟動,是否因為防火牆原因攔截。
至此frps中轉伺服器配置完成
frpc內網主機配置
1、內網主機下載frp
1 wget http://down.whsir.com/downloads/frp_0.27.0_linux_amd64.tar.gz2 tar xf frp_0.27.0_linux_amd64.tar.gz3 mv frp_0.27.0_linux_amd64 /usr/local4 cd /usr/local/frp_0.27.0_linux_amd645 rm -f frps*2、配置frpc
其中x.x.x.x表示frps中轉伺服器IP地址
ssh欄位:local_port = 22示被控(內網)主機的ssh埠,remote_port = 6000表示ssh中轉埠
web欄位:local_port = 80表示被控(內網)主機的web埠,remote_port = 8081表示web中轉埠
1 vi frpc.ini1 [common]2 server_addr = x.x.x.x3 server_port = 700045 [ssh]6 type = tcp7 local_ip = 127.0.0.18 local_port = 229 remote_port = 60001011 [web]12 type = tcp13 local_ip = 127.0.0.114 local_port = 8015 remote_port = 80813、啟動frpc
配置啟動服務
1 vi /etc/systemd/system/frpc.service1 [Unit]2 Description=frpc daemon3 After=syslog.target network.target4 Wants=network.target56 [Service]7 Type=simple8 ExecStart=/usr/local/frp_0.27.0_linux_amd64/frpc -c /usr/local/frp_0.27.0_linux_amd64/frpc.ini910 [Install]11 WantedBy=multi-user.target執行如下命令1 systemctl enable frpc2 systemctl start frpc至此frpc被控主機配置完成
此時可透過x.x.x.x:6000連線內網ssh,透過http://x.x.x.x:8081訪問內網主機web,訪問速度取決於頻寬
這時候,內網主機就對映到網路去了,然後,用域名指定你的frp主機ip就可以了。這樣就可以實現你的功能了。
-
3 # 乾兔
在阿里上買個域名,用在lend軟路由下一個阿里的dnns解析軟體,解析到你用的公網ip上,哪怕改變也能自動更新最新的ip,(因為程式每隔5s或者30s就檢測一下你的公網ip)但這樣你必須還要在內網裡做好埠轉發,並且你公網訪問本地網站只能域名加埠號,除非你到工信部去備案
-
4 # 覆水難收77313204
使用阿里或dnspod或其他支援api的dns提供商。lede有對應的外掛,會在ip改變時修改dns的解析。
然後lede做dmz或將需要的埠對映到伺服器。網路直接訪問域名+埠
回覆列表
靜態域名不行,你的用類似花生殼的動態域名解析你的IP,透過它提供的工具動態更新IP,就不怕重新撥號時域名解析不到的問題了