Wireguard 搭配 VPS,适用于移动客户端的所有流量路由

Wireguard 搭配 VPS,适用于移动客户端的所有流量路由

我一直在尝试将 Wireguard 配置为 VPN 来访问我的家庭网络,部分操作已成功。但在尝试执行两件事时,我仍然遇到问题。

  1. 我想要通过 VPN 路由所有流量
  2. 一旦客户端连接到 VPN,它应该使用我的家庭外部 IP 地址作为公共 IP,而不是我的移动运营商的 IP。

对于家庭环境,我使用安装了 Wireguard 插件的 Homeassistant。配置 YAML 如下:

server:
  host: wireguard
  addresses:
    - 172.27.66.1
  dns:
    - 192.168.0.126
peers:
  - name: vps
    public_key: redacted
    endpoint: PublicIP:port (redacted)
    addresses:
      - 10.9.0.0/24
    allowed_ips: []
    client_allowed_ips: []
    persistentKeepalive: 25
  - name: laptop
    addresses:
      - 172.27.66.3
    allowed_ips: []
    client_allowed_ips: []
log_level: debug

我的异地托管的 VPS 具有以下 wg0.conf:

[Interface]
Address = 10.9.0.3/24
PreUp = sysctl -w net.ipv4.ip_forward=1
ListenPort = port redacted
PrivateKey = redacted

[Peer]
PublicKey = redacted
AllowedIPs = 192.168.0.0/24, 192.168.0.126/32
PersistentKeepalive = 25

[Peer]
PublicKey = redacted
AllowedIPs = 192.168.0.0/24, 10.9.0.5/32
PersistentKeepalive = 25

[Peer]
PublicKey = redacted
AllowedIPs = 10.9.0.4/32
PersistentKeepalive = 25

第一个 Peer 是连接到家庭网络的 Wireguard 的 Peer。目前,所有这些都正常工作,我可以访问服务器 192.168.0.126(即家庭助理),并且从测试来看,广告拦截似乎也可以在移动客户端上运行。

我的问题是,即使 AllowedIPs 设置为 192.168.0.0/24,我似乎也无法访问网络上的其他设备。

从我所读的内容来看,要通过 VPN 路由所有流量,我需要添加 0.0.0.0/0,或 IPv6 的::/0。但是,当我将其添加到 AllowedIPs 并重新启动 wg0 接口时,我立即失去了与 VPS 的连接,并且必须重置并停止服务启动,因为 VPS 不再可访问。我猜问题是我可能需要一些特定的路由规则,但我不确定需要正确设置什么。ip 表没有规则,并设置为接受所有流量。

VPS IP路由:

default via 10.0.0.1 dev eth0
default via 10.0.0.1 dev eth0 proto dhcp src 10.0.0.4 metric 100
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.4
10.9.0.0/24 dev wg0 proto kernel scope link src 10.9.0.3
168.63.129.16 via 10.0.0.1 dev eth0 proto dhcp src 10.0.0.4 metric 100
169.254.169.254 via 10.0.0.1 dev eth0 proto dhcp src 10.0.0.4 metric 100
192.168.0.0/24 dev wg0 scope link
192.168.0.126 dev wg0 scope link

主页 wireguard ip 路由:

default via 192.168.0.1 dev end0  metric 100
10.9.0.0/24 via 192.168.0.126 dev end0
172.30.32.0/23 dev hassio scope link  src 172.30.32.1
172.30.232.0/23 dev docker0 scope link  src 172.30.232.1
192.168.0.0/24 dev end0 scope link  src 192.168.0.126  metric 100

我将非常感激任何帮助我解决此问题的帮助,以便让所有流量都通过 VPN,并在可能的情况下使用我家的公共 IP 地址。

相关内容