FRP配置内网穿透详细教程

内网穿透技术在当今互联网环境中扮演着重要角色,尤其是在无法直接访问公网IP的情况下。FRP(Fast Reverse Proxy)是一个高效的内网穿透工具,它可以帮助用户轻松地将内网服务映射到公网,便于访问和管理。本文将详细介绍如何配置FRP实现内网穿透。

内网穿透技术

一、FRP是什么?

FRP是一款高性能的反向代理应用,常用于内网穿透。它通过客户端(frpc)和服务端(frps)之间的配合,将内网的服务暴露到公网,解决了传统网络限制的问题。FRP支持多种协议(如HTTP、HTTPS、TCP、UDP等),并且支持Web管理界面,可以方便地查看和管理连接。

二、FRP的工作原理

FRP由两部分组成:

  1. FRP服务端(frps):部署在公网服务器上,作为代理服务器,负责接受来自客户端(frpc)的请求,并转发到本地内网。
  2. FRP客户端(frpc):部署在内网机器上,负责向frps服务端发起连接请求,将内网的服务通过frps转发到公网。

简单来说,frps充当了“中介”角色,而frpc则负责将内网的服务数据通过frps转发到公网。

FRP的工作原理

三、准备工作

在开始配置FRP之前,需要进行以下准备工作:

  1. 一台公网服务器,用于部署frps(如果没有公网服务器,可以租用VPS)。
  2. 一台内网机器,用于部署frpc,且该机器的服务需要进行穿透。
  3. 下载FRP:前往FRP的GitHub页面下载适用于你操作系统的FRP版本。

四、FRP的配置步骤

配置FRP服务端(frps)

首先,在公网服务器上安装并配置frps

解压并进入FRP目录
tar -zxvf frp_x.x.x_linux_amd64.tar.gz
cd frp_x.x.x_linux_amd64
编辑frps配置文件

找到frps.ini配置文件,使用编辑器打开。

nano frps.ini

在配置文件中,修改或添加以下参数:

[common]
bind_port = 7000    # FRP服务端监听端口
vhost_http_port = 80    # HTTP请求的端口
vhost_https_port = 443  # HTTPS请求的端口
dashboard_port = 7500   # FRP管理界面的端口
dashboard_user = admin  # 管理界面的用户名
dashboard_pwd = admin   # 管理界面的密码
  • bind_port:设置frps监听的端口,frpc会连接此端口。
  • vhost_http_portvhost_https_port:配置内网HTTP、HTTPS服务的公网端口。
  • dashboard_portdashboard_userdashboard_pwd:用于设置Web管理界面的端口、用户名和密码。
启动frps服务端

配置完成后,启动frps服务端:

./frps -c ./frps.ini

如果你希望frps服务端在后台运行并自动启动,可以使用screennohup

配置FRP客户端(frpc)

接下来,配置内网机器上的frpc

解压并进入FRP目录
tar -zxvf frp_x.x.x_linux_amd64.tar.gz
cd frp_x.x.x_linux_amd64
编辑frpc配置文件

打开frpc.ini配置文件进行编辑。

nano frpc.ini

在配置文件中,修改或添加以下参数:

[common]
server_addr = x.x.x.x     # frps服务端的公网IP地址
server_port = 7000         # frps服务端监听的端口

[web]
type = http                # 映射协议类型为HTTP
local_port = 80            # 内网机器上服务的端口
custom_domains = example.com  # 域名或公网IP
  • server_addr:指定FRP服务端的公网IP地址。
  • server_port:指定FRP服务端的端口,与frps.ini中的bind_port一致。
  • type:指定映射的协议类型,这里以HTTP为例。
  • local_port:内网机器上实际服务的端口,假设内网机器上有一个HTTP服务在80端口。
  • custom_domains:设置访问的域名或公网IP。
启动frpc客户端

配置完成后,启动frpc客户端:

./frpc -c ./frpc.ini

此时,frpc会连接到frps服务端,并将内网的HTTP服务暴露到公网。

配置Web管理界面

在frps配置文件中,已设置了Web管理界面。如果需要使用该界面来监控连接状态,可以通过浏览器访问:

http://your-server-ip:7500

输入配置的用户名和密码,即可查看所有连接的信息。

五、测试与排查

测试内网穿透

在公网浏览器中,输入配置的域名或公网IP,应该能够访问内网服务。如果配置了HTTP服务,并且正确地映射了端口,你将能够通过公网访问到内网服务。

排查常见问题

  • FRP服务端无法启动:检查frps.ini文件中的端口是否被占用,尝试修改端口。
  • FRP客户端无法连接到服务端:检查server_addrserver_port配置是否正确,确认服务端防火墙是否放通相应端口。
  • 内网服务无法访问:检查frpc.ini中的local_port是否指向正确的内网服务端口。

六、总结

通过FRP配置内网穿透,可以轻松地将内网服务暴露到公网,解决了许多因无法直接访问内网服务而带来的困扰。通过本文的教程,你可以快速配置并实现FRP内网穿透功能,享受更便捷的远程访问体验。如果遇到问题,可以参考FRP的官方文档,或者根据错误信息进行排查。

5/5 - (1 vote)

服务器

Posted by 老杰克