Lazy loaded image
技术分享
🗒️使用 frp 进行内网穿透
字数 1020阅读时长 3 分钟
2024-1-19
2024-4-9
type
Post
status
Published
date
Jan 19, 2024
slug
frp
summary
使用 frp 进行内网穿透
tags
技术笔记
category
技术分享
icon
password

1. 背景

我有一台公有云服务,家里有一套 Homelab 机器,上面部署的有一些服务,我希望能够通过公有云透传出来,能通过公有云服务访问家里的服务。
 
 

2. 部署

2.1 下载

frp 直接从 github 官方仓库进行下载:
frp
fatedierUpdated Apr 11, 2024
 

2.2 部署

部署分为 server 端部署以及 client 部署(需要透传的局域网节点部署)。
假设公有云的 IP 地址为 1.2.3.4,且防火墙规则已经打开下面监听的端口。

2.2.1 Hello FRP(最简单的透传实验)

1、服务端部署
解压 frp 安装包,然后编辑 frps.toml 配置文件内容如下,
说明:
  • bindPort: 公有云绑定的端口。它的作用是,把 frp-server 暴露在 18000 端口上,frp-client 通过该端口与 frp-server 进行通信连接。
 
运行 frp-server 程序,
2、客户端部署
解压 frp 安装包,编辑 frpc.toml 配置文件,
说明:
  • serverAddr / serverPort: 公有云的 IP 和端口。frp-client 通过该地址与 frp-server 通信。
  • [[proxies]] : 一个代理配置。
    • localIP/localPort: 本地需要暴露的服务的监听地址和端口。
    • remotePort: 暴露在公有云上面的端口。注意:不是指的本机端口。
      • 注意:公有云服务器上对应的端口务必要打开防火墙配置。
 
3、验证配置
通过上面的配置文件部署后,局域网的 ssh 22 端口就已经被暴露在公有云上面的 18005 端口上面了,所以可以通过公有云的 18005 端口可以访问局域网的 ssh 22 端口。
使用 ssh 尝试登录验证,
 

2.2.2 开启 Web UI

1、服务器配置
修改 frps.toml 的配置文件内容如下,
配置说明:
  • webServer: 开启 web 管理页面的功能。注意配置文件中的字符串一定要使用双引号引起来。
 
2、效果
总览,
notion image
查看配置好的代理,
notion image
 

2.2.3 使用 systemctl 进行管理

  1. 服务器端
    1. 创建 frps.toml 配置文件
      1. /etc/frps/frps.toml 配置文件如下,
    2. 在创建 systemctl 配置文件,`vim /etc/systemd/system/frps.service`
      1. frps.service 配置文件
    3. 激活 frps 服务
    2. 客户端(与服务器大致流程类似)
    1. 拷贝 frpc 和 frpc.toml 配置文件到指定的目录
        • frpc.toml 配置文件:`sudo vim /etc/frpc/frpc.toml`
          • frpc.toml 配置文件
        • frpc 运行命令:
      1. 编辑 systemd 的配置文件:`vim /etc/systemd/system/frpc.service`
        1. frpc.service 配置文件
      1. 启动服务

        2.3 测试创建的链接

         
        上一篇
        如何接入微信公众号做网站的登录认证
        下一篇
        使用 Grafana + Prometheus 监控机器节点状态

        评论
        Loading...