使用frp进行内网穿透
首先你的具备一台公网服务器,可以买一台便宜的服务器,一年几十块钱的那种,然后去git上下载frp
https://github.com/fatedier/frp/releases
截止发文最新版本为0.61.1
下载两个包
frp_0.61.1_windows_amd64.zip
frp_0.61.1_linux_amd64.tar.gz
每个包都包含了server和client,文件很简单两个exe加两个配置文件。其中客户端为
frpc.exe
frpc.toml
服务端为
frps.exe
frps.toml
linux版本中同样的两个二进制文件,两个配置,不介绍了。
我们把公网服务器作为frp服务器,把linux包传上去
解压。然后添加对应服务,并把它配置成系统服务
我这边使用的是centos7系统,自带了systemd,其他系统自己处理下。
#【服务端口】
bindPort = 7001
#【#客户端连接时会用到的token保障安全】
auth.token = "FrPXSDF@123456"
#【服务端通过此端口接监听和接收公网用户的http请求】
vhostHTTPPort = 7002
#【dashboard配置】
webServer.addr = "0.0.0.0"
webServer.port = 7003
#【dashboard 用户名密码,可选,默认为空】
webServer.user = "admin"
webServer.password = "123456" #密码设置复杂点
服务端就配置完成了
你可以直接启动,也可以设置系统服务
vi /usr/lib/systemd/system/frps.service
输入以下内容新建一个服务
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /home/frp6/frps -c /home/frp6/frps.toml
[Install]
WantedBy = multi-user.target
启停命令
systemctl start frps
systemctl stop frps
设置开机启动
systemcrl enable frps
服务就配置好了,由于我们配置了dashboard,所以我们打开web看看前提是你的阿里云安全组放通了刚刚配置的三个端口 7001,7002,7003
http://你的服务器ip:7003/static/#/proxies/tcp,输入你配置的用户名密码
此时你可以看到一个空列表因为还没有客户端接入
然后我们开始配置客户端,即你内网的电脑,解压你下载的frp-windows包,配置client,即frpc.toml
serverAddr = "你的服务器ip"
serverPort = 7001
auth.token = "FrPXSDF@123456"
[[proxies]]
name = "名字随便取"
type = "tcp"
localIP = "0.0.0.0"
localPort = 3389
remotePort = 3389
通过命令行启动脚本指定配置,当然也可以写个简单的bat脚本启动
@echo off
start cmd /k "frpc.exe -c frpc.toml"
当然你还可以配置成系统服务也行。
启动完客户端你在进入dashboard就可以看到服务端有个连接接入了。此时你访问服务器的3389端口它就会给你转发到内网的3389端口了,当然安全组别忘记放通你要访问的端口。