发往 OpenVPN 的数据包如何通过 iptables?

发往 OpenVPN 的数据包如何通过 iptables?

我对这个问题感兴趣已经很久了。我配置了一个 OpenVPN 服务器,我跟踪了日志,但不太了解数据包从客户端到 VPN 服务器的路由。我在互联网上找不到任何地方对此有很好的解释,所以我会在这里问,我希望得到你的帮助,理解这一点对我来说非常重要。

配置 OpenVPN 服务器和客户端(tun)后,一切对我来说都运行正常,所有客户端流量都通过 VPN 隧道。

但是我对一件事感兴趣。 如果我理解正确的话,那么客户端上的流量被封装在另一个数据包(隧道)中,并发送到OpenVPN服务器? 如果我们正在谈论iptables,那么当此数据包到达服务器时,它接下来会去哪里? 它穿过PREROUTING链,应该进入FORWARD链,但是内核从哪里知道它需要发送到FORWARD链? 毕竟,数据包是封装的,并且具有OpenVPN服务器的目标地址,而不是原始地址。 首先,您需要在某处加密此数据包? 然后才将其发送到FORWARD链,对吗? 还是我错了?

有人能解释一下客户端发往 OpenVPN 服务器的数据包是如何通过 iptables 的吗?他又是如何知道这个流量需要通过 FORWARD 发送的?我将非常感谢您的帮助。

相关内容