ここで私の苦しみを和らげてください: EKS でホストされているサイトの 1 つに到達する単一の IP をブロックしようとしています。サーバー スニペット アノテーションを試しましたが、うまくいきませんでした。また、ブロックするネットワーク ポリシーを作成しようとしましたが、うまくいきませんでした。制限付き IP のリストを設定する方法はありますか?
ネットワーク ポリシーは次のとおりです。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: web-dev-network-policy
namespace: target_namespace
spec:
podSelector:
matchLabels:
app: php
policyTypes:
- Ingress
ingress:
- from:
- ipBlock:
cidr: source_ip_value/32
ports:
- protocol: TCP
port: 80
サーバースニペットは次のとおりです。
nginx.ingress.kubernetes.io/server-snippet: |
location / {
deny source_ip;
}
編集:ドメインの受信リクエストを監視すると、CoreDNSがリクエストを書き換えて(おそらく)、サイトがホストされているサービス名と一致することがわかります。location /
それがリクエストと一致せず、許可されている理由だと思います。例:
source.ip.address - - [time/date] "HEAD / HTTP/2.0" 200 0 "-" "curl/7.58.0" 54 0.382 [service-name-service-name-80] [] private.ip:80 0 0.384 200 7a06748e7395fbsssceb737723399919