阿里云服务器如何搭建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链哄櫒銆备絾锷″繀娉ㄦ剰鎺у埗鏁翠綋锷熻楋纴纭淇濊惧囩ǔ瀹氲繍琛屻