Forum Discussion
Here's a slight twist to get multi-homed records.
-
Create an "internal" topology region - include all of the local/internal IP subnets.
-
Create separate internal and external pools for each WIP resource with a common naming extension (ex. int_foo.example.com_pool and ext_foo.example.com_pool).
-
Create a "drop" pool - no members, preferred LB Method: Fallback IP, Fallback IP: 1.1.1.1, Alternate and Fallback LB Methods set to none.
-
Assign the external pool to the WIP.
-
Apply this iRule to all multi-homed WIPs:
when DNS_REQUEST { if { [matchregion [IP::client_addr] internal_network] } { if { [catch { try to send internal GTM pool set pool [findstr [LB::server pool] "ext_" 4] pool "int_$pool" } error] } { internal GTM pool doesn't exist - send nothing pool drop_pool } } }
This is really nothing more than a variation on some of the examples above, and probably pretty close to Jason's comments, but can be done completely inside a GTM iRule and will allow you to serve up internal and external DNS entries for the same resources (if they exist).