Manual Chapter : 3-DNS Administrator Guide v1.0.6: The wideip.conf File

Applies To:

Show Versions Show Versions

3-DNS Controller versions 1.x - 4.x

  • 1.0.6
Manual Chapter


C

The wideip.conf File



Overview

The 3DNS Controller configuration file is called /etc/wideip.conf. It consists of two types of information: statements and comments.

You must edit the 3DNS Controller configuration file to suit your network. Use the sample configuration file /etc/wideip.conf.samp, which is included later in this chapter, as a guide. The /etc/wideip.conf file describes the BIG/ip Controllers, other host machines, and wide IPs that are managed by the 3DNS Controllers.

At the minimum, your wideip.conf file must contain the following:

  • At least one virtual server, which can be defined in either a bigip or host statement
  • A wideip statement

    Refer to Chapter 7, Statements and Comments , for information on valid statements and sub-statements, as well as for the proper syntax.

Working with static and dynamic wideip.conf files

You have the option of maintaining your original wideip.conf file separately from a dynamic wideip.conf file that includes the most recent path and local DNS information.

The 3DNS Maintenance menu includes two commands to support this feature: Use Dynamic wideip.conf, and Use Static wideip.conf:

  • Use Dynamic wideip.conf
    Renames the existing /etc/wideip.conf file to /var/3dns/etc/wideip.conf.ORIG if it is found to be in the Initial state, and it also creates a link from /etc/wideip.conf to /var/3dns/etc/wideip.conf.dynamic.
  • Use Static wideip.conf
    Renames the existing /etc/wideip.conf file to /var/3dns/etc/wideip.conf.ORIG if it is found to be in the Initial state, and it also creates a link from /etc/wideip.conf to /var/3dns/etc/wideip.conf.static.

    You can manually edit the /etc/wideip.conf file in a text editor and the correct file is modified in preparation for a restart.

Note: You must restart the system before implementing any other dynamic commands to avoid losing changes to the edited wideip.conf. To avoid any possible loss of any changes, use the Edit 3DNS Configuration command from the menu or the edit_wideip script.

To open the /etc/wideip.conf file

  1. From the command prompt, change to the /etc directory by typing:

cd /etc

  1. Use a text editor such as vi or pico to open the wideip.conf file. For example, if you use vi, type the following:

vi wideip.conf

Example: 3DNS Controller configuration file

The following is an example of a 3DNS Controller configuration file. Note that very few global parameters are listed. You do not need to include each global parameter; you should include only those parameters for which you want to specify a value other than the default.

Note that this sample file contains examples of common configurations and each load balancing mode. Each load balancing example is further described in Example syntax for global availability , starting on page 5-30 .



#

# Sample /etc/wideip.conf

#

# Related files are:

# /etc/named.conf

# /var/namedb/db.wip.domain.com

#



globals {

prober 192.168.101.2 // Default prober is New York 3DNS

encryption yes // Encrypt iQuery

paths_noclobber yes // Don't overwrite metrics with

// zeroed results

path_ttl 2400 // Extend the life of path metrics

rtt_probe_dynamic yes // Switch to tcp probing if icmp fails

multiplex_iq yes // Source port is the same as

// destination port for iQuery

use_alternate_iq_port yes // Use IANA registered port for iQuery

}



// The New York BIG/ip is behind a firewall and the virtual servers

// need to be translated



bigip {

// New York

address 192.168.101.40

vs {

address 192.168.101.50

port 80

translate {

address 10.0.0.50

port 80

}

}



vs {

address 192.168.101.50

port 25

translate {

address 10.0.0.50

port 25

}

}



vs {

address 192.168.101.60

port 80

translate {

address 10.0.0.60

port 80

}

}



vs {

address 192.168.101.60

port 21

translate {

address 10.0.0.60

port 21

}

}



vs {

address 192.168.101.70

port 80

translate {

address 10.0.0.70

port 80

}

}



vs {

address 192.168.101.70

port 443

translate {

address 10.0.0.70

port 443

}

}

}





bigip {

// Los Angeles

address 192.168.102.40

vs {

address 192.168.102.50:80

}



vs {

address 192.168.102.50:25

}



vs {

address 192.168.102.60:80

}



vs {

address 192.168.102.60:443

}



vs {

address 192.168.102.60:21

}



vs {

address 192.168.102.70:80

}

}





bigip {

// Tokyo

address 192.168.103.40

vs {

address 192.168.103.50:80

}



vs {

address 192.168.103.50:25

}



vs {

address 192.168.103.60:80

}



vs {

address 192.168.103.60:21

}



vs {

address 192.168.103.70:80

}

}





host {

// Tokyo

address 192.168.104.40

vs {

address 192.168.104.50:80

probe_protocol tcp

}



vs {

address 192.168.104.50:443

probe_protocol tcp

}



vs {

address 192.168.104.50:25

probe_protocol tcp

}

}





host {

// New York

address 192.168.105.40

port 80

probe_protocol tcp

prober 192.168.103.40 // Use the prober in Tokyo



vs {

address 192.168.105.50:80

probe_protocol tcp

}



vs {

address 192.168.105.50:25

probe_protocol tcp

}



vs {

address 192.168.105.60:80

probe_protocol icmp

}



vs {

address 192.168.105.60:443

probe_protocol icmp

}

}





//

wideip {

address 192.168.101.50

service "http"

name "www.wip.domain.com"

qos_coeff {

rtt 21

completion_rate 7

packet_rate 5

topology 1

}



pool {

name "pool_1"

type vsb

ratio 2

preferred qos

address 192.168.101.50 ratio 2

address 192.168.102.50 ratio 1

address 192.168.103.50 ratio 1

}



pool {

name "pool_2"

type vsb

ratio 1

preferred rr

address 192.168.102.60 ratio 2

address 192.168.103.60 ratio 1

}

}





// Global availability

wideip {

address 192.168.101.60

port 80

name "cgi.wip.domain.com"

pool {

name "mypool"

type vsb

preferred ga

address 192.168.101.60 // New York

address 192.168.102.60 // Los Angeles

address 192.168.103.60 // Tokyo

}

}





// Round trip time load balancing with topology as alternate load

// balancing (see topology below)

wideip {

address 192.168.103.60

port 80

name "ntp.wip.domain.com"

pool {

name "poolA"

type vsb

preferred rtt

alternate topology

address 192.168.101.60 // New York

address 192.168.102.60 // Los Angeles

address 192.168.103.60 // Tokyo

}

}





// Least connections with ratio as an alternate

wideip {

address 192.168.102.60

service "ftp"

name "ftp.wip.domain.com"

pool {

name "main_pool"

type vsb

preferred leastconn

alternate ratio

address 192.168.101.60 ratio 2 // New York

address 192.168.102.60 ratio 4 // Los Angeles

address 192.168.103.60 ratio 1 // Tokyo

}

}





// Round robin pool load balancing between bigip and hosts

// This site runs a catalog and shopping cart and only wishes

// to send client to a datacenter if services are up on both

// ports 80 and 443.

wideip {

address 192.168.101.70

port 80 // http

port_list 80 443 // e-commerce

name "ssl.wip.domain.com"

pool_lbmode rr

pool {

name "bigip_pool"

type vsb

ratio 2

preferred qos

alternate ratio

address 192.168.101.70 ratio 7

address 192.168.102.60 ratio 2

}



pool {

name "host_pool"

type vsh

ratio 1

preferred ratio

address 192.168.104.50 ratio 2

address 192.168.105.60 ratio 1

}

}





// Mixing hosts and BIG/ip virtual servers

// Ratio pool load balancing between bigip and hosts

wideip {

address 192.168.102.50

service "smtp"

name "mx.wip.domain.com"

pool_lbmode ratio

pool {

name "pool_1"

type vsb

ratio 3

preferred rtt

alternate random

address 192.168.101.50

address 192.168.102.50

address 192.168.103.50

}



pool {

name "pool_2"

type vsh

ratio 1

preferred ratio

address 192.168.104.50 ratio 2

address 192.168.105.50 ratio 1

}

}





// Global availability pool load balancing between bigip

// datacenters with specialized use of preferred, alternate, and

// fallback load balancing methods null and return_to_dns.

wideip {

address 192.168.102.70

port 80

name "www.domain.com"

alias "home.domain.com"

ttl 120

pool_lbmode ga

pool {

name "New York"

type vsb

ratio 2

preferred leastconn

alternate null

fallback null

address 192.168.101.50 ratio 2

address 192.168.101.60 ratio 1

address 192.168.101.70 ratio 1

}



pool {

name "Los Angeles"

type vsb

ratio 1

preferred leastconn

alternate null

fallback null

address 192.168.102.50 ratio 3

address 192.168.102.60 ratio 2

address 192.168.102.70 ratio 1

}



pool {

name "Tokyo"

type vsb

ratio 1

preferred leastconn

alternate null

fallback return_to_dns

address 192.168.103.50 ratio 3

address 192.168.103.60 ratio 2

address 192.168.103.70 ratio 1

}

}





// Topological distribution and access control

topology {

acl_threshold 1

limit_probes yes

longest_match yes



// Server LDNS Score



///////////////////////////

// North American LDNS's:

// 198.0.0.0/8

// 199.0.0.0/8



// North America Priority List

//

// 1. New York

// 2. L.A.

// 3. Tokyo



// New York

192.168.101.0/24 198.0.0.0/8 30

192.168.101.0/24 199.0.0.0/8 30



// Los Angeles

192.168.102.0/24 198.0.0.0/8 20

192.168.102.0/24 199.0.0.0/8 20



// Tokyo

192.168.103.0/24 198.0.0.0/8 10

192.168.103.0/24 199.0.0.0/8 10



///////////////////////////

// South American LDNS's:

// 200.0.0.0/8

// 201.0.0.0/8



// South America Priority List

//

// 1. Tokyo

// 2. L.A.

// (New York excluded by acl_threshold)



// Tokyo

192.168.103.0/24 200.0.0.0/8 30

192.168.103.0/24 201.0.0.0/8 30



// Los Angeles

192.168.102.0/24 200.0.0.0/8 20

192.168.102.0/24 201.0.0.0/8 20



// New York

192.168.101.0/24 200.0.0.0/8 0

192.168.101.0/24 201.0.0.0/8 0





///////////////////////////

// Wildcard List Record

//

// By default, if a list record is not found in the

// topology map for an LDNS, the score is assumed to

// be 0. By including the following "wildcard" list

// record, all other LDNS's (not North or South America

// as specified above) are assigned a score of 1 so

// the acl_threshold does not indicate that the

// virtual servers are down.



0.0.0.0/0 0.0.0.0/0 1



}

Understanding cur_ values

You may notice several cur_ values in your wideip.conf file. The purpose of cur_ values is to pre-load the database with previously collected statistics and metrics. The collected statistics and metrics are useful if you want to quickly restart a 3DNS Controller without a temporary loss of intelligence.

Do not edit these statements unless you are a very experienced 3DNS Controller user, or you are instructed to do so by F5 technical support.

How cur_ values are used

To understand how cur_ values are used, you must first have a basic understanding of the 3DNS database.

The 3DNS database contains collected statistics and metrics. This collected information, and the specified load balancing mode, is used to determine how to distribute client requests. At each interval specified in the globals sync_db_interval sub-statement, the database is updated with a new configuration dump file, called /var/run/wideip.out. The wideip.out file contains the most recent statistics, including cur_ values.

If both a cur_ value and an existing statistic or metric refer to the same thing, the cur_ value overwrites the existing information when named reads the /var/run/wideip.in file as part of the database synchronization that a data copier performs each sync_db_interval seconds.

You may notice cur_ values in bigip, host, vs, path, or wideip definitions. Examples for each type of definition follow.

Example: bigip definition

bigip {

// New York BIG/ip Controller

address 192.168.101.40

cur_packet_rate 139

cur_ok 1

[virtual server definitions]

}

In the above example, the cur_ values indicate the following.

Parameter Description
cur_packet_rate The number of packets per second sent during the last sample period.
cur_ok The state of the specified BIG/ip Controller. The options are: 1 (Up), 2 (Down), 3 (Waiting), 4 (Alert), and 5 (Panic).

Example: host definition

host {

// New York host

address 192.168.105.40

probe_protocol icmp

prober 192.168.103.40 // Use the prober in Tokyo

cur_ok 2

[virtual server definitions]

}

In the preceding example, the cur_ value indicates the following:

Parameter Description
cur_ok The state of the specified host machine. The options are: 1 (Up) and 2 (Down).

Example: vs definition

vs {

address 192.168.102.50:80

cur_serv_cnt 1

cur_connections 0

cur_picks 39

cur_refreshes 783

}

In the above example, the cur_ values indicate the following:

Parameter Description
cur_nodes_up The number of active servers serving the specified virtual server.
cur_connections The number of connections to the specified virtual server.
cur_picks The number of times the specified virtual server was returned by the 3DNS Controller.
cur_refreshes The number of times the server and connection counts were refreshed with new data from a BIG/ip Controller.

Example: path definition

path {

address 10.25.50.100 // LDNS

cur_rtt 102382

cur_completion_rate 10000

cur_picks 239

cur_accesses 302

}

In the above example, the cur_ values indicate the following:

Parameter Description
cur_rtt The round trip time (RTT), which is a calculation of the time (in microseconds) that the specified machine takes to respond to a probe issued by the 3DNS Controller.
cur_completion_rate The percentage of completed packets versus lost packets, using this equation:
[1 - (packets received / sent)] X 10000.
cur_picks The number of times this path's data resulted in the corresponding BIG/ip Controller's virtual server being chosen for a connection. This only applies if a wide IP is doing dynamic load balancing (using path data).
cur_accesses The number of times this path was considered when performing dynamic load balancing.

Example: wide IP definition

wideip {

address 192.168.102.70

name "www.domain.com"

port 80

cur_preferred 143982

cur_alternate 108090

cur_fallback 130094

cur_returned_to_dns 23872

[virtual server definitions]

}

In the above example, the cur_ values indicate the following:

Parameter Description
cur_preferred The number of times the specified wide IP was resolved by the preferred load balancing mode.
cur_alternate The number of times the specified wide IP was resolved by the alternate load balancing mode.
cur_fallback The number of times the specified wide IP was resolved by the fallback load balancing mode.
cur_returned_to_dns The number of times the specified wide IP couldn't find a suitable virtual server to return using the preferred, alternate, or fallback load balancing modes. In this situation, the 3DNS Controller returns the wide IP key (fallback address) as specified in the zone file.

Note: To find out how many times the 3DNS Controller received resolution requests for this wide IP, add the values for cur_preferred, cur_alternate, and cur_fallback.