frp内网穿透
在内网环境下搭建好服务器之后,后台和服务都只能在内网环境下访问,不是很方便,于是使用frp来搭建一个内网穿透服务,实现在外网环境下也能访问内网服务。
首先需要准备好一台有公网ip的服务器,我这里使用的是阿里云的云服务器,规格2核2GB内存,带宽3Mbps。
到frp的github页面下载本地压缩包
根据系统架构选择对应的压缩包,我这里使用的是Linux_amd64。
下载后之后我们上传到服务器,上传之前建议先创建一个自定义目录来存放,方便后期维护。
然后我们进入自定义目录,在当前目录解压frp本地包
cd /home/frp
sudo tar -xf frp_0.60.0_linux_amd64.tar.gz
解压完成后我们进入frp文件夹,修改里面的服务端配置文件frps.toml
cd /frp frp_0.60.0_linux_amd64
sudo vim frps.toml
按如下配置修改内容
bindAddr = "服务端IP"
bindport = "服务端监听端口"
webServer.addr = "服务端IP"
webServer.port = "服务端dashboard端口"
webServer.user = "dashboard用户名"
webServer.password = "dashboard密码"
enablePrometheus = true
auth.method = "token"
auth.token = "token密钥"
log.to = "自定义日志目录"
log.level = "info"
log.maxDays = 3
wq保存并退出,然后启动frp服务端
sudo ./frps -c ./frps.toml
打开浏览器在地址栏输入服务端ip:dashboard端口号,测试frp服务是否正常运行
输入配置文件中配置的用户名和密码,即可进入 dashboard页面,在这里可以看到连接情况和流量统计
服务端配置完成之后我们开始配置客户端,和服务端一样,将刚才下载好的本地压缩包上传到客户端。
客户端我们配置的是frpc.toml
serverAddr = "服务端IP"
serverport = "服务端frp监听端口"
auth.method = "token"
auth.token = "token密钥"
webServer.addr = "服务端IP"
webServer.port = "dashboard端口"
webServer.user = "用户名"
webServer.password = "后台密码"
webServer.pprofEnable = false
[[proxies]]
name = "自定义别名"
type = "tcp"
localPort = 客户端端口
remotePort = 服务端映射端口
wq保存配置后启动frp客户端
sudo ./frpc -c ./frpc.toml
我这里穿透的端口是22口,也就是默认的ssh端口,使用远程工具通过服务端ip:映射端口连接ssh,成功访问。
后续如果想要将其他服务穿透到公网上,只要在客户端的配置文件里继续增加配置就行,这样可以方便快速的在公网环境下访问各种内网服务。