如何在 K8S 的 IP 表中阻止传出流量到 ip
How to block outgoing traffic to ip in IP tables in K8S
我想阻止流向 K8s 中 IP 表中的 ip(例如 DB)的传出流量。
我知道在 K8s 中 ip 表只存在于节点级别。
而且我不确定应该在哪个文件中进行更改以及需要什么命令或更改。
请帮我解决这个问题。
谢谢。
您可以部署 istio,特别是 istio 出口网关。
这样您就可以在 istio 清单中管理传出流量
如果可以的话,您可以在节点上直接 运行 IPtable 命令(例如 iptables -A OUTPUT -j REJECT
)。
但是文件取决于 OS:/etc/sysconfig/iptables
这是针对 ipv4
我建议检查 Kubernetes 中的网络策略,使用它可以阻止传出流量。
https://kubernetes.io/docs/concepts/services-networking/network-policies/
不需要像 Istio 或其他任何东西那样的额外设置。
您可以在后端使用网络策略处理集群安全,它仅使用 IP 表。
例如,通过仅应用 YAML 来阻止特定 CIDR 或 IP 上的流量
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: default
spec:
podSelector:
matchLabels:
role: db
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: 10.0.0.0/24
ports:
- protocol: TCP
port: 5978
我想阻止流向 K8s 中 IP 表中的 ip(例如 DB)的传出流量。
我知道在 K8s 中 ip 表只存在于节点级别。
而且我不确定应该在哪个文件中进行更改以及需要什么命令或更改。
请帮我解决这个问题。
谢谢。
您可以部署 istio,特别是 istio 出口网关。
这样您就可以在 istio 清单中管理传出流量
如果可以的话,您可以在节点上直接 运行 IPtable 命令(例如 iptables -A OUTPUT -j REJECT
)。
但是文件取决于 OS:/etc/sysconfig/iptables
这是针对 ipv4
我建议检查 Kubernetes 中的网络策略,使用它可以阻止传出流量。
https://kubernetes.io/docs/concepts/services-networking/network-policies/
不需要像 Istio 或其他任何东西那样的额外设置。
您可以在后端使用网络策略处理集群安全,它仅使用 IP 表。
例如,通过仅应用 YAML 来阻止特定 CIDR 或 IP 上的流量
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: default
spec:
podSelector:
matchLabels:
role: db
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: 10.0.0.0/24
ports:
- protocol: TCP
port: 5978