...
- Network View: From the drop-down list, select the network view in which your conversion rule will take effect. Note that this rule applies only to objects in the selected network view. If you have multiple network views, you must configure a separate policy for each network view.
- Template: Define a naming template that Network Insight uses to automatically create DNS records for the unmanaged IP addresses in the network view. You can use the following syntax: ${substitution}, where substitution can be a supported variable or function. Note that each IPv6 address substitution is unwrapped into dotted presentation. For information about supported variables and functions, see Supported Conversion Parameters.
For example, when you enter${discovered_name}.corpxyz.com
and the discovered_name for the asset isXYZ
, the DNS name for this IP becomesXYZ.corpxyz.com
. When you enter$dev-{ip_address_octet3}.corpxyz.com
and the IP for the assetis2dba::db8::1
, the DNS name for this IP becomesdev-3.corpxyz.com
. When you enter${ip_address[7]}.corpxyz.com
for an IPv6 address and if the IP for the asset is2001:db8:acad::1
, the DNS name becomesb.corpxyz.com
.
You can also use the following functions in the naming template: dashed, reversed, and underscored. For example, when you enter${dashed(${ip_address})}-corpxyz.com
and the IP is 1.2.3.4, the DNS name becomes1-2-3-4-corpxyz.com
. When you enter${reversed(${ip_address})}-corpxyz.com
and the IP is1.2.3.4
, the DNS name becomes4.3.2.1-corpxyz.com
. Conditions: Enter the matching conditions for the conversion rule. You can use magic variables, supported variables, operators, and functions in the condition. When Network Insight finds IP addresses that match this condition, it will convert the IP addresses into DNS records (Hosts, A/PTR records, or fixed addresses) based on your selected conversion type. For information about supported parameters, see Supported Conversion Parameters.
For example, if you want to match IP addresses that do not have an FQDN in thediscovered_name
, you can enter this condition:${isFQDNis_FQDN(${discovered_name})} == false AND ${discovered_name} == 'unknown'
. If you want to match devices from the network137.65.75.0/24
with the name starting with "Serial0
", you can enter this condition:${ip_belongs_to("137.65.75.0/24")} == true AND ${discovered_name} like "Serial0"
.
Conversion Type: From the drop-down list, select the DNS record type that you want Network insight to convert the unmanaged IP addresses into. You can convert an unmanaged IP into Host, A/PTR, or Fixed Address. When you select A/PTR, Network Insight converts each IP into A and PTR records simultaneously.
Comment: Enter description about this policy to distinguish it from others. For example, if the policy is used to identify and convert IP addresses withdiscovered_name
that does not contain an FQDN, you can enter "No FQDN in discovered_name." as the comment to remind yourself about this conversion rule.
...
Operators always result in boolean value: true or false. Therefore, you can use them only in logical expressions.
Name | Left Value (lvalue) | Right Value (rvalue) | Example | Description |
---|---|---|---|---|
LIKE | variable | string (regular expression in extended format) | ${discovered_name} like "[vV]m-[0-9]+.devnet.org" | Evaluates as true if the lvaluevariable matches the given regular expression rvalue; otherwise false |
== | variable | string | ${ip_address} == "167.45.13.29" | Evaluates to true if the lvalue variable equals to rvalue string literal, false otherwise |
!= | variable | string | ${mac_address} != "00:50:56:00:00:01" | Evaluates to true if the lvalue variable is not equal to rvalue string literal, false otherwise |
Table 15.4 Supported Functions or Predicates for Conversion Rules
Predicates accept either none or one argument. Depending on the predicate, it could accept both variables and strings or only one of them. The predicate can be compared only to boolean value: true or false.
Name | Argument Type | Example | Description |
---|---|---|---|
is_interface | N/A | ${is_interface} == true | Check discovered data in an interface. It validates the mgmt_ip_address variable. |
is_ipv4 | N/A | ${is_ipv4} == true | Check to see if the variable ip_address is an IPv4 address. |
is_ipv6 | N/A | ${is_ipv6} == false | Check to see if the variable ip_address is an IPv6 address. |
is_belongs_to | string | ${ip_belongs_to("10.0.0.0/8")} == false | Check to see if the ip_address variable belongs to the given IPv4 or IPv6 network range. |
is_fqdn | variable | ${is_fqdn(${discovered_name})} == true | Check to see if the given variable is an FQDN. |