frp的使用

内网穿透,顾名思义frp搭建也需要分别搭建客户端和服务端两部分,其中服务端用于流量转发,需要有公网ip。部署比较简单,直接去github release 下载对应的文件就行了,Linux86 64位一般是这个frp_0.38.0_linux_386.tar.gz

 1、第一步下载压缩包

 2、解压压缩包,压缩包里的文件是真的超级简洁,果然大佬都是人狠话不多

3、此时你需要一个公网ip,将frp的服务端部署在公网机器上

将压缩包里的东西放到服务端的/etc/frp 目录下

frpc_full.ini  和  frps_full.ini是完整的配置文件 一般用不着,看看就行

一般用   frpc.ini 和   frps.ini   就行
# 服务端配置如下
[common]
bind_port = 7000  # 服务端绑定的端口
bind_udp_port = 5999
# 仪表盘访问的端口 
dashboard_port = 6001
# dashboard 用户名密码,默认都为 admin
dashboard_user = dxvb
dashboard_pwd = vbd
#将systemd下面frps.service 已送到服务器system文件下
#修改文件内容
[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/etc/frp/frps -c /etc/frp/frps.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target
# 此时启动会报错,需要给frps可执行权限

chmod +x frps

# 查看状态

systemctl status frps.service

# 设置开机自启

systemctl enable  frps.service
# 服务器别忘了防火墙和安全策略组放行

# 自此服务端的配置就结束了
# 接下来配置客户端的
# 这里我的客户端就拿一台虚拟机来用

4、配置客户端

 

# 开始的步骤跟上面一样把文件拖到服务器的etc文件夹下
# 修改配置文件 frpc.ini

[common]
server_addr = 47.97.223.15 # 这里是你公网ip地址
server_port = 7000         #这里是你之前设置的绑定端口


[ssh-6002]
type = tcp
local_ip = 127.0.0.1
local_port = 22      # 映射到本地的哪个端口
remote_port = 6002   #这个是你远程的时候链接的端口

# 同样复制frpc.service到system文件夹

# 修改配置

[Unit]
Description=Frp Client Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/etc/frp/frpc -c /etc/frp/frpc.ini
ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

# 赋予可执行权限chmod +x frpc

# 启动和设置开机自启

systemctl start frpc.service

systemctl enable frpc.service

 5、配置加密压缩

# 此处添加了加密压缩这两个功能,默认是不开启的,根据介绍,压缩算法使用的是 snappy

# 必须放在相关协议下面

[ssh-6002]
type = tcp
local_ip = 127.0.0.1
local_port = 22      # 映射到本地的哪个端口
remote_port = 6002   #这个是你远程的时候链接的端口
use_encryption = true # 启用加密 [通信内容加密传输,有效防止流量被拦截]
use_compression = true # 启用压缩 [传输内容进行压缩,有效减小传输的网络流量,加快流量转发速度,但会额外消耗一些CPU资源]

 6、配置通过frp访问客户端文件

[common]
server_addr = 47.97.23.15
server_port = 7000

[ssh-6002]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6002


[test_static_file]
type = tcp
local_ip = 127.0.0.1
remote_port = 6003
plugin = static_file
# 要对外暴露的文件目录
plugin_local_path = /tmp
# 用户访问 URL 中会被去除的前缀,保留的内容即为要访问的文件路径
plugin_strip_prefix = static
plugin_http_user = lj
plugin_http_passwd = jlj

注意:被访问的文件需要有相关的读取权限,需要特别指定chmod +x 或者 777 应该都可以 否则会报403错误
通过 http://47.97.23.15:6003/static/test.py 就可以访问指定文件了

原文地址:https://www.cnblogs.com/xuguangzong/p/15743515.html