这篇主要写客户端怎么设置,这个也是我之前比较懵的地方。
第一步:获取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客户端文件解释说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
<span class="com">#该配置文件,我做了相关的删减,只保留了我们最常用到的几个穿透功能。</span> <span class="com">#[common为公共配置区域必须存在]</span> <span class="pun">[</span><span class="pln">common</span><span class="pun">]</span> <span class="com"># 与服务端连接令牌</span><span class="pln"> token </span><span class="pun">=</span><span class="pln"> access_token </span><span class="com"># 客户端标识</span><span class="pln"> user </span><span class="pun">=</span><span class="pln"> nas </span><span class="com">#服务端的访问地址(可用ip或者域名)。</span><span class="pln"> server_addr </span><span class="pun">=</span> <span class="lit">111.222</span><span class="pun">.</span><span class="lit">222.111</span> <span class="com">####################此处为common的默认配置区域无需修改###################</span> <span class="com">#服务端用于穿透的端口,与服务端保持一致。</span><span class="pln"> server_port </span><span class="pun">=</span> <span class="lit">7000</span> <span class="com"># 日志记录路径</span><span class="pln"> log_file </span><span class="pun">=</span> <span class="pun">./</span><span class="pln">frpc</span><span class="pun">.</span><span class="pln">log </span><span class="com"># 日志记录级别(trace, debug, info, warn, error)</span><span class="pln"> log_level </span><span class="pun">=</span><span class="pln"> info </span><span class="com"># 日志记录滚动天数</span><span class="pln"> log_max_days </span><span class="pun">=</span> <span class="lit">3</span> <span class="com"># frpc客户端管理界面</span><span class="pln"> admin_addr </span><span class="pun">=</span> <span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><span class="pln"> admin_port </span><span class="pun">=</span> <span class="lit">7400</span><span class="pln"> admin_user </span><span class="pun">=</span><span class="pln"> admin admin_passwd </span><span class="pun">=</span><span class="pln"> admin </span><span class="com"># 连接池</span><span class="pln"> pool_count </span><span class="pun">=</span> <span class="lit">5</span> <span class="com"># tcp数据流多路复用,默认开启,服务端客户端需要保持一致</span><span class="pln"> tcp_mux </span><span class="pun">=</span><span class="pln"> true </span><span class="com"># 失败重连</span><span class="pln"> login_fail_exit </span><span class="pun">=</span><span class="pln"> true </span><span class="com"># 服务端与客户端通信协议,支持tcp\upd</span><span class="pln"> protocol </span><span class="pun">=</span><span class="pln"> tcp </span><span class="com"># dns服务选用</span> <span class="com"># dns_server = 8.8.8.8</span> <span class="com">#客户端向服务端心跳检查间隔与超时时间</span><span class="pln"> heartbeat_interval </span><span class="pun">=</span> <span class="lit">10</span><span class="pln"> heartbeat_timeout </span><span class="pun">=</span> <span class="lit">90</span> <span class="com">##############以上为客户端服务的公共信息配置区域############</span> <span class="com">###############具体的穿透服务功能启用(表示你要使用frp的那个功能)##############</span> <span class="pun">[</span><span class="pln">ssh</span><span class="pun">]</span> <span class="com">#穿透类型</span><span class="pln"> type </span><span class="pun">=</span><span class="pln"> tcp </span><span class="com">#需穿透服务本地访问地址</span><span class="pln"> local_ip </span><span class="pun">=</span> <span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span> <span class="com">#需穿透服务本地访问端口</span><span class="pln"> local_port </span><span class="pun">=</span> <span class="lit">22</span> <span class="com">#是否使用通讯加密,默认false</span><span class="pln"> use_encryption </span><span class="pun">=</span><span class="pln"> false </span><span class="com">#是否使用通讯压缩,默认false</span><span class="pln"> use_compression </span><span class="pun">=</span><span class="pln"> false </span><span class="com">#穿透后外网访问端口。</span><span class="pln"> remote_port </span><span class="pun">=</span> <span class="lit">6001</span> <span class="pun">[</span><span class="pln">dns</span><span class="pun">]</span><span class="pln"> type </span><span class="pun">=</span><span class="pln"> udp local_ip </span><span class="pun">=</span> <span class="lit">114.114</span><span class="pun">.</span><span class="lit">114.114</span><span class="pln"> local_port </span><span class="pun">=</span> <span class="lit">53</span><span class="pln"> remote_port </span><span class="pun">=</span> <span class="lit">6002</span><span class="pln"> use_encryption </span><span class="pun">=</span><span class="pln"> false use_compression </span><span class="pun">=</span><span class="pln"> false </span><span class="com">#http或者https模式主要针对于虚拟主机,访问的取决于frps.ini文件中的vhost_http_port设置</span> <span class="pun">[</span><span class="pln">web01</span><span class="pun">]</span><span class="pln"> type </span><span class="pun">=</span><span class="pln"> http local_ip </span><span class="pun">=</span> <span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><span class="pln"> local_port </span><span class="pun">=</span> <span class="lit">80</span><span class="pln"> use_encryption </span><span class="pun">=</span><span class="pln"> false use_compression </span><span class="pun">=</span><span class="pln"> true </span><span class="com">#虚拟主机访问账户密码设置,如果不设置的话。自己通过地址即可访问。</span><span class="pln"> http_user </span><span class="pun">=</span><span class="pln"> admin http_pwd </span><span class="pun">=</span><span class="pln"> admin </span><span class="com"># if domain for frps is frps.com, then you can access [web01] proxy by URL http://test.frps.com</span> <span class="com">#如果你的frps域名是yourdomain.com,那么你可以通过web01.yourdomain.com 来访问web01这个穿透服务。</span><span class="pln"> subdomain </span><span class="pun">=</span><span class="pln"> web01 </span><span class="com">#自己定义域名</span><span class="pln"> custom_domains </span><span class="pun">=</span><span class="pln"> yourdomain</span><span class="pun">.</span><span class="pln">com </span><span class="com"># locations is only available for http type</span><span class="pln"> locations </span><span class="pun">=</span> <span class="pun">/,/</span><span class="pln">pic </span><span class="com"># http重定向地址</span><span class="pln"> host_header_rewrite </span><span class="pun">=</span><span class="pln"> example</span><span class="pun">.</span><span class="pln">com </span><span class="com"># http请求文件头</span><span class="pln"> header_X</span><span class="pun">-</span><span class="typ">From</span><span class="pun">-</span><span class="typ">Where</span> <span class="pun">=</span><span class="pln"> frp </span><span class="pun">[</span><span class="pln">web02</span><span class="pun">]</span><span class="pln"> type </span><span class="pun">=</span><span class="pln"> https local_ip </span><span class="pun">=</span> <span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><span class="pln"> local_port </span><span class="pun">=</span> <span class="lit">8000</span><span class="pln"> use_encryption </span><span class="pun">=</span><span class="pln"> false use_compression </span><span class="pun">=</span><span class="pln"> false subdomain </span><span class="pun">=</span><span class="pln"> web02 custom_domains </span><span class="pun">=</span><span class="pln"> web02</span><span class="pun">.</span><span class="pln">yourdomain</span><span class="pun">.</span><span class="pln">com </span><span class="pun">[</span><span class="pln">plugin_static_file</span><span class="pun">]</span><span class="pln"> type </span><span class="pun">=</span><span class="pln"> tcp remote_port </span><span class="pun">=</span> <span class="lit">6006</span><span class="pln"> plugin </span><span class="pun">=</span><span class="pln"> static_file plugin_local_path </span><span class="pun">=</span> <span class="pun">/</span><span class="pln">var</span><span class="pun">/</span><span class="pln">www</span><span class="pun">/</span><span class="pln">blog plugin_strip_prefix </span><span class="pun">=</span><span class="pln"> static plugin_http_user </span><span class="pun">=</span><span class="pln"> abc plugin_http_passwd </span><span class="pun">=</span><span class="pln"> abc</span> |
里面举了tcp、udp以及http、https的示例,我们平时用的更多的是tcp,就可以参照第一个示例来弄了。
如我在本地开了一个8080的服务,需要通过frp映射到公网去,那么我客户端配置文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<span class="pun">[</span><span class="pln">common</span><span class="pun">]</span><span class="pln"> server_addr </span><span class="pun">=</span> <span class="lit">192.2x</span><span class="pun">.</span><span class="pln">x</span><span class="pun">.</span><span class="pln">x server_port </span><span class="pun">=</span> <span class="lit">5443</span><span class="pln"> token </span><span class="pun">=</span> <span class="typ">FvHqtRxxxxxxx</span> <span class="pun">[</span><span class="pln">ssh</span><span class="pun">]</span><span class="pln"> type </span><span class="pun">=</span><span class="pln"> tcp local_ip </span><span class="pun">=</span> <span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><span class="pln"> local_port </span><span class="pun">=</span> <span class="lit">8080</span><span class="pln"> use_encryption </span><span class="pun">=</span><span class="pln"> false use_compression </span><span class="pun">=</span><span class="pln"> false remote_port </span><span class="pun">=</span> <span class="lit">8080</span> |
因为我是在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里写入以下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<span class="pun">[</span><span class="typ">Unit</span><span class="pun">]</span> <span class="typ">Description</span><span class="pun">=</span><span class="pln">frapc service </span><span class="typ">After</span><span class="pun">=</span><span class="pln">network</span><span class="pun">.</span><span class="pln">target network</span><span class="pun">-</span><span class="pln">online</span><span class="pun">.</span><span class="pln">target syslog</span><span class="pun">.</span><span class="pln">target </span><span class="typ">Wants</span><span class="pun">=</span><span class="pln">network</span><span class="pun">.</span><span class="pln">target network</span><span class="pun">-</span><span class="pln">online</span><span class="pun">.</span><span class="pln">target </span><span class="pun">[</span><span class="typ">Service</span><span class="pun">]</span> <span class="typ">Type</span><span class="pun">=</span><span class="pln">simple </span><span class="com">#启动服务的命令(此处写你的frps的实际安装目录)</span> <span class="typ">ExecStart</span><span class="pun">=/</span><span class="pln">frpc</span><span class="pun">/</span><span class="pln">frpc </span><span class="pun">-</span><span class="pln">c </span><span class="pun">/</span><span class="pln">frpc</span><span class="pun">/</span><span class="pln">frpc</span><span class="pun">.</span><span class="pln">ini </span><span class="pun">[</span><span class="typ">Install</span><span class="pun">]</span> <span class="typ">WantedBy</span><span class="pun">=</span><span class="pln">multi</span><span class="pun">-</span><span class="pln">user</span><span class="pun">.</span><span class="pln">target</span> |
然后启动 frpc
systemctl start frpc
再打开自启动
systemctl enable frpc
同时
重启: systemctl restart frpc
停止 :systemctl stop frpc
查看应用日志: systemctl status frpc
https://www.zmrbk.com/zmr/1fop
转载至:https://www.zmrbk.com/post-3900.html
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.3rc.cc/?p=227
共有 0 条评论