# UPF MP2 DNS 分流 `MP2` 定义的 `DNS` 分流,主要应用在 `MEC` 可以将 `APP` 域名解析配置到 `UPF` 上,`UPF` 发现终端流量为 `边缘 MEC DNS 请求`流量后,将依照 `DNS 分流配置`进行 `DNS 应答`。 ### 功能设计 `UPF MP2 DNS 分流`,功能实现包括: * 配置 域名解析到 `UPF DNS CACHE` * 记录 `DNS 分流`配置到 `UPF`,用于识别终端到 `边缘 MEC DNS 请求流量` #### **配置 域名解析到 `UPF DNS CACHE`**: 利用 `UPF` 原生的 `DNS` 解析节点,将 `DNS分流` 中域名解析配置到 `UPF DNS CACHE`,用于应答 `DNS` 请求 ``` # 配置命令原型 # dns cache [add|del|clear] [ip4][ip6] uranus> dns cache add www.baidu.com 1.1.1.1 ``` #### **记录 `DNS 分流`配置到 `UPF`,用于识别终端到 `边缘 MEC DNS 清流流量`**: 在 `upf_main` 中,新增 `hash_mp2_by_appid` 哈希表项,用于记录 `app` 下所有 `MP2` 配置 新增命令行,配置 `MP2 DNS 分流`,用于识别 终端到 `边缘 MEC DNS 请求流量`,然后将该流量引入 `DNS` 节点解析应答。 ``` # 配置命令原型 # upf mec-traffic dns_resolve appid domain_name [ip4 ] [ip6 ] ttl [del] # 增加 1 条 DNS 分流配置 uranus> upf mec-traffic dns_resolve appid 1030 domain_name www.baidu.com ip4 1.1.1.1 ttl 60 # 删除 1 条 DNS 分流配置 uranus> upf mec-traffic dns_resolve appid 1030 domain_name www.baidu.com ip4 1.1.1.1 ttl 60 del # 查看已配置的 DNS 分流命令原型 # show upf mec-traffic dns_resolve [appid ] uranus> show upf mec-traffic dns_resolve appid 1030 ******************************************************* app: 1030 resolve1: domain_name www.baidu.com, ip 1.1.1.1, ttl 60 resolve2: domain_name www.baidu1.com, ip 1.1.1.1, ttl 60 ******************************************************* uranus> show upf mec-traffic dns_resolve app: 1030 resolve1: domain_name www.baidu.com, ip 1.1.1.1, ttl 60 resolve2: domain_name www.baidu1.com, ip 1.1.1.1, ttl 60 ******************************************************* ``` **注:在配置 DNS 分流规则前,需要首先配置 MP2 IP 五元组分流规则。** ### 处理流程 ![UPF_MP2_dns_rule](../../../_static/UPF_MP2_dns_rule.png)