frp内网穿透配置

frp内网穿透配置

服务端frps安装配置

首先要有一个具有公网ip的服务器

下载frps

  • 打开frp最新release版本下载页面 https://github.com/fatedier/frp/releases/latest
    依据服务器的操作系统类型找到对应的包 这里选择的是64bit Linux版本 frp_0.44.0_linux_arm64.tar.gz

  • 右键选择复制链接

  • 服务器终端执行下载和解压

    [root@LinuxServer ~]# wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_arm64.tar.gz
    [root@LinuxServer ~]# tar -xzvf frp_0.44.0_linux_arm64.tar.gz 
    

配置frps

  • 将frpc程序和配置文件复制到对应目录

    [root@LinuxServer ~]# mkdir -p /etc/frp
    [root@LinuxServer ~]# cp ./frp_0.44.0_linux_arm64/frps.ini /etc/frp/
    [root@LinuxServer ~]# cp ./frp_0.44.0_linux_arm64/frps /usr/bin/
    
  • 修改frps.ini

    如果没有vim, 可以选择使用vi或者gedit或者安装vim

    [root@LinuxServer ~]# vim /etc/frp/frps.ini
    

    基础配置文件内容如下, 根据服务器具体情况进行调整即可

    frp的配置相关文档地址为: https://gofrp.org/docs/reference/server-configures/

    [common]
    bind_port = 7000        # 服务端监听端口
    bind_addr = 0.0.0.0     # 服务端监听地址
    
    token = frptoken        # frpc客户端连接时鉴权使用的token值
    
    # Dashboard 监控
    dashboard_port = 7500      # 启动Dashboard监听的本地端口
    dashboard_user = username  # 登录Dashboard的HTTP BasicAuth 用户名
    dashboard_pwd = password   # 登录Dashboard的HTTP BasicAuth 密码
    
    allow_ports = 445,6000-6999,7001-7499,7501-7999,8090-8099 # 允许代理绑定的服务端端口, 服务器的防火墙需要同步配置开放这些端口
    
    

    以上为简易的frps服务端配置, 更多功能的配置方法请查阅文档

  • 将frps配置为系统服务, 并开机启动

    在 Linux 系统下,使用systemd可以方便地控制 frp 服务端frps的启动和停止、配置后台运行和开启自启。

    要使用systemd来控制frps, 需要先安装systemd, 然后在/etc/systemd/system 目录下创建一个frps.service文件

    1. 如Linux服务端上没有安装systemd, 可以使用yumapt等命令安装systemd

      # yum 红帽系 RHEL CentOS
      yum install systemd
      # apt Debian Ubuntu
      apt install systemd
      
    2. 创建并编辑frps.service文件

      [root@LinuxServer ~]# vim /etc/systemd/system/frps.service
      

      文件内容如下

      [Unit]
      # 服务名称,可自定义
      Description = frp server
      After = network.target syslog.target
      Wants = network.target
      
      [Service]
      Type = simple
      # 启动frps的命令
      ExecStart = /usr/bin/frps -c /etc/frp/frps.ini
      
      [Install]
      WantedBy = multi-user.target
      
    3. 使用systemd命令, 管理frps

      # 启动frps
      [root@LinuxServer ~]# systemctl start frps
      # 停止frps
      [root@LinuxServer ~]# systemctl stop frps
      # 重启frps
      [root@LinuxServer ~]# systemctl restart frps
      # 查看frps状态
      [root@LinuxServer ~]# systemctl status frps
      
    4. 将frps配置为开机自启

      [root@LinuxServer ~]# systemctl enable frps
      
    5. 通过Dashboard查看frps状态

      这里在frps.ini中配置了Dashboard(在7500端口), 可以使用浏览器访问http://server.ip:7500登录后查看

客户端frpc安装位置

下载frpc

同下载fprs, frp的release包中同时包含frpc和frps

配置frpc

  1. 以类似的方式将frp解压后文件夹中的frpc程序和frpc.ini配置文件分别复制到/usr/bin/以及/etc/frp/frpc.ini

  2. 修改/etc/frp/frpc.ini

    [common]
    server_addr = 233.233.233.233  # 运行有frps的服务器的公网ip或域名
    server_port = 7000             # frps服务端口
    token=frptoken                 # 同frps.ini中的token值
    log_file=/var/log/frp/frpc.log # 日志文件保存路径
    
    # 以下每一组代表一对端口映射配置 
    
    [ssh]
    type = tcp            # 代理类型
    local_ip = 127.0.0.1  # 本地服务ip
    local_port = 22       # 本地服务端口
    remote_port = 6900    # 服务端绑定端口
    
    [jupyter notebook]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 8192
    remote_port = 8090
    
    

    如以上配置文件, 分别将本机的22端口映射至服务器的6900端口, 以及本机8192端口映射至服务器8090端口

    用户访问server_ip:6900就相当于通过本机访问127.0.0.1:22

  3. 将frpc配置为系统服务

    编辑/etc/systemd/system/frpc.service文件

    [Unit]
    Description=Frpc Client Service
    After=network.target
    
    [Service]
    Type=simple
    User=nobody
    Restart=on-failure
    RestartSec=5s
    ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini
    ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.ini
    LimitNOFILE=1048576
    
    [Install]
    WantedBy=multi-user.target
    
    

    frpc更加详细的配置说明请查看 https://gofrp.org/docs/reference/client-configures/

    以及 https://gofrp.org/docs/reference/proxy/

  4. 管理frpc服务

    启动、停止、暂停、查看以及添加开机启动frpc的方式与frps相似, 将服务名换位frpc即可

    如果需要添加端口映射, 修改/etc/frp/frpc.ini即可, 修改并保存配置文件后, 执行以下命令使修改生效

    systemctl reload frpc
    

你可能感兴趣的:(Linux,linux,服务器,网络)