FRP搭建内网穿透

1.概述:

frp可以通过有公网IP的的服务器将内网的主机暴露给互联网,从而实现通过外网能直接访问到内网主机;frp有服务端和客户端,服务端需要装在有公网ip的服务器上,客户端装在内网主机上。

2.简单的图解:

3.准备工作:

1.一个域名(www.test.xyz与服务端ip绑定,可有可无)

2.一台有公网IP的服务器(阿里云、腾讯云等都行),这里我们使用的是ubuntu22系统

3.一台内网主机

4.下载frp,选择适合的版本下载https://github.com/fatedier/frp/releases

解压后

客户端和服务端按照机器系统选择,可以不同。

4.服务端设置

这里服务器端放在了/usr/local/frp/目录下。

# 服务器端给执行文件添加权限
cd /usr/local/frp
sudo chmod 777 frps

我们要实现的是使用 LAN 中的自定义域访问内部 Web 服务,其他操作可以查看官网示例。https://github.com/fatedier/frp

  1. 修改<font style="color:rgb(31, 35, 40);">frps.toml</font>并设置vhost的HTTP端口为8080:

完整配置文件:https://github.com/fatedier/frp/blob/dev/conf/frps_full_example.toml

# frps.toml
bindPort = 7000
vhostHTTPPort = 8080

#配置web服务器以启用frps的仪表板。(可选)
webServer.addr = "127.0.0.1" # 云服务器需要使用内网ip,然后才能被外网ip访问到
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"

如果您要配置 https 代理,则需要设置<font style="color:rgb(31, 35, 40);">vhostHTTPSPort</font>

  1. 开始<font style="color:rgb(31, 35, 40);">frps</font>

<font style="color:rgb(31, 35, 40);">./frps -c ./frps.toml</font>

  1. 启动成功后,可以访问后台管理界面<font style="color:rgb(31, 35, 40);">http://www.example.com:7500</font>

5.客户端配置

客户端我们使用windows系统

  1. 修改<font style="color:rgb(31, 35, 40);">frpc.toml</font>并设置<font style="color:rgb(31, 35, 40);">serverAddr</font>为远程 frps 服务器的 IP 地址。指定<font style="color:rgb(31, 35, 40);">localPort</font>您的 web 服务的:

完整配置文件:https://github.com/fatedier/frp/blob/dev/conf/frpc_full_example.toml

# frpc.toml
serverAddr = "x.x.x.x"
serverPort = 7000

# 客户端管理界面可帮助您检查和管理 frpc 的配置(可选)
webServer.addr = "127.0.0.1"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin"

[[proxies]]
name = "web"
type = "http"
localPort = 80
customDomains = ["www.example.com"] # 没有域名的话,将域名换为服务端服务器ip
  1. 开始<font style="color:rgb(31, 35, 40);">frpc</font>

<font style="color:rgb(31, 35, 40);">./frpc -c ./frpc.toml</font>

  1. 将 A 记录映射<font style="color:rgb(31, 35, 40);">www.example.com</font>到远程 frps 服务器的公共 IP 或指向原始域的 CNAME 记录。
  2. 使用 url 访问您的本地网络服务<font style="color:rgb(31, 35, 40);">http://www.example.com:8080</font>
  3. 启动成功后,可以访问后台管理界面<font style="color:rgb(31, 35, 40);">http://127.0.0.1:7400</font>

可以在客户端修改配置,注意:修改会直接影响到toml配置文件