自己搭建远程办公之利用frp实现内网穿透

本文介绍了一种在疫情期间实现远程学习和工作的方法,利用frp工具进行内网穿透,实现对学校内网电脑的远程桌面连接。文章详细讲解了frp的配置过程,包括服务器端和客户端的设置,以及如何通过云服务器中转以增加连接的安全性。
摘要由CSDN通过智能技术生成

为啥要用远程

最近处于疫情的特殊时期,很多人都在家里减少外出,为抗疫做出自己的贡献。大多数学生基本都是在家里学习、搞研究。这个时候,如果能够有一种方式连接到自己在学校的电脑该有多好啊!以前在学校里面的时候,可以通过windows自带的远程桌面连接对内网电脑进行连接。针对不在同一网域的设备,很多人会采用teamviewer、向日葵之类的远程控制软件进行设备之间的控制。在这之前自己也是一直在用teamviewer免费版,对于一般短时间的连接办公或者文件传输来说完全是OK的。但是该免费版存在的问题是,有单次连接使用时间的限制,而且必须两台设备都连接了网关,可以访问外网。另一方面,如果没用账号登录的话,访问密码是经常会换的,虽然安全性高了,但是对于我们私人使用还是相对繁琐了一些(如果使用了账户并勾选了允许账户登录的选项则没有这一烦恼)。此外,如果有的时候网络不够稳定,会导致连接失败,需要多尝试几次。

今天师兄告诉我可以尝试frp进行内网渗透的操作。其大致原理我也不是太明白,按照自己的理解来说就是使用frp搭建一个设备之间的沟通连接隧道(当然里面还涉及到很多了,我这水平就搞不懂了)。网上看过去也有很多教程,但自己上手才是收获。frp的开发者在Github上面发布了非常详细的中文文档,描述得其实很多很详细了。对于我们这种,需求没那么多,这里只记录一下TCP搭建RDP远程桌面的过程。为了使得连接传输更加安全,我们采用了云服务器进行中转。对应下载release中的对应版本,国内网络下载挺慢的,多试几次就好了。

Github frp工具下载
frp说明文档(有中文版,非常nice)

具有公网IP的服务器端配置
tar -xvf frp_xxx_linux_amd64.tar.gz

解压完以后, 里面有以下几个文件。其中frpc是个人端相关的文件,frps是服务器端相关的文件。
为了保持文件内的清爽,可以删除其中没用的 frpc文件.
编辑frps.ini配置文件,我们只保证实现内网穿透的功能,可以清除其他无用的信息,在其中写:

[common]                       #必须有的配置,[]内是该段配置的名称
bind_port = 7000               #设置的frp服务端口,用于同客户端进行通讯
vhost_http_port = 8080         #设置的http访问端口,如果要用这个服务的话,需要绑定已知域名    

保存完配置的话,使用下面指令启动frp服务。因为frp启动后,如果关闭当前命令行端口,服务就会被相应关掉,因此最好使用screen进行后台运行。

./frps -c ./frps.ini
客户端配置

同样下载后,对文件进行解压。在客户端我们将编辑frpc.ini:

[common]                       #必须有的配置,进行基本端口的配置
server_addr = x.x.x.x          #服务器端的IP地址
server_port = 7000             #服务器frp服务的端口

[RDP]                          #RDP是一个名字,用来指定远程桌面连接的名称。如果有多台设备,那么要使用不同的名字哦。
type = tcp                     #连接方式为tcp协议
local_ip = 127.0.0.1           #本地ip,可以不用改
local_port = 3389              #用于远程桌面的端口,windows一般都是这个端口
remote_port = 6000             #与服务器连接通讯的端口,如果多台电脑想要使用frp服务的话,不同的电脑端口顺延,如6001,6002

配置好后,使用cmd(必须使用cmd)运行命令

frpc -c frpc.ini
连接

以上程序运行完后,就可以通过windows自带的远程桌面连接进行远程登录然后操作了。计算机名就是刚才设置的 ip地址 : 通讯端口 。密码是你登录windows时用的密码,注意不是PIN码哦。如果不知道自己的登录名,可以参考百度上的答案

另外,如果想让服务器开机启动的话,可以使用下面的方式。引用了大神知乎里的答案,在这里学习一下。

# 编辑服务文件
vim /etc/systemd/system/frps.service

#填写以下内容
[Unit]
Description=frps daemon
After=syslog.target network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/root/download/frp_0.31.1_linux_amd64/frps -c /root/download/frp_0.31.1_linux_amd64/frps.ini   #注意文件路径需要修改
Restart= always
 RestartSec=1min

[Install]
WantedBy=multi-user.target

# 保存退出后,启动服务。
systemctl start frps # 启动frps
systemctl enable frps # frps设置为开机启动

参考:
https://github.com/fatedier/frp/blob/master/README_zh.md
https://www.zhihu.com/question/39446056/answer/699782827
https://zhuanlan.zhihu.com/p/109972051
https://www.jianshu.com/p/0206494f8b6f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值