使用Frp工具完成内网穿透

Spring Lv2

使用Frp工具完成内网穿透

  

  1. 本文面向的读者需要具有一定的linux基础知识;
  2. 本文中的Frp工具安装在/usr/local/​目录下,所以下列命令均在此目录下执行;
  3. 服务端和客户端之前的程序下载操作均相同,不再重复说明,均按照第一节的下载说明进行操作即可;
  4. 本文中的客户端和服务端所使用的操作系统均为ubuntu 22.04。

1. 下载Fpr工具

  1. https://github.com/fatedier/frp/releases 下载最新版本的frp工具,这里我们下载0.51.3版本。

    1
    wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_arm64.tar.gz
  2. 解压frp_0.51.3_linux_arm64.tar.gz​文件得到frp_0.51.3_linux_arm64​文件夹

    1
    tar -zxvf frp_0.51.3_linux_arm64.tar.gz
  3. frp_0.51.3_linux_arm64​文件夹名称修改为frp

    1
    mv frp_0.51.3_linux_arm64 frp

2. 服务端配置

  说明:文件夹中frps​表示的是服务端程序,frps.ini​是服务端的配置文件。

  1. 进入文件夹内部;

    1
    cd frp
  2. 配置服务端配置文件frps.ini​;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [common]
    bind_port = port
    token = token
    dashboard_port = 7500
    dashboard_user = user
    dashboard_pwd = passwd
    vhost_http_port = 10080
    vhost_https_port = 10443

    [ssh]
    listen_port = ssh_port

    ​[common]

    bind_port​:需填写端口号,该端口号用于客户端连接服务端时所用。
    token​:客户端连接服务端时所用到的密码
    dashboard_port​:dashboard的查看端口号
    dashboard_user​:dashboard的登陆用户名
    dashboard_pwd​:dashboard的登陆密码
    vhost_http_port​:http访问端口
    vhost_https_port​:https访问端口

    [ssh]
    listen_port​:远程访问客户端(内网机器)时所用到的端口号

  3. 配置frps.service​,以使用systemctl来控制程序的启停;

    1. /lib/systemd/system/frps.service​文件中配置以下内容

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      [Unit]

      Description=frps service After=network.target syslog.target Wants=network.target

      [Service]

      Type=simple

      ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frps.ini

      [Install]

      WantedBy=multi-user.target
    2. 启动frps服务并配置开启自启动

      1
      systemctl start frps && systemctl enable frps

3. 客户端配置

  说明:文件夹中frpc​表示的是服务端程序,frpc.ini​是服务端的配置文件。

  1. 进入文件夹内部;

    1
    cd frp
  2. 配置服务端配置文件frpc.ini​;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [common]
    server_addr = ip
    server_port = port
    token = token

    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = port

    [common]
    server_addr​ :服务端ip地址
    server_port​ :配置服务端所填写的bind_port
    token​ : 配置服务端所填写的token

    [ssh]
    type​ = tcp
    local_ip​ = 127.0.0.1
    local_port​ = 22
    remote_port​ :配置服务端所填写的listen_port

  3. 配置frpc.service​,以使用systemctl来控制程序的启停;

    1. /lib/systemd/system/frpc.service​文件中配置以下内容;

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      [Unit]

      Description=frps service After=network.target syslog.target Wants=network.target

      [Service]

      Type=simple

      ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.ini

      [Install]

      WantedBy=multi-user.target
    2. 启动frpc​服务并配置开启自启动;

      1
      systemctl start frpc && systemctl enable frpc

4. 验证

  通过ssh连接远程服务器,如果成功接入则表示配置成功。

1
ssh user@ip:port

  ​user​:内网机器的用户名

  ​ip​:服务端ip地址

  ​port​:配置的listen_port

  注:登陆的密码为内网机器的密码

  • Title: 使用Frp工具完成内网穿透
  • Author: Spring
  • Created at : 2023-09-24 10:06:31
  • Updated at : 2024-12-19 04:00:13
  • Link: https://www.tecacc.com/2023/09/24/使用Frp工具完成内网穿透/
  • License: This work is licensed under CC BY-NC-SA 4.0.