linux基于frp实现内网穿透

该博客介绍了如何在Linux环境下使用frp(Fast Reverse Proxy)进行内网穿透,以实现从公网访问内网服务。首先,在公网服务器上配置`frps.ini`,设置监听端口和认证令牌,然后启动frps服务并设置自启动。接着,在内网小主机上配置`frpc.ini`,填写服务器地址、端口和相同令牌,并定义要映射的ssh和rdp服务端口。同样,启动frpc并设置自启动。测试连接成功后,即可通过公网服务器的端口访问内网服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里做最小实现,建议看frpc_full.ini的实现。

公网服务器

解压之后留下下面这几个文件
在这里插入图片描述

编辑frps.ini

[common]
bind_port = xxx #服务器开放的端口
token = $$$$$$$$

启动

./frps -c ./frps.ini

自启动

编写脚本,放在.bashrc文件的最后,脚本内容如下:

#!/bin/bash
cd xxx#frp的目录下
./frps -c ./frps.ini >/dev/null 2>&1 &

内网小主机

解压之后留下下面这几个文件
在这里插入图片描述

编辑frpc.ini

[common]
server_addr = 公网服务器IP
server_port = xxx #服务器开放的端口
token = 与公网服务器一致

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = xx
remote_port = xxx

[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = xx
remote_port = xxx

可以简单地理解为通过公网服务器的 remote_port 端口来访问本地的 local_port 端口。

测试

./frpc -c ./frpc.ini

自启动

编写脚本,放在.bashrc文件的最后,脚本内容如下:

#!/bin/bash
cd xxx#frp的目录下
./frpc -c ./frpc.ini >/dev/null 2>&1 &
frp是一款开源的高性能的反向代理软件,可以实现内网穿透。下面是在Linux上使用frp实现内网穿透的步骤: 1. 下载frp 可以从frp官网下载对应的版本。比如,下载linux_amd64版本的frp: ``` wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz ``` 2. 解压缩frp 使用以下命令解压缩frp文件: ``` tar -zxvf frp_0.37.1_linux_amd64.tar.gz ``` 3. 配置frp 在解压后的文件夹中,可以看到frp的配置文件夹`frp_0.37.1_linux_amd64/frp_0.37.1_linux_amd64`。进入该文件夹,可以看到两个配置文件:`frpc.ini`和`frps.ini`。 - `frpc.ini`是客户端配置文件,用于将内网服务器映射到公网上。 - `frps.ini`是服务端配置文件,用于接收来自客户端的请求,并将其转发到内网服务器上。 我们需要修改`frpc.ini`配置文件,将其中的以下几个参数设置为正确的值: ``` [common] server_addr = x.x.x.x # 公网服务器IP地址 server_port = 7000 # 公网服务器端口 token = 12345678 # 用于认证的token [web] type = http local_port = 80 # 内网服务器的端口 custom_domains = example.com # 绑定的域名 ``` 其中,`x.x.x.x`是公网服务器的IP地址,`12345678`是用于认证的token,`80`是内网服务器的端口,`example.com`是绑定的域名。 4. 启动frp 在配置好`frpc.ini`文件后,使用以下命令启动frp客户端: ``` ./frpc -c ./frpc.ini ``` 如果一切正常,可以看到类似以下的输出信息: ``` 2021/05/06 15:05:40 [I] [proxy_manager.go:144] [3c4f8980] proxy added: [web] 2021/05/06 15:05:40 [I] [control.go:200] [3c4f8980] [web] login to server success, get run id [3c4f8980] 2021/05/06 15:05:40 [I] [control.go:256] [3c4f8980] [web] start proxy success ``` 5. 测试frp 在浏览器中输入绑定的域名,如果能够访问到内网服务器上的页面,说明内网穿透已经成功。 以上就是在Linux上使用frp实现内网穿透的步骤,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值