搜 索

F5 EDNS 配置

  • 398阅读
  • 2021年11月18日
  • 1评论
首页 / 🍁F5 / 正文

一、环境介绍

1、地址划分

PC1 IP Address :172.30.193.58

PC2 IP Address :172.23.5.17

F5 Local DNS IP : 172.30.201.242

F5 GTM IP : 172.30.192.36

2、GTM 测试信息

测试域名:ednstest.gslb.bmcc.com.cn

A记录1 IP Address : 172.30.197.146

A记录2 IP Address : 10.4.166.72

3、Topology 策略

源地址172.23.5.17/32 --> 目的地址172.30.197.146/32

源地址173.30.193.58/32 --> 目的地址10.4.166.72/32

4、环境拓扑

image-20211118203644602.png

5、测试要求

a. 当PC1 172.30.193.58 通过 F5 Local DNS 172.30.201.242请求域名ednstest.gslb.bmcc.com.cn,F5 Local DNS通过 iRule 转发该特定域名至F5 GTM ,F5 GTM 根据PC1 172.30.193.58 的IP地址匹配 Topology 算法,解析A记录为10.4.166.72。

b. 当PC2 172.23.5.17 通过 F5 Local DNS 172.30.201.242请求域名ednstest.gslb.bmcc.com.cn,F5 Local DNS通过 iRule 转发该特定域名至F5 GTM ,F5 GTM 根据PC2 172.23.5.17 的IP地址匹配 Topology 算法,解析A记录为172.30.197.146。

二、F5 Local DNS 配置

1、Data Group 配置

创建 data group ,用于存储转发至 GTM 的域名信息 。再通过配置 iRule ,当 Local DNS Listener 监听到该 data group 中的域名,则转发 DNS 请求到 GTM。

dns1.png

2、Pool 配置

创建 GTM Pool ,用于把特定请求转发 GTM 。

dns2.png

3、iRule 配置

定义当 Local DNS Listener 监听到 data group 中的域名请求信息,则转发 DNS 请求到 GTM Pool。

dns3.png

when DNS_REQUEST { 
if { [class match [DNS::question name] equals forward_to_gtm] } {
        pool gtm_pool
    }
}

4、DNS Profile 配置

开启 Insert Source Address into Client Subnet Option 选项,用于在 DNS 请求中,DNS 报文附加字段插入客户端地址。

image-20211118205244643.png

5、Listener 配置

配置监听地址,开启源地址、目的地址和目的端口转换。调用 edns profile 和 iRule。

dns4.png

三、F5 GTM 配置

1、Pool 配置

配置GSLB Pool,首选算法为 Topology ,成员为 172.30.197.146 和 10.4.166.72

gtm2.png

2、Topology 配置

  • 当客户端地址 172.23.5.17 来进行dns请求,返回结果在 172.30.197.146/32 段内。
  • 当客户端地址 172.30.198.58 来进行dns请求,返回结果在 10.4.166.72/32 段内。

gtm1.png

3、配置 Wide IPs

选择 ednstest.gslb.bmcc.com.cn pool。

注意:当需要对 pool 进行根据客户端 Topology 算法时,需要选择下图 General Properties : Advanced,开启 Prefer Client Subnet。对 pool member 进行根据客户端 Topology 算法时,可以不用开启该选项。

gtm3.png

4、Prefer Client Subnet 开启

当开启 Prefer Client Subnet 选项。 系统使用 edns0 客户端子网选项(如果存在),而不是源地址。

gtm4.png

四、测试

1、PC1 172.30.193.58 测试

使用 PC1 172.30.193.58 去 Local DNS 172.30.201.242 进行 ednstest.gslb.bmcc.com.cn 域名解析,多次测试返回结果为 10.6.166.72 。

dnstest1.png

2、 PC1 172.23.5.17 测试

使用 PC2 172.23.5.17 去 Local DNS 172.30.201.242 进行 ednstest.gslb.bmcc.com.cn 域名解析,多次测试返回结果为 172.30.197.146 。

dnstest2.png

打 赏
  • 微信
WeChatPay
评论区
张三 2021年11月28日 19:04
回复

牛批

avatar