无需 NAT 转发 IP 流量(Ubuntu 14.04)

无需 NAT 转发 IP 流量(Ubuntu 14.04)

我一直在设置 OpenVPN,并且我所遵循的所有标准指南都建议进行设置,iptables以便 VPN 服务器在 VPN 客户端上执行 NAT:

iptables -t nat -A POSTROUTING -s *vpn-ip-range* -o eth0 -j MASQUERADE

这很好。但是,由于 NAT,我们其他内部机器上的所有日志都报告来自 VPN 服务器 IP 而不是客户端 IP 的流量。

我想删除 NAT 并让客户端 IP 在整个网络中使用(出于审计目的)。我已经完成了以下操作:

  • 更新 OpenVPN 配置以向所有客户端(子网10.0.0.0/8)提供内部 IP 地址
  • 向我们的主网关添加静态路由,以将此子网路由到 VPN 服务器的 IP 地址

最后一步是更新iptables。我似乎无法让它工作。

网卡是eth0并且所有 OpenVPN 流量都处于 状态tun0。我想要做的就是当与流量相关时,VPN 服务器在这些接口之间转发流量10.0.0.0/8

有人可以建议我该怎么做吗?

答案1

解决此问题的快速方法是修改日志记录的工作方式,使其记录 $http_x_forwarded_for 值,然后记录实际的客户端 IP。

不确定您是否能够修改日志记录的方式,但我希望这会有所帮助。

答案2

我设法解决了这个问题。虽然我已经添加了net.ipv4.ip_forward=1/etc/sysctl.conf大多数指南都指出了这一点),但我还需要添加net.ipv4.conf.all.proxy_arp=1

然后,配置iptables只需要允许两个接口上的所有流量就可以了!

相关内容