赞
踩
背景:
当下各种原因的复杂环境之下,在外不方便访问家中的内部设备,想寻求一种解决措施——frp
FRP是一款开源的、高性能的反向代理软件,其全称是Fast Reverse Proxy。它主要用于将一个内网服务暴露到公网上,以便外网用户可以访问该服务。FRP使用简单,支持多种协议,包括TCP、UDP、HTTP、HTTPS等。
外网服务器一台(或者有公网ip的机器如腾讯服务器);
腾讯优惠券
内网服务器一台(win7/10电脑);
下载地址:GitHub地址
关于arm/amd版本:
Linux系统可以通过如下命令确认
~ arch
# 查看当前系统是amd/arm
x86_64
# 返回x86_64就是amd架构的。
~ getconf LONG_BIT
64
# 返回64就是64位的
我这里确认是AMD64
位版本
Linux 0.51.2 版本下载地址:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_linux_amd64.tar.gz
wget https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_linux_amd64.tar.gz
Window 0.51.2 版本下载地址:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_darwin_amd64.tar.gz
注意客户端与服务端版本尽量要一致
解压
[~] tar -zxvf frp_0.51.2_linux_amd64.tar.gz
frp_0.51.2_linux_amd64/
frp_0.51.2_linux_amd64/frpc.ini
frp_0.51.2_linux_amd64/frpc_full.ini
frp_0.51.2_linux_amd64/frps_full.ini
frp_0.51.2_linux_amd64/frps.ini
frp_0.51.2_linux_amd64/LICENSE
frp_0.51.2_linux_amd64/frpc
frp_0.51.2_linux_amd64/frps
# 改个名称方便后面操作
[~] mv frp_0.51.2_linux_amd64 frp_0.51.2
# 进入目录 [~] cd frp_0.51.2 # 展开列表 ll [~ frp_0.51.2] ll 总用量 30768 -rwxr-xr-x 1 www docker 14278656 7月 25 21:39 frpc -rw-r--r-- 1 www docker 12669 7月 25 21:44 frpc_full.ini -rw-r--r-- 1 www docker 126 7月 25 21:44 frpc.ini -rwxr-xr-x 1 www docker 17182720 7月 25 21:39 frps -rw-r--r-- 1 www docker 5933 7月 25 21:44 frps_full.ini -rw-r--r-- 1 www docker 28 7月 27 11:31 frps.ini -rw-r--r-- 1 www docker 11358 7月 25 21:44 LICENSE # 注意frpc是客户端,如果用不到,相关的都可以删除 # frps是服务端,我用当前主机当服务端,所以需要修改frps.ini vim frps.ini
端口默认是 7000 ,为了安全,改成15000
(注意需要在Linux中和云服务器放火墙都放开该端口)
实际上还有一个web管理端默认端口7500,也是需要放开的
方便后期监控状态
vim frps.ini [common] bind_port = 15000 # 远程访问监控面板的端口 dashboard_port = 7501 # dashboard user and passwd for basic auth protect dashboard_user = admin dashboard_pwd = admin # dashboard TLS mode dashboard_tls_mode = false # dashboard_tls_cert_file = server.crt # dashboard_tls_key_file = server.key # enable_prometheus will export prometheus metrics on {dashboard_addr}:{dashboard_port} in /metrics api. enable_prometheus = true
服务端基本准备好了
可以直接运行如下命令启动
./frps -c ./frps.ini
但是为了后期自动启动,使用systemctl
如Linux服务端上没有安装
systemd
,可以使用yum
或apt
等命令安装systemd
。
# yum
yum install systemd
# apt
apt install systemd
frps.service
cd /etc/systemd/system/
vim frps.service
# 或者直接
vim /etc/systemd/system/frps.service
(frps.service)
中[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /root/frp_0.51.2/frps -c /root/frp_0.51.2/frps.ini
[Install]
WantedBy = multi-user.target
systemd
命令systemctl start frps #启动frps
systemctl restart frps #重启frps
systemctl stop frps #停止frps
systemctl status frps # 查看运行日志
frps
开机启动systemctl enable frps #服务器开机自动启动frps
客户端就直接下载,确实客户端和服务端是一样的,只是调用的文件不同,一个是frpc/frps:
Window 0.51.2
版本下载地址:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_windows_amd64.zip
注意电脑的杀毒软件可能会删除它
客户端解压,注意只会用到frpc,其他的可以删除
为了方便自己写了一个startup.bat
脚本。
打开frpc.ini
,进行相关配置
这里说明一下参数:
[ssh] 实际上它是可以随意命名的,且可以同时配置多个
local_ip为需要映射到外网的主机
local_port 端口为需要映射到外网的主机端口
remote_port 是外网访问的时候
以上配置最终外网访问192.168.1.123:22
变成外网访问就是
124.xxx.xxx.xxx:6000
(腾讯云服务器公网ip)
最后可以访问服务端的控制台,看看链接状态
http://124.xxx.xx.xx:7501
账号密码在上面的配置中查看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。