首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wireguard客户端IP识别

Wireguard客户端IP识别
EN

Server Fault用户
提问于 2022-01-19 21:38:39
回答 1查看 3.2K关注 0票数 2

假设我们有一个Wireguard设置,如下图所示(请参阅imgur链接,无法在没有声誉的情况下发布图像),使用以下PostUp & PostDown:

代码语言:javascript
复制
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

客户端可以通过Wireguard访问我们的专用网络(服务器不是Wireguard客户端,而只是连接到我们专用网络的第二个网络接口)。在这种情况下,如果我们查看运行在服务器上的服务中的访问日志,我们会发现客户机IP是Wireguard服务器的IP地址(172.16.2.1)。这是正确的,因为在转发时使用伪装来替换源IP。我们希望的结果是看到在我们服务器上运行的服务中的客户机in (即172.16.2.2或172.16.2.3)。是否有一种方式来设置Wireguard服务器上的路由,以便在通过Wireguard转发请求时保留源IP?因此,我们可能会阻止并允许基于客户端IP的客户端在服务器本身中使用访问日志,这些日志可以追溯到特定的客户端?

我知道如何配置iptables,以便从那里安排访问控制,但它不是最理想的解决方案,因为没有办法重新跟踪谁在网络上做了什么。

EN

回答 1

Server Fault用户

发布于 2022-01-20 07:50:55

要使双向通信工作,必须正确地配置路由。详细信息取决于实际的网络布局,但原则如下。我将使用10.0.8.0/24作为VPN IP网络,如下所示:

  • 每个服务器都需要一个到10.0.8.0/24网络的路由,在该网络中,下一个跳被指定为172.16.2.1。如果172.16.2.1已经是默认路由器,它可以正常工作。
  • 每个客户端都需要一条到172.16.2.0/24网络的路由,10.0.8.1是下一个跳(VPN服务器)。

使用此配置,路由设置正确,不需要伪装。

如何在服务器和VPN客户端上实际设置路由是一个单独的问题。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1090550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档