My Oracle Support Banner

How To Configure Support For Large Number Of IP Addresses In PORT_ACCESS Mapping And IPv6? (Doc ID 2846220.1)

Last updated on MAY 31, 2023

Applies to:

Oracle Communications Messaging Server - Version 8.1.0 and later
Information in this document applies to any platform.

Goal

1. For approximately four years, the following example has been in use: "Expression substitutions, $`..'"

This has performed great for IPv4 client addresses, but... what about IPv6?

Both PORT_ACCESS and INTERNAL_IP are calling a table called "IPCHECK", which follows the example mentioned above.
The IPCHECK table has 25 rows, checking prefix lengths /32 thru /8.

Currently, there are IPv6 ranges that need to be identified as "internal" with prefix lengths ranging from /32 to /64.
An option for this would be to change IPCHECK to detect whether it is an IPv4 address or IPv6 and call an appropriate new table to do the IPv4 (as is being done now) or IPv6.
That would be 33 rows/lookups in the IPv6 table if the same strategy was replicated.

It is assumed that that is only 8 more rows/lookups in the IPv6 path.

Is there any other way to do this?

2. Assuming there is no better way to do it than similar to the IPv4 example, how can a pattern like $H*:$H*:$H*:$H*:$H*:$H*:$H*:$H* match when the client address has some of the parts missing?

For example, when connecting to port 25 on localhost6, the log shows tr="TCP|::1|25|::1|34180".
"::1" won't match the above pattern because it only has two ':'.

Or if the connection is made to the full IPv6 address of the system, the log shows tr="TCP|2620:149:71:8043::a|25|2620:149:71:8043::a|43310" which only has 5 ':'.
Will prefixes ever contain fields of all zeros?
And if so, will clients ever have addresses with fields of all zeros adjacent to the all-zero fields of the prefix?

For example, could a prefix like 1:2::/48 be used and then a client with an address of something like 1:2::3?

The current IPV6CHECK mapping table being used would have trouble parsing that client address to match it to the 1:2::/48 entry in the general.txt.
 

Solution

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Goal
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.