You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WireGuard服务器配置咨询:仅局域网访问及多连接类型设置

WireGuard服务器配置咨询:仅局域网访问及多连接类型设置

嘿,我来帮你捋清楚这两个WireGuard的配置问题,都是很常见的需求,不难搞定的!

一、实现Peer访问家庭局域网但使用自身互联网连接

这个核心是控制路由规则,让只有局域网流量走WireGuard,其他流量走Peer自己的默认网络:

1. 服务器端调整

  • 不要推送默认路由:你的WireGuard服务器配置里,不管是[Interface]段还是[Peer]段,都别加指向0.0.0.0/0或者::/0的路由推送,只专注于家庭局域网网段。
  • 配置Peer的AllowedIPs:在对应Peer的[Peer]段里,只包含该Peer的VPN IP+家庭局域网网段,比如:
    [Peer]
    PublicKey = 你的Peer公钥
    AllowedIPs = 10.0.0.2/32, 192.168.1.0/24
    PersistentKeepalive = 25
    
    (这里10.0.0.2是该Peer的VPN内网IP,192.168.1.0/24是你家局域网网段,根据实际情况替换)
  • 开启IP转发:执行sysctl -w net.ipv4.ip_forward=1临时生效,然后把net.ipv4.ip_forward=1和net.ipv6.conf.all.forwarding=1加到/etc/sysctl.conf里永久生效,记得执行sysctl -p重载配置。
  • 设置iptables转发规则:允许WireGuard接口和家庭局域网接口之间的流量互通:
    # 允许VPN流量转发到局域网
    iptables -A FORWARD -i wg0 -o eth0 -s 10.0.0.0/24 -d 192.168.1.0/24 -j ACCEPT
    # 允许局域网流量转发到VPN
    iptables -A FORWARD -i eth0 -o wg0 -s 192.168.1.0/24 -d 10.0.0.0/24 -j ACCEPT
    
    (eth0是服务器连接家庭局域网的物理接口,wg0是WireGuard接口,根据实际替换)

2. Peer端调整

Peer的配置里,AllowedIPs只设置为家庭局域网网段+WireGuard服务器的VPN IP,比如:

AllowedIPs = 192.168.1.0/24, 10.0.0.1/32

这样一来,Peer只有访问你家局域网的流量会走WireGuard通道,其他所有上网流量都会走自己本地的互联网连接,完全符合你的需求。

二、同一WireGuard服务器实现两种连接类型(LAN Only & LAN+Internet)

完全不需要搞多个WireGuard接口(wg0、wg1),同一接口下给不同Peer配置不同的规则就可以,更简洁高效:

1. LAN Only类型的Peer配置

和上面第一个需求的配置完全一致,服务器端的[Peer]段只包含VPN IP+局域网网段,不涉及默认路由,Peer端的AllowedIPs也只设置局域网和服务器VPN IP。

2. LAN+Internet类型的Peer配置

  • 服务器端配置:在这个Peer的[Peer]段里,加上默认路由的AllowedIPs,同时指定Pi-hole作为DNS:
    [Peer]
    PublicKey = 该Peer的公钥
    AllowedIPs = 10.0.0.3/32, 0.0.0.0/0, ::/0
    PersistentKeepalive = 25
    DNS = 192.168.1.5  # 替换成你的Pi-hole局域网IP
    
  • 添加Masquerade规则:让这个Peer的互联网流量能通过服务器转发出去(做SNAT):
    iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
    
    如果需要支持IPv6,再对应添加IPv6的规则:
    ip6tables -t nat -A POSTROUTING -o eth0 -s fd42:42:42::/64 -j MASQUERADE
    
    (fd42:42:42::/64是你的WireGuard IPv6网段,按需替换)

Proxmox LXC容器的额外注意事项

如果你是用LXC容器跑WireGuard,得确保容器有足够的权限:

  • 编辑容器的配置文件(比如/etc/pve/lxc/100.conf,100是容器ID),添加以下内容:
    lxc.cap.drop =
    lxc.cgroup2.devices.allow = c 10:200 rwm
    lxc.net.0.type = veth
    lxc.net.0.link = vmbr0
    lxc.net.0.flags = up
    lxc.net.0.ipv4 = 192.168.1.10/24  # 容器的局域网IP
    lxc.net.0.ipv4.gateway = 192.168.1.1
    
  • 然后在容器内部开启IP转发,和之前服务器端的操作一样设置sysctl即可。

备注:内容来源于stack exchange,提问作者Boosted1g

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 15:08:13