You need to enable JavaScript to run this app. CentOS7启用firewall的Calico CNI Kubernetes集群DNS解析失败
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7启用firewall的Calico CNI Kubernetes集群DNS解析失败

Kubernetes集群DNS解析失败故障解决方案

故障根因

DNS解析请求被firewalld拦截:Calico为每个Pod创建的veth接口均以cali为前缀,此类接口未加入firewalld信任域,默认规则拦截了从这类接口进入的UDP 53端口DNS查询请求,对应dmesg日志中IN=calixxxx的FINAL_REJECT记录可佐证该结论。

解决方案

方案1:批量将所有cali前缀接口加入信任域(推荐)

CentOS 7的firewalld支持用+作为后缀通配符匹配接口,无需逐个添加接口:

  1. 永久添加规则:
firewall-cmd --permanent --add-interface=cali+ --zone=trusted
  1. 重载防火墙使配置生效:
firewall-cmd --reload

方案2:单独放行DNS服务端口

如果无需将所有Pod接口加入信任域,可直接放行DNS所需端口:

firewall-cmd --permanent --add-port=53/udp
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --reload

效果验证

配置完成后执行DNS解析测试:

kubectl exec -it dnsutils -- nslookup kubernetes.default

返回正常解析结果即故障修复。


内容的提问来源于stack exchange,提问作者Karthik Prasad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 21:24:05