ubuntu 内网穿透 frp 使用

ubuntu 内网穿透 frp 使用

无咎 57 2024-07-16

ubuntu 内网穿透 frp 使用

下载 frp 安装包

进入 frp下载地址(要翻墙) 找到版本号和对应的压缩包进行下载。

注:自 v0.52.0 起,INI 已弃用并将在未来版本中删除。新功能将仅以 TOML、YAML 或 JSON 提供。

如果不知道要下 amd 还是 arm 架构,可在要安装的电脑上自行查看(一般是 amd)

  • ARM架构(下载 arm):aarch64、arm64
  • X86架构(下载 amd):x86_64、x64、AMD64

在 Linux 上可以通过命令 arch 查看

  • 服务器端和内网机器端下载的版本要相同,否则可能会影响内网穿透.
  • 服务器端用到的是 frps,客户端用到的是 frpc

服务端配置(frps.toml)

  bindPort = 穿透端口
  
  # 以下四个是配置 web 管理页面的设置,不需要可删除
  # 如果想外网查看,需要写 0.0.0.0
  webServer.addr = "0.0.0.0" 
  webServer.port = web 访问端口
  webServer.user = web 用户名
  webServer.password = web 密码
  
  auth.method = "token"
  auth.token  = 设置身份验证 token
  
  allowPorts = [
    # 开放单个端口
    { single = 8084 }
    # 开放端口段
    { start = 4000, end = 50000 }
  ]

客户端配置(frpc.toml)

  serverAddr = 公网ip
  serverPort = 对应 frps 的穿透端口
  
  auth.method = "token"
  auth.token  = 对应 frps 的 token
  
  [[proxies]]
  name = 名称,可随意
  type = "tcp"
  localIP = 本地ip
  localPort = 要映射的本地端口
  remotePort = 对应 frps 的开放端口

将 frps 与 frpc 制作成服务

frpc 过程几乎一样,这里仅以 frps 为例

  sudo nano /etc/systemd/system/frps.service
  [Unit]
  Description=frps daemon
  After=syslog.target  network.target
  Wants=network.target
  
  [Service]
  Type=simple
  #这里改成自己的 frps 目录
  ExecStart=/root/frp_0.58.1_linux_amd64/frps -c /root/frp_0.58.1_linux_amd64/frps.toml
  Restart= always
  RestartSec=1min
  
  [Install]
  WantedBy=multi-user.target
  • 刷新服务列表: systemctl daemon-reload
  • 设置开机自启: systemctl enable frps
  • 启动服务: systemctl start frps
  • 查看服务状态: systemctl status frps

至此,全部配置完成。之后就可以使用远程连接愉快地玩耍啦!