Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

8.6.2. 使用 iptables 规则限制对外部资源的访问

有些集群管理员可能希望对传出流量执行操作,这些流量不适合 EgressNetworkPolicy 或出口路由器的模型。在某些情况下,这可以通过直接创建 iptables 规则来完成。

例如,您可以创建记录到特定目的地的流量的规则,或者防止每秒超过特定数量的传出连接。

OpenShift Container Platform 不提供自动添加自定义 iptables 规则的方法,但它提供了一个可供管理员手动添加此类规则的位置。在启动时,每个节点都会在 过滤器 表中创建一个名为 OPENSHIFT-ADMIN-OUTPUT-RULES 的空链(假设链尚不存在)。管理员添加至该链的任何规则都将应用到从 pod 到集群外目的地的所有流量(而不是任何其他流量)。

使用此功能时需要注意以下几点:

  1. 您需要确保在每个节点上创建规则 ; OpenShift Container Platform 不提供自动实现该操作的任何方法。
  2. 规则不适用于通过出口路由器退出集群的网络流量,并在应用 EgressNetworkPolicy 规则后运行(因此不会看到 EgressNetworkPolicy拒绝的流量)。
  3. 处理从 pod 到节点或 pod 到 master 的连接非常复杂,因为节点同时具有"外部"IP 地址和"内部"SDN IP 地址。因此,一些 pod 到节点/master 流量可能会通过此链,但其他 pod 到节点/master 流量可能会绕过它。