frp V2使用教程

教程适合小白,按照步骤操作即可

使用 systemd

安装

# 使用 yum 安装 systemd(CentOS/RHEL)
yum install systemd

# 使用 apt 安装 systemd(Debian/Ubuntu)
apt install systemd

创建 frps.service 文件

使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。

$ sudo vim /etc/systemd/system/frps.service

写入内容

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.toml

[Install]
WantedBy = multi-user.target

使用 systemd 命令管理 frps 服务

# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

设置 frps 开机自启动

sudo systemctl enable frps

通过遵循上述步骤,您可以轻松地使用 systemd 来管理 frps 服务,实现启动、停止、自动运行和开机自启动。确保替换路径和配置文件名称以匹配您的实际安装。

代理类型

frp 支持多种代理类型,以适应不同的使用场景。以下是一些常见的代理类型:

**TCP:**提供纯粹的 TCP 端口映射,使服务端能够根据不同的端口将请求路由到不同的内网服务。
***UDP:***提供纯粹的 UDP 端口映射,与 TCP 代理类似,但用于 UDP 流量。
***HTTP:***专为 HTTP 应用设计,支持修改 Host Header 和增加鉴权等额外功能。
***HTTPS:***类似于 HTTP 代理,但专门用于处理 HTTPS 流量。
***STCP:***提供安全的 TCP 内网代理,要求在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
***SUDP:***提供安全的 UDP 内网代理,与 STCP 类似,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
***XTCP:***点对点内网穿透代理,与 STCP 类似,但流量不需要经过服务器中转。
***TCPMUX:***支持服务端 TCP 端口的多路复用,允许通过同一端口访问不同的内网服务。

每种代理类型适用于不同的使用情境,您可以根据需求选择合适的代理类型来配置 frp。

示例

在这里,您将找到多个常见的使用场景和配置示例,可供您用来亲自部署和体验这些示例。

通过 SSH 访问内网机器

步骤

  1. 在具有公网 IP 的机器上部署 frps

部署 frps 并编辑 frps.toml 文件。以下是简化的配置,其中设置了 frp 服务器用于接收客户端连接的端口:

bindPort = 7000
  1. 在需要被访问的内网机器上部署 frpc

部署 frpc 并编辑 frpc.toml 文件,假设 frps 所在服务器的公网 IP 地址为 x.x.x.x。以下是示例配置:

serverAddr = "x.x.x.x"
serverPort = 7000

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
  • localIP 和 localPort 配置为需要从公网访问的内网服务的地址和端口。
  • remotePort 表示在 frp 服务端监听的端口,访问此端口的流量将被转发到本地服务的相应端口。
    启动 frps 和 frpc
  1. 通过 SSH 访问内网机器

使用以下命令通过 SSH 访问内网机器,假设用户名为 test:

ssh -o Port=6000 test@x.x.x.x

frp 将请求发送到 x.x.x.x:6000 的流量转发到内网机器的 22 端口。

多个 SSH 服务复用同一端口

通过使用 tcpmux 类型的代理,您可以实现多个 SSH 服务通过同一端口进行暴露。这种方法还适用于任何支持 HTTP Connect 代理连接方式的客户端,以实现端口的复用。
步骤

  1. 在具有公网 IP 的机器上部署 frps

修改 frps.toml 文件以包含以下内容(这里使用了最简化的配置):

bindPort = 7000
tcpmuxHTTPConnectPort = 5002
  1. 在内网机器 A 上部署 frpc

创建 frpc 配置文件,例如 frpc.toml,然后将以下内容添加到配置文件中:

serverAddr = "x.x.x.x"
serverPort = 7000

[[proxies]]
name = "ssh1"
type = "tcpmux"
multiplexer = "httpconnect"
customDomains = ["machine-a.example.com"]
localIP = "127.0.0.1"
localPort = 22
  1. 在内网机器 B 上部署另一个 frpc

创建 frpc 配置文件,例如 frpc.toml,然后将以下内容添加到配置文件中:

serverAddr = "x.x.x.x"
serverPort = 7000

[[proxies]]
name = "ssh2"
type = "tcpmux"
multiplexer = "httpconnect"
customDomains = ["machine-b.example.com"]
localIP = "127.0.0.1"
localPort = 22
  1. 通过 SSH ProxyCommand 访问内网机器 A

使用 SSH ProxyCommand 访问内网机器 A&

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是frp内网穿透在Windows系统下的教程: 1. 下载frp客户端 首先需要到frp官网(https://github.com/fatedier/frp/releases)下载Windows版本的客户端。 2. 配置frp 在下载完成后,解压frp客户端,找到frpc.ini文件,用文本编辑器打开。 在文件中找到[common],这是frp客户端的通用配置区域,其中需要配置以下参数: - server_addr:该参数为frp服务端的IP地址或域名。 - server_port:该参数为frp服务端的端口。 - token:该参数为frp服务端的认证密码。 - [local]:该区域为本地服务的配置区域,其中需要配置以下参数: - type:该参数为本地服务的类型,如http、tcp等。 - local_ip:该参数为本地服务的IP地址。 - local_port:该参数为本地服务的端口。 例如: ``` [common] server_addr = x.x.x.x server_port = 7000 token = abc123 [local] type = http local_ip = 127.0.0.1 local_port = 8080 ``` 3. 运行frp客户端 在命令行中进入frp客户端所在的目录,输入以下命令: ``` frpc.exe -c frpc.ini ``` 其中,-c参数指定了使用的配置文件,即frpc.ini。 4. 验证内网穿透 当frp客户端连接成功后,可以通过服务端地址和端口,访问本地服务。 例如,在上面的配置中,如果服务端地址为x.x.x.x,端口为7000,本地服务类型为http,本地服务端口为8080,则可以通过以下地址访问本地服务: ``` http://x.x.x.x:7000/ ``` 此时,就完成了frp内网穿透的配置和验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值