我有一个 Kubernetes 集群,出于一些我不会在这里讨论的原因,我在同一个网络上还有一个 VM 实例(运行一个 Docker 容器),提供一种特定类型的入口并将该流量转发到内部 LoadBalancer 类型的 k8s 服务。
一切正常。现在我想限制此虚拟机的网络访问,使其无法访问除内部 LoadBalancer 的 IP 之外的任何内容。
我有哪些选择可以实现这一目标?
答案1
您可以定义一个出口防火墙规则这只会影响这台虚拟机,您将需要 2。
对于这两条规则,将其定义target
为运行 Docker 容器的 VM 实例,并将设置protocols and ports
为全部。
对于第一条规则:
- 定义
action
为allow
- 将其定义
destination
为内部负载均衡器的 IP。 - 将优先级定义为 900
对于第二条规则:
- 定义
action
为deny
- 定义
destination
为0.0.0.0/0
- 将优先级定义为 1100
这将确保允许规则优先于拒绝所有规则。它还将确保拒绝所有规则优先于隐含的允许所有出口规则。
第一条规则将仅允许流向负载均衡器 IP 的出站流量,而拒绝所有规则将阻止所有其他出站流量。如果您只想限制 VPC 内部的流量,请将其替换0.0.0.0/0
为您用于 VPC 的内部 IP 范围(默认值为 10.0.0.0/17)。