This article describes the issue of being unable to ping Google servers, when passing the SRX device. Ping to other globally available servers is successful.
Unable to ping Google servers, when passing the SRX device. Ping to other globally available servers is successful.
By design, all networking devices with IPV6 knowledge generate both A and AAAA query types. This is as per RFC 3596 ; which mentions: "All existing query types that perform type A additional section processing, i.e., name server (NS), location of services (SRV) and mail exchange (MX) query types, must be redefined to perform both type A and type AAAA additional section processing. These definitions mean that a name server must add any relevant IPv4 addresses and any relevant IPv6 addresses available locally to the additional section of a response when processing any one of the above queries." The A record is for IPv4 address mapping to domain name and AAAA is for IPv6 address to domain name mapping. Every IPv6 knowledgeable device generates both the queries. If a DNS server has the record for both the IPv4 and IPv6 address for the domain name, then the server will respond with both A and AAAA responses. The query generating client will use the IPv6 address for the ping or communication, if its NIC has a IPv6 address configured; else it will use the IPv4 address, which was resolved for the domain name for ping or communication. If the NIC has both IPv6 and IPv4 addresses, then by default, the device will give preference to the IPv6 address. In the SRX device, even when no IPv6 address is configured (NIC has only IPv4), it tries to ping the IPv6 resolved address for the domain name. Then the SRX device generates the no route to host error for the IPv6 address. Whereas, when a PC or any other networking device receives both IPv6 and IPv4 addresses, it uses the IPv4 address, which was resolved when it had only the IPv4 address configured on its NIC. This issue with the SRX device is resolved by using the net keyword, during the pinging of domain names, to avoid the usage of the IPv6 address. For example:
> ping google.com inet < for explicitly using the IPv4 address resolved for pinging. > ping google.com or > ping google.com inet6 < for using the IPv6 address to ping.