策略中做了:
1.LOCAL-TRUST,TRUST-LOCAL做了互通放行
2.LOCAL-UNTRUST 做了放行
3.也做了192.168.250.4-UNTRUST放行
DNS代理配置:
1.网络配置的DNS中的DNS服务器地址已设定,高级设置中的DNS代理已启用
但是在防火墙设备上PING ***.***无法解析域名
局域网电脑上将DNS设为192.168.250.4,也无法解析域名
跟了一下报文,也没报错,就是没得回来的包
192.168.250.4为防火墙的内网接口地址。
附件为抓的包
求大神指点
(0)
192.168.250.4 这个接口,PC 发过来的 DNS 请求防火墙不收。system-view
dns proxy enable
interface Vlan-interface 你的内网口(192.168.250.4)
dns proxy enable
nat-policy
rule name LOCAL-OUT
source-zone local
destination-zone untrust
action nat outbound # 自动做源NAT
interface GigabitEthernet 外网口
nat outbound
security-policy
rule name LOCAL-UNTRUST-DNS
source-zone local
destination-zone untrust
service dns
action permit
rule name TRUST-LOCAL-DNS
source-zone trust
destination-zone local
service dns
action permit
dns route enable
dns route ip 114.114.114.114 interface 外网口
dns route ip 8.8.8.8 interface 外网口
ping www.baidu.com
nslookup www.baidu.com 192.168.250.4
display current-configuration | include dnsdisplay nat policydisplay security-policy | include ruledis cu int g1/0/x)非常感谢,根据你的指引,确实是因为我这边有两条外网线路,也做了策略路由,而默认路由中两条外网线路的默认优先级一样,我将希望走的那条链路的优先级调高后,问题解决。
防火墙 DNS 代理配置后无法解析域名,抓包显示“没得回来的包”。这种情况通常是DNS请求报文未能正确转发到上游DNS服务器,或上游响应无法返回给客户端。下面按步骤帮你梳理排查要点,请逐项检查。
检查 DNS 代理是否启用
Enabled,且监听接口为 any 或包含内网接口。检查上游 DNS 服务器配置
active。检查 DNS 代理监听端口
你已配置了 LOCAL-UNTRUST、TRUST-LOCAL、LOCAL-TRUST 和 192.168.250.4-UNTRUST 放行,但还需要确认策略的方向、源目地址和域是否正确。
客户端 → 防火墙:源域 TRUST,目的域 LOCAL(因 DNS 请求到防火墙自身的 IP 192.168.250.4)
防火墙 → 上游 DNS:源域 LOCAL,目的域 UNTRUST(防火墙向外发起 DNS 查询)
上游 DNS → 防火墙:源域 UNTRUST,目的域 LOCAL(响应返回)
防火墙 → 客户端:源域 LOCAL,目的域 TRUST(DNS 响应回客户端)
允许 TRUST → LOCAL:放行客户端到防火墙 192.168.250.4 的 DNS 请求(UDP 53)
允许 LOCAL → UNTRUST:放行防火墙到上游 DNS 的查询报文
允许 UNTRUST → LOCAL:放行上游 DNS 的响应报文(通常由会话状态自动放行,但如果防火墙严格匹配策略,也需配置)
允许 LOCAL → TRUST:放行防火墙将 DNS 响应返回给客户端
你配置的 TRUST-LOCAL 和 LOCAL-TRUST 应能覆盖第一和第四项,但需确认策略的源目地址是否精确。例如 192.168.250.4-UNTRUST 可能只放行了内网到外网,但并未覆盖防火墙自身向外查询的流量。
建议检查或补充以下策略:
LOCAL 域与其他域之间的策略需要明确配置双向放行。如果只配置了 TRUST-LOCAL 但未配置 LOCAL-TRUST,响应包可能被阻断。在防火墙上直接测试 DNS 解析,判断问题在代理层还是上游:
nslookup 测试:是否有 TRUST → LOCAL 的会话(客户端到防火墙 192.168.250.4:53)
是否有 LOCAL → UNTRUST 的会话(防火墙到上游 DNS)
会话状态是否为 ESTABLISHED
如果只有第一段会话而无第二段,说明防火墙未转发请求,可能:
DNS 代理未启用或监听端口不对
防火墙未配置 DNS 服务器地址
安全策略阻止 LOCAL → UNTRUST
如果两段会话都有但无响应返回,可能是上游 DNS 无响应,或响应被 UNTRUST → LOCAL 策略阻断。
你提到抓包没有回来的包,但需要明确抓包点:
内网口抓包:确认客户端发出的 DNS 请求是否到达防火墙内网口。
外网口抓包:确认防火墙是否向外转发 DNS 请求,以及是否收到上游响应。
防火墙本地抓包(推荐):
客户端 → 防火墙内网口 (192.168.250.4:53) 发出请求(应看到)
防火墙 → 上游 DNS 服务器 (如 114.114.114.114:53) 发出新请求(应看到)
上游 DNS → 防火墙 返回响应(应看到)
防火墙 → 客户端 返回响应(应看到)
常见问题:
若外网口无请求发出:检查 LOCAL → UNTRUST 策略、DNS 代理是否启用、上游 DNS 配置。
若外网口有请求但无响应:上游 DNS 不通,或防火墙未放行 UNTRUST → LOCAL 响应。
若有响应但内网口无响应:检查 LOCAL → TRUST 策略是否放行 UDP 53 响应。
DNS 代理高级设置:检查是否开启了“递归查询”或“DNS 缓存”,某些版本需要额外配置。
接口安全域:确保内网接口属于 TRUST 域,外网接口属于 UNTRUST 域,且 IP 地址配置正确。
路由问题:防火墙到上游 DNS 的路由是否可达?可以 ping -a 内网口IP 上游DNS 测试。
DNS 源 NAT:如果外网口配置了 NAT,通常不需要特殊处理,但某些场景下需要开启 DNS 代理的源地址转换(如 nat outbound)。
域名白名单:部分防火墙有 DNS 过滤功能,可能拦截了域名查询。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
非常感谢,根据你的指引,确实是因为我这边有两条外网线路,也做了策略路由,而默认路由中两条外网线路的默认优先级一样,我将希望走的那条链路的优先级调高后,问题解决。