本文演示在 Apple Silicon 芯片的 MacOS 系统上安装和配置 WireGuard。
前置条件
在安装 WireGuard 之前,请确保系统已安装:
-
Homebrew - MacOS 的包管理器
-
xcode-select
- Xcode 命令行工具
安装步骤
1. 安装 WireGuard
使用 Homebrew 安装 WireGuard 工具包:
brew install wireguard-tools
2. 生成密钥
生成 WireGuard 客户端私钥:
wg genkey
3. 配置 WireGuard
使用下面的命令创建配置文件:
sudo touch /opt/homebrew/etc/wireguard/wg0.conf
编辑配置文件,添加以下内容:
[Interface]
PrivateKey = <CLIENT_PRIVATE_KEY> # 替换为生成的 privatekey
Address = 192.168.11.100/32 # 根据服务器配置修改
DNS = 8.8.8.8 # 建议指定DNS服务器
[Peer]
PublicKey = <SERVER_PUBLIC_KEY> # 替换为服务器 publickey
AllowedIPs = 10.10.10.0/24 # 根据实际路由需求调整
Endpoint = 185.199.108.153:51820 # 服务器公网地址
PersistentKeepalive = 25 # 心跳检测时间,单位为秒
4. 设置权限
配置适当的目录和文件权限:
sudo chown root:wheel /opt/homebrew/etc/wireguard
sudo chmod 640 /opt/homebrew/etc/wireguard/wg0.conf
5. WireGuard 操作命令
启动 WireGuard:
sudo wg-quick up wg0
查看连接状态:
sudo wg
关闭 WireGuard:
sudo wg-quick down wg0
6. 配置开机自启动
创建并配置启动项:
sudo tee /Library/LaunchDaemons/com.wireguard.wg0.plist > /dev/null <<EOL
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.wireguard.wg0</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/wg-quick</string>
<string>up</string>
<string>wg0</string>
</array>
<key>KeepAlive</key>
<dict>
<key>NetworkState</key>
<true/>
</dict>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/opt/homebrew/var/log/wireguard.err</string>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/opt/homebrew/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
</dict>
</dict>
</plist>
EOL
sudo launchctl enable system/com.wireguard.wg0
sudo launchctl bootstrap system /Library/LaunchDaemons/com.wireguard.wg0.plist
INFO
如果执行上述命令遇到Bootstrap failed: 5: Input/output error
错误,可以使用命令 sudo launchctl unload /Library/LaunchDaemons/com.wireguard.wg0.plist
卸载,然后再执行 sudo launchctl bootstrap system /Library/LaunchDaemons/com.wireguard.wg0.plist
重新启动。
完成配置后,系统重启时 WireGuard 将自动启动。可以随时使用 sudo wg
命令检查连接状态。
注意事项
- 请确保正确替换配置文件中的私钥和服务器公钥
- 根据实际网络环境调整 IP 地址和路由配置
- 配置文件包含敏感信息,请确保适当的文件权限
- 如遇连接问题,可查看错误日志:
/opt/homebrew/var/log/wireguard.err