ubuntu docker 安装frpc 客户端

 环境

ubuntu 20.04

1.安装docker

Ubuntu 安装Docker 运行Nginx-优快云博客

2.安装docker-compose 

Ubuntu 安装 docker-compose-优快云博客

3.编写shell脚本

vim start.sh
#!/bin/bash

# 创建目录结构
rm -r /docker/frpc
mkdir -p /docker/frpc/data

# 进入目标目录
cd /docker/frpc

cat <<EOF > frpc.toml

serverAddr = "服务端ip"
serverPort = 8103 # 服务端端口号
auth.method = "token" # 客户端验证方式
auth.token = "xxxxxxx" # 客户端验证密码

[[proxies]]
name =  "test1"  # 客户端服务名
type = "tcp" # 通讯方式
localIP = "服务端ip" # 客户端固定ip
localPort = 22 # 内部端口号
remotePort = 8106 # 映射服务的端口号 (服务端需要放行此端口)

EOF

# 将内容写入 docker-compose.yml 文件
cat <<EOF > docker-compose.yml
services:
  frpc:
      image: snowdreamtech/frpc:latest  # 使用官方 frp 镜像
      container_name: frpc
      restart: unless-stopped
      environment:
        - TZ=Asia/Shanghai
      volumes:
        - /docker/frpc/frpc.toml:/etc/frp/frpc.toml  # 将本地配置文件挂载到容器中
      network_mode: host

EOF

# 启动 Docker Compose
docker compose up -d

4.启动shell脚本

sh start.sh

### 在 Ubuntu 上配置和运行 frpc (FastRPC) 客户端 #### 1. 准备工作 在开始之前,确保已经安装了 `frp` 的客户端部分 (`frpc`) 并将其放置在一个合适的目录下。通常建议将软件放在 `/opt/` 或者 `/usr/local/bin/` 中。 如果尚未下载 `frp`,可以从其官方 GitHub 页面获取最新版本的二进制文件[^1]: ```bash wget https://github.com/fatedier/frp/releases/download/v0.x.y/frp_0.x.y_linux_amd64.tar.gz tar -zxvf frp_0.x.y_linux_amd64.tar.gz -C /opt/ mv /opt/frp_0.x.y_linux_amd64 /opt/frp ``` 上述命令会将解压后的文件夹重命名为 `/opt/frp`,以便后续操作更加方便。 --- #### 2. 创建配置文件 创建一个名为 `frpc.toml` 的配置文件,并将其保存到指定位置(例如 `/opt/frp/frpc.toml`)。以下是基本配置模板: ```toml [common] server_addr = x.x.x.x # 替换为您的 frps 服务端 IP 地址 server_port = 7000 # 替换为您服务端监听的端口号 [tunnel_name] type = tcp # 协议类型,可选 tcp, udp, http, https 等 local_ip = 127.0.0.1 # 本地要转发的服务地址 local_port = 22 # 本地要转发的服务端口 remote_port = 6000 # 远程映射的端口 ``` 注意:所有路径应使用 **绝对路径** 来定义,而不是相对路径。 --- #### 3. 设置 systemd 服务 为了实现自动启动和服务化管理,可以通过 `systemd` 将 `frpc` 注册为系统服务。 ##### a. 编辑服务文件 创建一个新的服务文件 `/etc/systemd/system/zfrpc.service`,内容如下: ```ini [Unit] Description=FRP Client Service After=network.target [Service] Type=simple ExecStart=/opt/frp/frpc -c /opt/frp/frpc.toml Restart=on-failure User=root [Install] WantedBy=multi-user.target ``` 此文件指定了 `frpc` 使用的执行路径以及配置文件的位置。务必确认这些路径与实际环境一致。 ##### b. 加载并启用服务 完成编辑后,重新加载 `systemd` 配置并启动服务: ```bash sudo systemctl daemon-reload sudo systemctl enable zfrpc sudo systemctl start zfrpc ``` 验证服务状态是否正常运行: ```bash sudo systemctl status zfrpc ``` --- #### 4. 测试连接 当服务成功启动后,可通过以下方式测试连接情况: - 如果您设置了 SSH 映射,则可以在远程通过 `<服务器IP>:<remote_port>` 访问目标机器。 - 查看日志以排查可能存在的问题: ```bash journalctl -u zfrpc -f ``` --- #### 5. 常见错误处理 - 若遇到类似于 `stat /etc/systemd/system/conf.d: no such file or directory` 的提示,可能是由于拼写错误或者路径不存在引起的。请仔细核对每一步中的路径名称是否正确。 - 当无法建立隧道时,请检查防火墙规则、SELinux 设置以及两端之间的网络连通性。 --- ### 提供一段简单的脚本用于快速初始化 如果您希望简化整个流程,可以编写一个小工具来自动化大部分过程。下面是一个 Bash 脚本示例: ```bash #!/bin/bash # 变量声明 FrpVersion="v0.x.y" DownloadUrl="https://github.com/fatedier/frp/releases/download/${FrpVersion}/frp_${FrpVersion}_linux_amd64.tar.gz" # 步骤一:下载并解压 FRP mkdir -p /opt/frp && cd /opt/frp || exit curl -LO "$DownloadUrl" && tar xf *.tar.gz --strip-components=1 # 步骤二:创建默认配置文件 cat <<EOF > /opt/frp/frpc.toml [common] server_addr = x.x.x.x # 修改成您的真实 IP server_port = 7000 # 修改成对应端口 [tunnel_ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 EOF # 步骤三:注册 SystemD 服务 cat <<EOF > /etc/systemd/system/zfrpc.service [Unit] Description=FRP Client Service After=network.target [Service] Type=simple ExecStart=/opt/frp/frpc -c /opt/frp/frpc.toml Restart=on-failure User=root [Install] WantedBy=multi-user.target EOF # 启动服务 systemctl daemon-reload systemctl enable zfrpc systemctl start zfrpc ``` 将以上代码保存至 `.sh` 文件中并通过赋予权限后执行即可完成全部设置。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值