Installed OF in a new VM which is set up to use only IPv4 on its interface, but it cannot connect to its MySQL DB because it tries to do so over IPv6 which is not allowed on the network.
IPv6 is literally unchecked on the interface settings.
The MySQL host address is entered as IPv4. Am at a loss to understand where IPv6 comes from.
So, the new VM’s address is 192.169.28.14.
The MySQL VM’s address is 192.169.27.180
The JDBC connection string has it as /192.169.27.180:3306/. All as IPv4 as it can get.
Yet in the FW logs I can see blocked attempts from one IPv6 address to another IPv6 address.
Tried _JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true but it is still doing the same. Do you override this option in the code by any chance? I do not think so because it works on the current VM.
Tried disabling IPv6 on the OS level by the registry flag, but it is still doing that. Nasty, eh?
Also I can see System and other Microsoft’s crap dialing home, all on IPv4 addresses, as expected. So, OF seems to be doing it but nothing else.
Openfire, prior to the upcoming 5.0.0 release, doesn’t have much of an explicit support for IPv6. Any support that it has is a byproduct of operating-system and Java-provided support.
Apart from that, I’m not sure what could be causing this. Maybe it’s something in your OS? If this is specific to only your database connection, then maybe it’s something specific to the Java database driver that you’re using? Nothing pops to mind, but it might be worth having a browse through its documentation.
Openfire ships with a bunch of database drivers. The one that is in use will be determined by the type of database that you’re using and the content of the database connection configuration string that was configured in Openfire.