Frp内网穿透

官方文档:官方文档
下载地址:下载地址

1,下载frp

在上面的下载地址里选择对应的版本下载即可。
因为我的是linux系统,所以选择了这个版本。
如果你的两台服务器是不同系统,下载对应的版本就行了。
在这里插入图片描述

将下载后的压缩包上传到需要做内网穿透的服务器上。
一台是服务器端,就是有公网ip的服务器
一台是客户端,就是没有公网ip的服务器,比如你本地的虚拟机。客户端可以是多台。

解压压缩包:

tar -zxvf frp_0.60.0_linux_amd64

2,编写配置文件

服务器端的配置文件是:frps.toml
内容如下:修改为你自定义的用户和密码

bindAddr = "0.0.0.0"
bindPort = 7000

auth.method = "token"  # 用于客户端和服务器通信的身份验证令牌
auth.token = "xxx"   #秘钥格式建议配置 用户+@+密码 的格式,方便区分用户

webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "xxx"      #管理面板的用户,可以自定义
webServer.password = "xxx"  #管理面板的密码,可以自定义

客户端的配置文件是:frpc.toml
内容如下:
如果是多个服务需要映射到服务器,只需要把 [[proxies]]部分再复制一份即可。
[[proxies]]部分的含义是:
将本地的2433端口,映射到服务器的7002端口上。

# serverAddr  修改为你的服务器地址
serverAddr = "xx.xx.xxx.xx"
serverPort = 7000

[[proxies]]
name = "mssql_bak"
type = "tcp"
localIP = "127.0.0.1"
localPort = 2433
remotePort = 7002

3,启动

服务器端

./frps -c ./frps.toml

客户端

./frpc -c ./frpc.toml

4,使用systemd管理

安装 systemd

如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum(适用于 CentOS/RHEL)或 apt(适用于 Debian/Ubuntu)来安装它:

使用 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
### 使用FRP实现内网穿透配置教程 #### 准备工作 为了成功部署并运行FRP以达成内网穿透的目的,需准备好两部分资源:服务端与客户端。服务端通常是指一台具有公网IP地址的机器,可以是云服务商提供的虚拟专用服务器;而客户端则是位于私有网络内部的目标设备,比如个人计算机或是像树莓派这样的小型计算平台[^4]。 #### 下载安装FRP软件包 对于Linux系统的用户来说,在官方GitHub仓库中能够找到适用于不同架构的操作系统版本下的二进制文件。下载完成后解压至指定目录下即可完成初步安装操作[^3]。 #### 配置服务端(`frps.ini`) 创建或编辑名为`frps.ini`的服务端配置文件,设置必要的参数如下所示: ```ini [common] bind_port = 7000 vhost_http_port = 80 token = your_token_here dashboard_port = 7500 allow_ports = 2000-3000,3001,3003,4000-50000 max_pool_count = 5 subdomain_host = frp.yourdomain.com ``` 上述配置项解释: - `bind_port`: 指定用于监听来自客户端连接请求的TCP端口号; - `vhost_http_port`: 当启用HTTP(S)协议转发功能时所使用的本地监听端口,默认为80; - `token`: 设置通信密钥保障安全性; - `dashboard_port`: Web管理界面开放给外部访问的端口; - `allow_ports`: 明确允许被映射出去的具体范围内的端口列表; - `max_pool_count`: 控制最大并发数限制; - `subdomain_host`: 自定义子域名前缀指向该实例所在主机名[^1]。 #### 启动服务端程序 通过命令行启动服务端进程,并将其设为后台常驻任务执行: ```bash nohup ./frps -c /path/to/frps.ini & ``` #### 编写客户端配置(`frpc.ini`) 同样地,在客户机上也需要建立相应的配置文档——即`frpc.ini`: ```ini [common] server_addr = x.x.x.x # 替换成实际VPS IP 地址 server_port = 7000 # 应同于服务端设定一致 token = your_token_here [ssh] type = tcp # 协议类型 local_ip = 127.0.0.1 # 要暴露出来的本机服务ip local_port = 22 # 对应的服务端口 remote_port = 6000 # 外部可访问到此服务的端口编号 ``` 这里特别注意的是要确保`server_addr`填写正确无误以及两端之间保持相同的认证令牌(token)[^2]。 #### 运行客户端应用程序 最后一步就是在终端里输入下面这条指令让客户端正式上线运作起来: ```bash ./frpc -c /path/to/frpc.ini ``` 此时理论上已经完成了整个过程中的所有步骤,可以通过测试验证是否真的实现了预期效果。如果一切正常的话,则意味着现在可以从互联网上的任何地方轻松触及原本处于防火墙之后的应用和服务了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值