
frp内网穿透实现在家远程公司电脑
身为程序员,在家远程公司电脑可以说是一个刚需。以前尝试过向日葵,还开了会员,后面觉得贵,又尝试了 toDesk,这一类不是微软亲儿子,总结就是要么花钱要么卡。后面接触了内网穿透,用了 cpolar (一款内网穿透产品),结合微软自带的远程桌面,简直无损享受,就是免费版带宽低,付费版又贵。所以就有了这篇文章
前言
- 引用技术: frp
- frp官方(git): https://github.com/fatedier/frp , frp官方中文文档
- 第三方参考链接:
PS: frp 支持不同的系统,但本文只针对公司电脑 windows 系统作为 frp client ,ubuntu 服务器作为 frp server。
简述
首先要了解两个概念,frps
和 frpc
,其中的 s
代表 server,c
代表client。然后第一步就是要有个具有公网 ip 的服务器(后文简称服务器),windows 和 linux 都可以(本文以 linux ubuntu20 为例)。服务器作为 frps
,公司的电脑作为 frpc
,frp 通过在公网上的服务器(具有公网IP)建立一个代理,使得内网设备可以通过这个代理与外网进行通信。
步骤
1. 服务器中下载 frp
到 https://github.com/fatedier/frp/releases 中下载最新版本的 frp 软件
我当时下载的是 frp_0.54.0_linux_amd64.tar.gz
在服务器上解压文件:
tar -zxvf frp*.tar.gz
2. 配置 frps.toml
内容如下:
bindPort = 7000
auth.token = "psw"
subDomainHost = "astorm.domain"
bindPort 是服务部署的端口,记得服务器的防火墙要开放这个端口。auth.token是口令,后面client 配置时的口令跟这个对得上才可以连接,会安全一些。如果你想绑定域名的话,就配置多一个 subDomainHost,二级域名即可(就算你想绑定的是三级域名,这里也填二级域名),对应域名解析记得要填本服务器的 ip。
3. 启动 frps
cd 到frp目录下,执行
nohup ./frps -c ./frps.toml &
加 nohup 是为了后台运行,并将日志输出到当前目录的 nohup.out,方便后续查看
4. 公司电脑下载 frp
同样的,到 https://github.com/fatedier/frp/releases 中下载最新版本的 frp 软件
我当时下载的是 frp_0.54.0_windows_amd64.zip
解压,将文件夹放到你喜欢的位置
5. 配置 frpc.toml
内容如下:
serverAddr = "xxx.xxx.xxx.xxx"
serverPort = 7000
auth.token = "psw"
[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 33389
subdomain = "remote"
- serverAddr、serverPort 顾名思义就是服务器的 ip 和端口
- auth.token 也和服务器配置的口令对应
- name 随便
- type 照抄
- localIP
- localPort 远程桌面的端口,都是 3389
- remotePort 为远程桌面共享时使用的端口号
- subdomain 可选,如果你要绑定域名,这里就写三级域名的第三级就好
6. 启动 frpc
在 frp 文件夹中新增一个 runRemoteClient.bat 文件,内容如下:
@echo off
cd /d D:\frp
start /min .\frpc -c .\frpc.toml > frpc.log 2>&1
其中 D:\frp
是我 frp 所在文件夹,根据实际去改即可
双击这个文件,即可启动 frpc
7. (可选) 开机自启动
win + r 打开“运行”,输入 shell:startup
,然后会打开一个文件夹。
将上面的 runRemoteClient.bat 右键创建一个快捷方式,把快捷方式丢到上面打开的文件夹,就会实现开机时自动执行这个 bat 文件
8. 远程
在家里的电脑,打开远程桌面,输入 服务器ip:33389
,即可远程桌面
如果有绑定域名,就输入 remote.xxx.xxx:33389
。好吧,我也不知道怎么去掉后面的端口,将就用吧
9. 后记
其实这种方式感觉不太安全,毕竟链接很容易就泄露了,所以公司电脑 windows 的密码要设好,不要用 123
这种太简单的密码。
另外,推荐 RD-Client 这款 app,iPhone、iPad都可以下载,微软官方的远程桌面 app,实现移动设备远程公司电脑