|IPADDRSEL(8)||Maintenance Commands and Procedures||IPADDRSEL(8)|
/usr/sbin/ipaddrsel -f file
The unmodified policy table is valid for all typical IPv6 deployments. Modify the table only if a circumstance exists for which the default behavior of the IPv6 source address selection or destination address ordering mechanism is unsatisfactory. See the section for examples of such circumstances. You should carefully consider your addressing strategy before you change the table from the provided default.
When the ipaddrsel command is issued without any arguments, the address selection policy currently in use is printed. The format of the output is compatible with the format of the configuration file that the -f option accepts.
prefix/prefix_length precedence label [# comment]
The prefix must be an IPv6 prefix in a format consistent with inet(3C). The prefix_length is an integer ranging from 0 to 128. The IPv6 source address selection and destination address ordering algorithms determine the precedence or label of an address by doing a longest-prefix-match lookup using the prefixes in this table, much like next-hop determination for a destination is done by doing a longest-prefix-match lookup using an IP routing table.
The precedence is a non-negative integer that represents how the destination address ordering mechanism will sort addresses returned from name lookups. In general, addresses with a higher precedence will be in front of addresses with a lower precedence. Other factors, such as destinations with undesirable source addresses can, however, override these precedence values.
The label is a string of at most fifteen characters, not including the NULL terminator. The label allows particular source address prefixes to be used with destination prefixes of the same label. Specifically, for a particular destination address, the IPv6 source address selection algorithm prefers source addresses whose label is equal that of the destination.
The label may be followed by an optional comment.
The file must contain a default policy entry, which is an entry with ::0/0 as its prefix and prefix_length. This is to ensure that all possible addresses match a policy.
example# ipaddrsel -d example# ipaddrsel > /etc/inet/ipaddrsel.conf
The following example is the default policy that is located in /etc/inet/ipaddrsel.conf:
# Prefix Precedence Label ::1/128 50 Loopback ::/0 40 Default ::ffff:0.0.0.0/96 35 IPv4 2002::/16 30 6to4 2001::/32 5 Teredo fc00::/7 3 ULA ::/96 1 IPv4_Compatible fec0::/10 1 Site_Local 3ffe::/16 1 6bone
Example 2 Assigning a Lower Precedence to Link-local and Site-local Addresses
By default, the destination address ordering rules sort addresses of smaller scope before those of larger scope. For example, if a name resolves to a global and a site-local address, the site local address would be ordered before the global address. An administrator can override this ordering rule by assigning a lower precedence to addresses of smaller scope, as the following table demonstrates.
# Prefix Precedence Label ::1/128 50 Loopback ::/0 40 Default 2002::/16 30 6to4 fec0::/10 27 Site-Local fe80::/10 23 Link-Local ::/96 20 IPv4_Compatible ::ffff:0.0.0.0/96 10 IPv4
Example 3 Assigning Higher Precedence to IPv4 Destinations
By default, IPv6 addresses are ordered in front of IPv4 addresses in name lookups. ::ffff:0.0.0.0/96 has the precedence of 35 in the default table. In the following example, IPv4 addresses are assigned higher precedence and are ordered in front of IPv6 destinations:
# Prefix Precedence Label ::1/128 50 Loopback ::/0 40 Default ::ffff:0.0.0.0/96 60 IPv4 2002::/16 30 6to4 2001::/32 5 Teredo fc00::/7 3 ULA ::/96 1 IPv4_Compatible fec0::/10 1 Site_Local 3ffe::/16 1 6bone
Example 4 Ensuring that a Particular Source Address is Used
This example ensures that a particular source address is used only when communicating with destinations in a particular network.
The following policy table assigns the label "ClientNet" to a particular source address on the local system, 2001:1111:1111::1. The table assigns the same label to a network, 2001:2222:2222::/48. The result of this policy is that the 2001:1111:1111::1 source address will only be used when communicating with destinations contained in the 2001:2222:2222::/48 network. For this example, this network is the ClientNet, which could represent a particular client's network.
# Prefix Precedence Label ::1/128 50 Loopback 2001:1111:1111::1/128 40 ClientNet 2001:2222:2222::/48 40 ClientNet ::/0 40 Default 2002::/16 30 6to4 ::/96 20 IPv4_Compatible ::ffff:0.0.0.0/96 10 IPv4
This example assumes that the local system has one physical interface, and that all global prefixes are assigned to that physical interface.
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
example# /usr/sbin/nscd -i ipnodes
|March 30, 2022||OmniOS|