这篇主要写客户端怎么设置,这个也是我之前比较懵的地方。
第一步:获取frp文件
frp支持linux平台和windows平台。参照你的设置的运行平台下载linux版本的文件或者是windows的。
访问https://github.com/fatedier/frp/releases下载
一般linux平台下载的版本为:frp_版本号_linux_amd64.tar.gz,
windows平台下载的版本为:frp_版本号_windows_amd64.zip。
linux版本文件的解压命令为tar -zxvf 文件名 ;windows版本文件直接右键解压即可。
文件解压后,一般都含有frps(frp服务端运行文件)、frpc(frp客户端运行文件)、frps.ini(frp服务端配置文件)、frpc.ini(frp客户端配置文件),以及frp_full.ini(frp全部配置文件解释说明和参考。)
frp客户端文件解释说明
#该配置文件,我做了相关的删减,只保留了我们最常用到的几个穿透功能。 #[common为公共配置区域必须存在] [common] # 与服务端连接令牌 token = access_token # 客户端标识 user = nas #服务端的访问地址(可用ip或者域名)。 server_addr = 111.222.222.111 ####################此处为common的默认配置区域无需修改################### #服务端用于穿透的端口,与服务端保持一致。 server_port = 7000 # 日志记录路径 log_file = ./frpc.log # 日志记录级别(trace, debug, info, warn, error) log_level = info # 日志记录滚动天数 log_max_days = 3 # frpc客户端管理界面 admin_addr = 127.0.0.1 admin_port = 7400 admin_user = admin admin_passwd = admin # 连接池 pool_count = 5 # tcp数据流多路复用,默认开启,服务端客户端需要保持一致 tcp_mux = true # 失败重连 login_fail_exit = true # 服务端与客户端通信协议,支持tcp\upd protocol = tcp # dns服务选用 # dns_server = 8.8.8.8 #客户端向服务端心跳检查间隔与超时时间 heartbeat_interval = 10 heartbeat_timeout = 90 ##############以上为客户端服务的公共信息配置区域############ ###############具体的穿透服务功能启用(表示你要使用frp的那个功能)############## [ssh] #穿透类型 type = tcp #需穿透服务本地访问地址 local_ip = 127.0.0.1 #需穿透服务本地访问端口 local_port = 22 #是否使用通讯加密,默认false use_encryption = false #是否使用通讯压缩,默认false use_compression = false #穿透后外网访问端口。 remote_port = 6001 [dns] type = udp local_ip = 114.114.114.114 local_port = 53 remote_port = 6002 use_encryption = false use_compression = false #http或者https模式主要针对于虚拟主机,访问的取决于frps.ini文件中的vhost_http_port设置 [web01] type = http local_ip = 127.0.0.1 local_port = 80 use_encryption = false use_compression = true #虚拟主机访问账户密码设置,如果不设置的话。自己通过地址即可访问。 http_user = admin http_pwd = admin # if domain for frps is frps.com, then you can access [web01] proxy by URL http://test.frps.com #如果你的frps域名是yourdomain.com,那么你可以通过web01.yourdomain.com 来访问web01这个穿透服务。 subdomain = web01 #自己定义域名 custom_domains = yourdomain.com # locations is only available for http type locations = /,/pic # http重定向地址 host_header_rewrite = example.com # http请求文件头 header_X-From-Where = frp [web02] type = https local_ip = 127.0.0.1 local_port = 8000 use_encryption = false use_compression = false subdomain = web02 custom_domains = web02.yourdomain.com [plugin_static_file] type = tcp remote_port = 6006 plugin = static_file plugin_local_path = /var/www/blog plugin_strip_prefix = static plugin_http_user = abc plugin_http_passwd = abc
里面举了tcp、udp以及http、https的示例,我们平时用的更多的是tcp,就可以参照第一个示例来弄了。
如我在本地开了一个8080的服务,需要通过frp映射到公网去,那么我客户端配置文件如下:
[common] server_addr = 192.2x.x.x server_port = 5443 token = FvHqtRxxxxxxx [ssh] type = tcp local_ip = 127.0.0.1 local_port = 8080 use_encryption = false use_compression = false remote_port = 8080
因为我是在windows下运行的,下面只介绍windows下运行frp客户端方法,如我们在github上下载回来客户端并解压到d盘的frpc文件夹中,那么
打开cmd,输入d:\frpc\frpc.exe -c d:\frpc\frpc.ini 即可。
如果觉得这样操作麻烦,也可新建一个txt文件,并把txt后缀改为vbs,输入以下内容
Set ws = CreateObject(“Wscript.Shell”)
ws.run “cmd /c d:\frpc\frpc.exe -c d:\frpc\frpc.ini”,vbhide
这样,我们就可以通过公网ip 192.2x.x.x:8080 访问到本地的8080端口服务了。
设置客户端自启(基于debian9)
首先创建服务( frpc.service):
nano /lib/systemd/system/frpc.service
在frpc.service里写入以下内容
[Unit] Description=frapc service After=network.target network-online.target syslog.target Wants=network.target network-online.target [Service] Type=simple #启动服务的命令(此处写你的frps的实际安装目录) ExecStart=/frpc/frpc -c /frpc/frpc.ini [Install] WantedBy=multi-user.target
然后启动 frpc
systemctl start frpc
再打开自启动
systemctl enable frpc
同时
重启: systemctl restart frpc
停止 :systemctl stop frpc
查看应用日志: systemctl status frpc
https://www.zmrbk.com/zmr/1fop