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] <name> [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 <name> domain_name <domain_name> [ip4 <xx.xx.xx.xx>] [ip6 <xxxx:xxxx:xxxx:>] ttl <sec> [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 <name>]
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