在mac上搭建wireguard服务,客户端连接后无法访问内网

我在mac上搭建wireguard服务端,但客户端成功连接mac的服务端后却无法访问mac所在局域网的设备,请问有大佬知道该怎么设置才能让客户端访问内网么?

发布日期 2025年5月29日 上午12:14

回复
回复量: 5

2025年6月3日 下午6:19 回应 Sariel

你好,经过连日查找资料,问题已解决,需要在 etc/pf.conf 文件中添加如下代码(注意代码插入顺序)

nat on en1 from 10.10.10.0/24 to any -> en1

再在终端执行以下命令

sudo sysctl -w net.inet.ip.forwarding=1
sudo sysctl -w net.inet6.ip6.forwarding=1
sudo pfctl -ef /etc/pf.conf

即可实现内网访问


不过现在新的问题又来了,我在mac上安装了clash verge,

请问要如何设置才能让clash代理wireguard的出口流量,

即实现wireguard客户端连接服务端后外网流量走clash代理呢?

2025年6月25日 下午7:34 回应 zerori

在 Mac mini 上实现 WireGuard 流量通过 Clash Verge 代理,需结合网络转发规则与 Clash 配置,以下是具体方案(基于 macOS Ventura 系统),回答来自 Apple 支持社区 蓝湛。

一、Clash Verge 基础配置

  1. 开启局域网代理权限
    • 打开 Clash Verge,进入「设置」>「系统代理」,勾选「允许来自局域网的连接」,并记录代理端口(默认 TCP/UDP 为 7890/7891)。
  1. 配置全局代理模式
    • 在 Clash Verge 主界面切换到「全局」模式(确保所有流量经代理),若需分流可在规则中添加 WireGuard 客户端 IP 的专属代理规则。

二、PF 规则重定向 WireGuard 流量到 Clash

1. 定位 WireGuard 接口与 IP 段

  • 查看 WireGuard 服务端接口名称及 IP:

  • 确定 WireGuard 客户端 IP 段(如服务端配置为10.10.10.0/24)。

2. 修改 pf.conf 添加重定向规则

  • 编辑 pf.conf(先备份原文件):


在文件末尾添加以下规则(假设 Clash 端口为 7890,WireGuard 接口为 wg0,客户端网段 10.10.10.0/24):



  • 说明
    • en1为 Mac mini 连接外网的接口(可通过ifconfig确认,Wi-Fi 通常为en0,有线为en1);
    • TCP 80/443 重定向确保 HTTP/HTTPS 流量走代理,UDP 53 重定向确保 DNS 通过 Clash(需 Clash 开启 UDP 代理)。

3. 应用 PF 规则并启用转发

  • 执行以下命令:


三、WireGuard 服务端配置优化

  1. 设置 DNS 指向 Clash


  • 编辑 WireGuard 服务端配置文件(如/usr/local/etc/wireguard/wg0.conf),添加:



  • 重启 WireGuard 服务:




  1. 客户端配置确认


  • 确保 WireGuard 客户端开启「允许所有流量通过隧道」(如 Windows 版勾选「Use this connection as the default gateway」),并设置 DNS 为服务端 IP(10.10.10.1)。

四、测试与排错

  1. 验证流量走向


  • 在 Clash Verge 的「日志」页面查看是否有 WireGuard 客户端 IP 的流量记录;
  • 客户端访问https://ip.gs,若显示 Clash 代理的 IP 则配置成功。


  1. 常见问题解决

① 流量未走代理

  • 检查 PF 规则中的 IP 段和接口是否正确,可通过pfctl -vs nat和pfctl -vs redir查看规则生效情况;
  • 确认 Clash「允许来自局域网的连接」已开启,且 Mac 防火墙未阻止 Clash 端口(系统偏好设置 > 安全性与隐私 > 防火墙)。

② DNS 解析失败

  • 确保 Clash 已开启 UDP 代理(设置 > 系统代理 > 启用 UDP 转发);
  • 客户端手动设置 DNS 为 Clash 的 DNS 端口(如 10.10.10.1:53)。

五、进阶方案:Clash TUN 模式(推荐)


若需简化配置,可在 Clash Verge 中启用 TUN 模式合并流量:


  1. 在 Clash Verge「设置」>「TUN」中开启「启用 TUN 模式」,设置虚拟网卡 IP 段(如 10.7.0.0/24);
  2. 修改 WireGuard 服务端配置,将客户端默认路由指向 Clash 的 TUN 接口(如PostUp = route add -net 0.0.0.0/0 gw 10.7.0.1);
  3. 此方案下 WireGuard 流量直接通过 Clash 的 TUN 接口转发,无需 PF 重定向。


回答来自 Apple 支持社区 蓝湛,配置时建议逐步测试规则,避免因网络配置错误导致连接中断。

2025年6月3日 下午7:12 回应 Sariel

家里网络采用有线mesh组网方案,母路由下联3个子路由,

其中一楼的子路由接入一台Mac mini,

Mac mini上同时运行wireguard和clash verge,

我在外地用PC和手机通过wireguard连接Mac mini访问家里局域网,

现在的问题就是如何让clash verge代理分流wireguard的出口流量,

不知你有这方面的相关知识可以提供参考么?

这个主题已被系统或社区团队关闭。 你可以为你认为有帮助的任何帖子投票,也可以在社区中搜索其他答案。

在mac上搭建wireguard服务,客户端连接后无法访问内网

欢迎来到 Apple 支持社区
Apple 客户在其产品方面互相帮助的论坛。使用您的 Apple 帐户开始畅游其中吧!!