Post

How to Configure DNS Forwarding with Microsoft AD DS and Dnsmasq

How to Configure DNS Forwarding with Microsoft AD DS and Dnsmasq

问题

在芯片研发环境,

  • 有些EDA tools会后台发送使用数据至其公司后台,给公司带来信息安全风险(安全)。
  • EDA tools在使用时访问一个无法通信的地址时,会等待,导致工具性能低下(性能)。

分析

安全方面,业界的做法是防火墙隔离。当不可避免地需要在上网环境使用时,则可以针对其公司的二级域名及其子域名,全部劫持解析到一个不能访问的地址,以此降低风险。一般的做法是,穷举其用到的(二级、三级)域名并在DNS服务器加上A记录,但这样的做法是不完善的:

  • 一方面无法保证穷举是否完全;
  • 另一方面,EDA tool vendor也可能会在新版本更新子域名导致已添加的DNS A记录未覆盖到。

性能方面,需要确保访问无法通信的地址能立即拒绝,提升工具性能。

因此需要一个能自适应,或者覆盖完全的解决方案。

架构

这里设计一个架构,能够覆盖synopsys.com及其子域名的所有域名解析。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
+-----------------------+                          +------------------------+
|                       |                          |                        |
|     客户端 (Client)   |    请求: synopsys.com    |   Microsoft AD DNS     |
|                       +------------------------->|       Server           |
|                       |                          |                        |
+-----------------------+                          +------------------------+
                                                   |         |              |
                                                   |         | 转发查询     |
                                                   |         v              |
                                                   +------------------------+
                                                   |                        |
                                                   |   Forwarder 配置       |
                                                   |  synopsys.com ->       |
                                                   |  dnsmasq Server        |
                                                   |                        |
                                                   +------------------------+
                                                            |
                                                            | 请求解析
                                                            v
                                                   +------------------------+
+-----------------------+                          |                        |
|                       |                          |     dnsmasq Server     |
|   客户端 (Client)     |   返回: 127.0.0.1        |  解析 synopsys.com 和  |
|                       |<------------------------ |  *.synopsys.com ->     |
+-----------------------+                          |       127.0.0.1        |
                                                   +------------------------+
This post is licensed under CC BY 4.0 by the author.

支持创作者

如果本文帮助到你,可以通过以下收款码支持我:

收款码

感谢你的支持!