如何利用VPS配置搭建frp/frps进行内网穿透

目录

扯一会闲话

什么是frp

准备材料

服务器端安装说明

常用命令包括


扯一会闲话

事情的起因是我用旧电脑拼凑了一台NAS,想在外面也能访问我放在家里的NAS。但大家也知道公网IPv4地址现在已经所剩无几了,网络运营商一般是不会给你公网IPv4地址的,氪金的除外,所以我的方案是使用frp进行内网穿透(还可以使用Ngrok搭建或是采用IPv6套上DDNS解析)。

frp有有官方的中文文档,上面的内容已经非常详尽,对相关操作比较熟悉的人可以直接阅读官方的中文文档

什么是frp

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。

准备材料

  • Ubuntu18.04 LTS的NAS一台
  • 公网VPS一台

服务器端安装说明

wget --no-check-certificate https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install

安装过程中会有提示一些的参数,我们设置好就可以了!

Please input frps bind_port [1-65535](Default Server Port: 5443):
#输入frp提供服务的端口,用于服务器端和客户端通信,按Enter键表示默认5443,否则手动输入新端口
 
Please input frps vhost_http_port [1-65535](Default vhost_http_port: 80):
#输入frp进行http穿透的http服务端口,按Enter键表示默认80,否则手动输入新端口,一般不建议默认80
 
Please input frps vhost_https_port [1-65535](Default vhost_https_port: 443):
#输入frp进行https穿透的https服务端口,按Enter键表示默认443,否则手动输入新端口
 
Please input frps dashboard_port [1-65535](Default dashboard_port: 6443):
#输入frp的控制台服务端口,用于查看frp工作状态,按Enter键表示默认6443,否则手动输入新端口
 
Please input dashboard_user (Default: admin):
#输入frp提供服务端的账户
 
Please input dashboard_pwd (Default: H5sBmmId):
#输入frp提供服务端的密码
 
Please input privilege_token (Default: WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq):
#输入frp服务器和客户端通信的密码,默认是随机生成的,按Enter键表示按默认来,否则手动输入。frpc客户端需要这个接头暗号
 
Please input frps max_pool_count [1-200](Default max_pool_count: 50):
#设置每个代理可以创建的连接池上限,默认50
 
Please select log_level #####
    1: info
    2: warn
    3: error
    4: debug
#####################################################
Enter your choice (1, 2, 3, 4 or exit. default [1]):
#设置日志等级,4个选项,默认是info
 
Please input frps log_max_days [1-30]
    (Default log_max_days: 3 day):
#设置日志保留天数,范围是1到30天,默认保留3天。
 
##### Please select log_file #####
    1: enable
    2: disable
#####################################################
    Enter your choice (1, 2 or exit. default [1]):
#设置是否开启日志记录,默认开启,开启后日志等级及保留天数生效,否则等级和保留天数无效

安装完成以后会有总体的提示

Congratulations, frps install completed!
==============================================
You Server IP   : *.*.*.*  #你的服务器IP,各不相同
Bind port       : 5443
Dashboard port  : 6443
vhost http port : 80
vhost https port: 443
Privilege token : 2aS35DFW2c4d5f2x2WJNSCf5
Max Pool count  : 50
Log level       : info
Log max days    : 3
Log file        : enable
==============================================

常用命令包括:

./install-frps.sh update #版本更新
./install-frps.sh uninstall #卸载frps
frps start #服务启动
frps stop #服务停止
frps restart #重启服务
frps status #状态
frps config #参数设置
frps version #frps版本

至此,frp 服务端 frps 的安装已经成功,frps 会随服务器自动启动,无需手动设置。

小提示:记得检查 VPS 服务器是否开放以上涉及的端口,如未开放,请手动添加开放端口!

此时访问 http://你的服务器 IP:6443 可以查看 frp 各项状态,如下图所示。如果打不开此页面,很可能是服务器的 6443 端口没有开启

悄悄话:

我有一个小破站

格雷万事屋 – 格雷的万事屋包罗万象,欢迎各位旅行者来访(*`∀´*)ノ!格雷的万事屋

希望有兴趣的小伙伴能去逛逛~~~

### 使用FRP实现内网穿透搭建Windows远程桌面 #### 安装与配置FRP客户端和服务端 为了通过FRP实现内网穿透并建立Windows远程桌面连接,需先安装FRP客户端于本地机器以及部署服务端至公网服务器上。 对于FRP客户端而言,其主要职责在于向位于外网的服务端发起请求并将指定的应用程序或服务映射出去。而服务端负责接收来自互联网用户的访问请求再转发给对应的内部主机[^1]。 #### 配置文件设置 ##### 服务端配置 (`frps.ini`) 在公网VPS或其他具备固定IP地址的设备上创建名为`frps.ini`的配置文档: ```ini [common] bind_port = 7000 ; 绑定监听端口号,默认即可 vhost_http_port = 80; 如果计划支持HTTP协议可开启此选项 token = your_token ; 设置令牌用于验证身份合法性 dashboard_port = 7500; 可选参数,提供管理界面查看状态 ``` 上述设定里最关键的是`bind_port`项它决定了后续所有通信的基础端口;另外建议启用安全机制如定义私钥来加强防护措施[^2]。 ##### 客户端配置 (`frpc.ini`) 接着是在欲开放RDP权限的目标PC即被控端编写相应的客户机参数表单——`frpc.ini`: ```ini [common] server_addr = x.x.x.x ; 填写实际使用的远端服务器IPv4/域名 server_port = 7000 ; 对应上面提到的服务端绑定端口数值 token = your_token ; 和服务端一致的安全密钥字符串 [tcp_rdp] type = tcp ; 协议类型为TCP传输层 local_ip = 127.0.0.1 ; 内部真实ip通常是localhost local_port = 3389 ; Windows自带RD默认占用的就是这个编号 remote_port = 6000 ; 自行决定对外展现哪个号码作为入口门户 ``` 这里特别注意`local_ip`应该指向本机循环接口而非其他可能存在的虚拟适配器地址;至于`remote_port`则可以任意选取只要不与其他进程冲突就行[^3]。 完成以上两步操作之后分别启动两个位置上的守护进程就能达成预期效果了! #### 启动命令示例 - **Linux/macOS下** ```bash nohup ./frps -c /path/to/frps.ini & ``` 或者 ```bash nohup ./frpc -c /path/to/frpc.ini & ``` - **Windows环境下** 找到下载解压后的执行档双击运行或者利用任务调度器安排定时开机自启任务。 成功后便可在任何地方借助标准Remote Desktop Connection工具输入形如`<public_server_IP>:6000`(假设前面设定了该值)这样的组合形式来进行跨区域操控啦!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值