Storage name resolution methods and protocol caveats
Several methods to resolve storage service hosts
CDRouter Storage allows a test engineer to execute various storage protocol tests against a storage-enabled device. In order for CDRouter to know the IP address of the storage service to be tested, it must either be told with an explicit IP address, or be given a DNS or NetBIOS name, or discover it using multicast DNS (disabled by default, with instructions to enable it included below). Each name resolution protocol is available for IPv4 and IPv6, with the exception that NetBIOS is not available for IPv6.
The protocols attempt to resolve a name to an address using mDNS, then DNS, and then NetBIOS, repeating once on failure.
We detail some example configurations using smbuser
testvar_groups,
however ftpuser
testvar_groups use an identical ftpuser::server
testvar.
IPv4 Naming Options
IPv6 Naming Options
How to specify an IPv4 address explicitly
To give a service an explicit IPv4 address, set the server testvar to the exact IPv4 address:
testvar_group smbuser1 {
testvar server 192.168.1.1
testvar share my_share
testvar folder ""
testvar user my_user
testvar password my_password
testvar permission ReadWrite
}
How to specify an IPv6 address explicitly
To give a service an explicit IPv6 address, set the smbuser::server
testvar to the exact IPv6 address:
testvar_group smbuser1 {
testvar server 3001:cafe::1
testvar share my_share
testvar folder ""
testvar user my_user
testvar password my_password
testvar permission ReadWrite
}
How to create a DNS entry
There are two ways you can create a DNS entry. The first method is to have your device serve the DNS record. The DHCP Client CDRouter creates will be configured with a DNS server and use this for resolving hosts. If your device allows for host names to be configured, you can configure the service names here.
The second method assumes that the device will forward DNS queries to
the WAN side DNS server, which is configured in CDRouter. You can
create custom DNS entries for your service hosts and they will be
passed back to the LAN client via DNS forwarding in the LAN side DNS
forwarding service. To create a DNS host that will resolve to both
IPv4 and IPv6 records, you can list both in the dnsHostname
and dnsIp
testvars:
testvar_group smbuser1 {
testvar server my-host
testvar share my_share
testvar folder ""
testvar user my_user
testvar password my_password
testvar permission ReadWrite
}
testvar dnsHostname1 my-host
testvar dnsIp1 “192.168.1.1 3001:cafe::1”
How to useNetBIOS
NetBIOS works over the IPv4 protocol but is not supported on IPv6. If you specify a host that resolves under NetBIOS on IPv4, but the service is running on only IPv6, you will receive an error because CDRouter is unable to determine the address of the service.
The configuration looks identical to a DNS based configuration. CDRouter will attempt to use both protocols to learn the IP address of the host.
testvar_group smbuser1 {
testvar server my-host
testvar share my_share
testvar folder ""
testvar user my_user
testvar password my_password
testvar permission ReadWrite
}
How to Enable and Use mDNS
By default CDRouter will use DNS followed by NetBIOS (IPv4 only) to
resolve the IP address of the SMB or FTP server under test. CDRouter
can also be configured to use Multicast DNS (mDNS) by setting the
testvar useMulticastDNS
to yes
. When this testvar is
enabled, CDRouter will try mDNS, then DNS, and finally NetBIOS. If all
three methods are unsuccessful, CDRouter will try them all one more
time before aborting the test case.
testvar useMulticastDNS yes