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

如何仅允许WireGuard客户端连接,拦截所有其他网络连接?

如何仅允许WireGuard客户端连接,拦截所有其他网络连接?

看起来你是想把Computer A变成只能通过WireGuard内网访问的自托管服务器,彻底切断它和非WireGuard网络的联系对吧?我来一步步给你捋清楚怎么操作,全部在Computer A上设置就行,不用动Main Server那边。

核心思路

先把所有默认的网络连接都设为拦截,然后只放行WireGuard内网相关的必要流量,相当于给Computer A套个“WireGuard专属防护罩”。

具体操作步骤(用iptables,大部分Linux系统都支持)

  1. 先设置默认拦截策略
    这一步会把所有没被明确允许的连接都挡住,是核心的限制规则:

    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    iptables -P FORWARD DROP
    
  2. 必须放行本地回环流量
    本地服务之间的通信(比如Caddy和本地应用)都靠回环接口,不放行的话很多服务会直接崩:

    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT
    
  3. 放行已建立的连接流量
    不然你从WireGuard客户端连上去之后,只能发起请求但收不到回应,得允许已连接的会话继续通信:

    iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    
  4. 放行WireGuard内网访问Caddy的流量
    假设你的Caddy用的是标准的80(HTTP)和443(HTTPS)端口,直接放行WireGuard整个网段(10.8.0.0/24,和Main Server的配置对应)的访问:

    iptables -A INPUT -s 10.8.0.0/24 -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -s 10.8.0.0/24 -p tcp --dport 443 -j ACCEPT
    

    要是你Caddy用了其他端口,把--dport后面的数字换成你实际用的就行。

  5. 放行Computer A和Main Server的WireGuard握手流量
    得让Computer A能和Main Server保持WireGuard连接,所以允许它往Main Server的WireGuard端口发流量:

    # 这里替换成你的Main Server的WireGuard内网IP(比如10.8.0.1)或者公网IP
    iptables -A OUTPUT -d 10.8.0.1 -p udp --dport 51820 -j ACCEPT
    
  6. 保存规则防止重启失效
    上面的规则只是临时的,重启电脑就没了,得存下来:

    • 如果你用的是Ubuntu/Debian系,先装持久化工具:
      apt install iptables-persistent
      
      然后保存规则:
      iptables-save > /etc/iptables/rules.v4
      
    • 其他系统可以对应找一下保存iptables规则的方法,比如CentOS用service iptables save。

额外注意事项

  • 记得修改Computer A的WireGuard配置,把DNS那一行删掉或者留空,毕竟你不想用PiHole,而且我们已经限制了它的外网访问,也不需要公网DNS。
  • 测试的时候,先从WireGuard内网的其他客户端(比如你的电脑)访问Computer A的Caddy服务,确认能正常打开;再用没连WireGuard的设备(比如手机连公网)尝试访问Computer A的公网IP,应该是完全连不上的,这就说明规则生效了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 08:43:16