阿里雲伺服器如何搭建frp
⑴ 如何讓內網的CENTOS伺服器能用域名訪問
利用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.gz
2 tar xf frp_0.27.0_linux_amd64.tar.gz
3 mv frp_0.27.0_linux_amd64 /usr/local
4 cd /usr/local/frp_0.27.0_linux_amd64
5 rm -f frpc*
2、配置frps
這里使用最基礎的配置,bind_port 表示frp面板的監控埠,dashboard_user表示面板的登陸帳號,dashboard_pwd表示面板的登陸密碼,其它不動。
1 vi
frps.ini
配置文件說明:
1 [common]
2 bind_port = 7000
3
4 dashboard_user = whsir
5 dashboard_pwd = blog.whsir.com
6 dashboard_port = 8000
3、啟動frps
配置啟動服務
1 vi /etc/systemd/system/frps.service
1 [Unit]
2 Description=frps daemon
3 After=syslog.target network.target
4 Wants=network.target
5
6 [Service]
7 Type=simple
8 ExecStart=/usr/local/frp_0.27.0_linux_amd64/frps -c /usr/local/frp_0.27.0_linux_amd64/frps.ini
9
10 [Install]
11 WantedBy=multi-user.target
技行以下兩個命令
1 systemctl enable frps
2 systemctl start frps
4、訪問監控平台
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.gz
2 tar xf frp_0.27.0_linux_amd64.tar.gz
3 mv frp_0.27.0_linux_amd64 /usr/local
4 cd /usr/local/frp_0.27.0_linux_amd64
5 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.ini
1 [common]
2 server_addr = x.x.x.x
3 server_port = 7000
4
5 [ssh]
6 type = tcp
7 local_ip = 127.0.0.1
8 local_port = 22
9 remote_port = 6000
10
11 [web]
12 type = tcp
13 local_ip = 127.0.0.1
14 local_port = 80
15 remote_port = 8081
3、啟動frpc
配置啟動服務
1 vi /etc/systemd/system/frpc.service
1 [Unit]
2 Description=frpc daemon
3 After=syslog.target network.target
4 Wants=network.target
5
6 [Service]
7 Type=simple
8 ExecStart=/usr/local/frp_0.27.0_linux_amd64/frpc -c /usr/local/frp_0.27.0_linux_amd64/frpc.ini
9
10 [Install]
11 WantedBy=multi-user.target
執行如下命令
1 systemctl enable frpc
2 systemctl start frpc
至此frpc被控主機配置完成
此時可通過x.x.x.x:6000連接內網ssh,通過http://x.x.x.x:8081訪問內網主機web,訪問速度取決於帶寬
這時候,內網主機就映射到外網去了,然後,用域名指定你的frp主機ip就可以了。這樣就可以實現你的功能了。
⑵ 家用的電腦適合用作伺服器嗎
個人建議不要拿家用電腦,特別是台式機來做伺服器。原源姿因如下:
1.現在大部分人帶寬並沒有固定IP地址,要解決這個問題要麼打電話給運營商客服叫其幫忙固定一個IP,要麼用路由器DDNS,或者自己搭建一個FRP伺服器做內網穿透。
2.家用電腦特別是台式機功耗高,一直開著比較費電
3.家用電腦硬碟屬於個人消費級別的硬碟,沒有企業硬碟或專用硬碟那樣經的起整日開機使用
4.家用電腦作為伺服器,就一定會對外開發埠,假設電腦中有漏洞那麼就相當於給了那些不懷好意的人一個操作你電腦窺探你隱私的機會
如果真想在家中常備一台伺服器可以用一下方法閉陸:
1.買一台專業的家用NAS設備,如群暉NAS等,然後購買一台阿里雲ECS做frp伺服器即可
2.若自己動手能力不錯,也可以自己購買硬體雹態絕組裝NAS機器,但是前提是一定要控制好功耗
⑶ Docker安裝frp實現遠程桌面連接
[TOC]
由於沒有公網IP,無法遠程連接家裡的電腦,搜到了 frp 這個項目,嘗試使用後發現效果不錯,所以寫出安裝過程分享。
frp是一個反向代理工具,可以將流量轉發到目標主機,包括TCP,UDP,HTTP,HTTPS。其基本原理是目標主機安裝客戶端連接到代理伺服器建立固定連接,客戶主機通過代理伺服器連接到目標主機進行訪問。
市面上有向日葵,TeamViewer也是類似原理,只不過這里變成代理伺服器需要我們自己提供,比如從騰訊雲或者阿里雲購買一台輕量伺服器作為代理伺服器,有固定的公網IP可以訪問。自建伺服器的好處是帶寬獨享,可以有更穩定的連接效果。
而製作鏡像是希望能夠方便多次部署。
SELinux是關閉狀態,不需要處理
防火牆是關閉狀態,把防火牆開啟
提前開放一段埠范圍,用於frp流量轉發。
查看docker
docker還沒安裝,需要自己安裝。
添加docker的安裝源。
查看docker-ce版本
這里看到提示 versionlock ,由於只是安裝frp,所以先把鎖刪掉。
Docker可以默認安裝最新版本,或者指定版本安裝,分別指令如下。
這里直接安裝最新版本,等待安裝完成
安裝完後確認docker版本,並啟動docker服務
登錄代理伺服器,創建目錄並將frp復制到目錄下
將frps.ini備份並編輯frps.ini。
編輯Dockerfile
配置完畢,可以開始構建鏡像
構建需要拉取CentOS,根據網速可能需要等待一會兒
查看鏡像,可以看到鏡像已經製作完成,TAG是v1
基於鏡像開啟容器
查看監聽埠是否開啟
查看容器日誌
目前看來一切正常。嘗試訪問監控面板。
之前配置埠 dashboard_port = 20001,假設代理伺服器IP是106.13.127.200,那麼通過 http://106.13.127.200:20001 訪問監控面板
正常情況下,會提示輸入之前配置的用戶和密碼,並看到如下頁面
代理伺服器配置好後,配置目標主機,
關於遠程連接的配置這里不做說明,默認已配置好遠程連接的參數,只是需要代理伺服器中轉。
frpc和frps配置類似,編輯frpc.ini
具體配置
運行frpc
查看frpc的日誌frpc.log
查看frps的日誌
目標主機與代理伺服器成功建立TCP和UDP連接
客戶主機打開遠程桌面連接,輸入IP和埠進行連接106.13.127.200:20010
可以看到成功連接,並且已啟用UDP
frp也支持P2P模式,即客戶主機和目標主機直接建立連接,理論上會有更好的連接效果。但是由於現實中的網路環境,這種模式可能失敗。本人嘗試過有失敗情況,也有成功情況。可以參考frp文檔自行嘗試。
Windows遠程桌面會嘗試使用UDP提供更好的效果,所以這里同時配置了TCP和UDP代理。如果希望有更好的效果,可以考慮配置GPU渲染。關於遠程桌面的流量和GPU有機會其他文章說明。
⑷ 瀹剁敤鐨勭數鑴戦傚悎鐢ㄤ綔鏈嶅姟鍣ㄥ悧
1. 閫氬父鎯呭喌涓嬶紝涓嶅緩璁浣跨敤瀹剁敤鐢佃剳錛屽挨鍏舵槸鍙板紡鏈猴紝浣滀負鏈嶅姟鍣ㄣ傚師鍥犲寘鎷錛
2. 棣栧厛錛屽ぇ澶氭暟瀹跺涵瀹藉甫鐢ㄦ埛娌℃湁鍥哄畾IP鍦板潃銆備負浜嗚В鍐寵繖涓闂棰橈紝浣犲彲浠ラ夋嫨鑱旂郴榪愯惀鍟嗗㈡湇璇鋒眰鍒嗛厤涓涓鍥哄畾IP錛屾垨鑰呬嬌鐢ㄨ礬鐢卞櫒鐨凞DNS鏈嶅姟錛岀敋鑷寵嚜宸辨惌寤篎RP鏈嶅姟鍣ㄦ潵瀹炵幇鍐呯綉絀塊忋
3. 鍏舵★紝瀹剁敤鐢佃剳錛屽挨鍏舵槸鍙板紡鏈猴紝鍏鋒湁杈冮珮鐨勫姛鑰椼傞暱鏃墮棿榪愯屽皢瀵艱嚧杈冮珮鐨勭數璐規敮鍑恆
4. 姝ゅ栵紝瀹剁敤鐢佃剳鐨勭‖鐩橀氬父灞炰簬娑堣垂綰т駭鍝侊紝涓嶅儚浼佷笟綰х‖鐩橀偅鏍瘋愮敤錛屽彲鑳芥棤娉曟壙鍙楅暱鏃墮棿鐨勫紑鏈鴻繍琛屻
5. 鏈鍚庯紝灝嗗剁敤鐢佃剳浣滀負鏈嶅姟鍣ㄤ嬌鐢ㄦ椂錛岄氬父闇瑕佸瑰栭儴寮鏀劇鍙c傚傛灉鐢佃剳涓瀛樺湪瀹夊叏婕忔礊錛岃繖鍙鑳界粰鎮舵剰鐢ㄦ埛鎻愪緵鎿嶄綔浣犵殑鐢佃剳鍜屼鏡鐘浣犻殣縐佺殑鏈轟細銆
6. 濡傛灉紜瀹為渶瑕佸湪瀹跺涵鐜澧冧腑緇存姢涓鍙版湇鍔″櫒錛屽彲浠ヨ冭檻浠ヤ笅鏇誇唬鏂規堬細
7. 璐涔頒竴鍙頒笓涓氱殑瀹剁敤NAS璁懼囷紝渚嬪傜兢鏅朜AS錛屽苟鎼閰嶄竴鍙伴樋閲屼簯ECS鏈嶅姟鍣ㄦ潵榪愯孎RP錛屼互姝ゆ潵瀹炵幇鍐呯綉絀塊忋
8. 濡傛灉浣犲叿澶囦竴瀹氱殑鎶鏈鑳藉姏錛屼篃鍙浠ヨ嚜琛岃喘涔扮‖浠剁粍瑁匩AS鏈哄櫒銆備絾鍔″繀娉ㄦ剰鎺у埗鏁翠綋鍔熻楋紝紜淇濊懼囩ǔ瀹氳繍琛屻