Files
nexus/wiki/sources/mac-mini-安装-frp-0-65-0-arm64-操作笔记.md
2026-04-27 16:26:34 +08:00

136 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Mac Mini 安装 FRP 0.65.0ARM64操作笔记"
type: source
tags: [frp, frpc, gatekeeper, mac-mini, macos, arm64]
date: 2026-04-14
---
## Source File
- [[raw/Home Office/Mac Mini 安装 FRP 0.65.0ARM64操作笔记.md]]
## Summary (用中文描述)
- **核心主题**:在 Apple SiliconARM64Mac Mini M4 上安装配置 FRP 0.65.0 内网穿透客户端,实现通过公网 VPS 远程访问本地服务
- **问题域**macOS 服务器化运维、内网穿透、远程访问、SSH 安全隧道
- **方法/机制**:通过 FRPfrpc客户端连接远程 VPSfrps建立反向隧道结合 tmux/nohup/launchd 三种方式实现后台持久运行;通过 SSH 客户端配置简化远程访问
- **结论/价值**:提供完整的 Mac Mini 服务器化运维指南,包含 macOS 特有障碍Gatekeeper的解决方案和 SSH 客户端优化配置
## Key Claims (用中文描述)
- macOS 默认 `/opt` 目录需要手动创建并授权才能使用
- macOS Gatekeeper 会阻止未签名程序运行,必须通过 `xattr -rd com.apple.quarantine .` 解除限制
- launchd 是 macOS 推荐的开机自启服务管理方式,可通过 `launchctl` 管理生命周期
- 软链接symlink策略可实现 FRP 版本无缝切换
- SSH 客户端配置(`~/.ssh/config`)可简化远程访问命令,只需 `ssh macmini` 即可登录
## Key Quotes
> "macOS 默认 `/opt` 需要手动创建" — 说明了 macOS 与 Linux 目录结构的差异,需手动初始化系统目录
> "xattr -rd com.apple.quarantine ." — macOS 特有的安全限制解除命令,针对整个目录递归执行
> "launchd推荐开机自启" — macOS 原生服务管理器,是进程持久化的推荐方案
> "ssh macmini" — SSH 客户端配置后的简化登录命令,通过 `~/.ssh/config` 定义 Host 别名
## Key Concepts
- [[内网穿透]]:通过反向隧道技术,使公网用户能够访问处于 NAT 或防火墙后的内网服务
- [[frp]]Fast Reverse Proxy开源内网穿透工具包含 frps服务端和 frpc客户端
- [[TCP隧道]]:基于 TCP 协议的端口转发机制,将本地端口映射到远程服务器
- [[launchd]]macOS 原生服务管理器,用于管理系统级和用户级守护进程
- [[SSH隧道]]:通过 SSH 协议建立的加密隧道,实现安全的远程端口转发
## Key Entities
- [[Mac Mini M4]]Apple Silicon Mac Mini作为家庭服务器运行 FRP 客户端
- [[VPS]]:公网虚拟专用服务器,运行 frps 作为内网穿透的中转站IP: 192.227.222.142
- [[frpc]]FRP 客户端程序,运行在 Mac Mini 上,建立与 frps 的连接
- [[frps]]FRP 服务端程序,运行在 VPS 上,接收公网请求并转发到 frpc
- [[Gatekeeper]]macOS 安全机制,阻止未签名应用运行
- [[UFW防火墙]]VPS 上的防火墙,需开放 FRP 映射端口
## Connections
- [[Mac Mini M4]] ← runs_on ← [[frpc]]
- [[VPS]] ← runs_on ← [[frps]]
- [[frpc]] ← creates_tunnel ← [[frps]]
- [[内网穿透]] ← enables ← [[远程SSH访问]]
- [[launchd]] ← manages ← [[frpc]] 进程生命周期
- [[Gatekeeper]] ← blocks ← [[frpc]] (需解除)
- [[UFW防火墙]] ← controls_access ← [[SSH隧道]](需开放 remotePort 60026
## Contradictions
- 无已知冲突
## Environment Details
| 项目 | 内容 |
|------|------|
| 系统 | macOSMac Mini M4|
| 架构 | Apple Silicon (ARM64) |
| 软件 | FRP 0.65.0 |
| 安装目录 | `/opt/frp/frp_0.65.0_darwin_arm64` |
| 客户端程序 | `frpc` |
| 配置文件 | `frpc.toml` |
| frps服务器 | 192.227.222.142:7000 |
| frps映射端口 | 6000SSH60026实际案例端口|
## Installation Steps
1. 创建安装目录:`sudo mkdir -p /opt/frp && sudo chown -R $(whoami) /opt/frp`
2. 下载 ARM64 版本:`wget https://github.com/fatedier/frp/releases/download/v0.65.0/frp_0.65.0_darwin_arm64.tar.gz`
3. 解压:`tar -xzf frp_0.65.0_darwin_arm64.tar.gz`
4. 解除 Gatekeeper`xattr -rd com.apple.quarantine .`
5. 配置 frpc.toml设置 serverAddr、serverPort、auth.token 和 proxies
6. 启动 frpc`./frpc -c frpc.toml`
## Background Running Methods
1. **tmux**(推荐开发环境):创建持久会话,断开 SSH 后仍保持运行
2. **nohup**(简单后台):重定向输出到日志文件,适合简单部署
3. **launchd**(生产环境):系统级服务,开机自启,推荐使用 plist 配置
## Best Practices
- 统一安装路径:`/opt/frp/<version>` 便于版本管理
- 创建软链接:`ln -sfn /opt/frp/frp_0.65.0_darwin_arm64 /opt/frp/current` 简化启动命令
- 日志独立存储:配置 StandardOutPath 和 StandardErrorPath 分离日志
- 进程守护:使用 launchd KeepAlive=true 确保服务持续运行
## SSH 远程访问案例(完整配置)
### 网络架构
```
本地 Mac Mini
│ SSH 22
frpc 客户端
│ FRP 隧道
远端 VPS (frps)
│ 60026
公网 SSH 访问ssh username@VPS_IP -p 60026
```
### VPS 防火墙配置UFW
```bash
sudo ufw allow 60026
sudo ufw status
# 输出60026/tcp ALLOW Anywhere
```
### frpc.toml SSH 代理配置
```toml
serverAddr = "VPS_IP"
serverPort = 7000
auth.method = "token"
auth.token = "your_token"
[[proxies]]
name = "macmini-ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 60026
```
### SSH 客户端配置(~/.ssh/config
```ssh-config
Host macmini
HostName VPS_IP
Port 60026
User billy
```
配置后可直接使用 `ssh macmini` 登录 Mac Mini无需记忆 IP 和端口。