微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

即使获得授权,DNS 查找仍然被阻止

如何解决即使获得授权,DNS 查找仍然被阻止

我的允许 DNS 和 Calico 网络策略的规则不起作用。使用带有 DNS 的 CURL 仍然被阻止!

我的用例:除了与 S3 服务的通信之外,我希望删除所有外部网络。允许 ONLY S3 的 IP 有效,因为除了我设置的 IP 之外,其他所有内容都被阻止。但是使用与此 IP 关联的 DNS 也被阻止,我不知道为什么。

apiVersion: projectcalico.org/v3
kind: NetworkPolicy
Metadata:
  name: allow-egress-external
  namespace: demo
spec:
  order: 2
  selector:
    color == 'red'
  types:
    - Egress
  egress:
    - action: Allow
      protocol: UDP
      destination:
        ports:
        - 53

这应该允许任何带有 color: red 标签的 Pod 与 DNS 通信。

我还有一个拒绝规则设置如下:

apiVersion: projectcalico.org/v3
kind: NetworkPolicy
Metadata:
  name: default-deny
  namespace: demo
spec:
  order: 1
  selector: all()
  types:
  - Egress

最后是允许某个 IP 通过的规则:

apiVersion: projectcalico.org/v3
kind: NetworkPolicy
Metadata:
  name: allow-egress-external
  namespace: demo
spec:
  order: 3
  selector:
    color == 'red'
  types:
    - Egress
  egress:
    - action: Allow
      destination:
        nets:
        - <some_ip>/32

但是当我卷曲应该解析为“”的 DNS 时,请求被阻止。虽然卷曲 直接有效。

任何帮助将不胜感激,
谢谢


编辑 1

例如:

政策升级

  • 授权我的目标服务 IP
  • 授权的 DNS 查找
$ curl <targeted_dns> -v
* Expire in 0 ms for 6 (transfer 0x5638bf7edfb0)
* Expire in 1 ms for 1 (transfer 0x5638bf7edfb0)
* Expire in 0 ms for 1 (transfer 0x5638bf7edfb0)
* Expire in 1 ms for 1 (transfer 0x5638bf7edfb0)
* Expire in 0 ms for 1 (transfer 0x5638bf7edfb0)
* Expire in 0 ms for 1 (transfer 0x5638bf7edfb0)
* Expire in 1 ms for 1 (transfer 0x5638bf7edfb0)
[timeout for ever]

应该已经被解析,然后生成的 IP 应该被授权通过,因为它已经被手动授权。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。