Hello
I finally took the time to activate IPv6 in my jabberd (2.2.17)
installation. My systems are running with IPv6 since many years
and jabberd is one of the last services, which still was running
on IPv4 only. After many trial and errors I got it partly
running. When I did set <ip>::</ip> instead of <ip>0.0.0.0</ip>
in u2s.xml and s2s.xml it was listening on IPv6, but not on IPv4
any more. After I did activate IPv4 mapped IPv6 addresses
('sysctl net.inet6.ip6.v6only=0', or adding
'ipv6_ipv4mapping="YES"' to /etc/rc.conf to activate at boot
time) jabberd was listening on IPv4 + IPv6.
But this causes other problems on my system, which is also a NFS
server, see FreeBSD PR #177781 "rpc.statd / rpc.lockd do not
start when used with -p option and ipv6_ipv4mapping="YES" is set
in /etc/rc.conf" [1]. This report is from an other system of
mine, with other software in use, where the current used version
needs this mapping, but this is fixed in a newer version, which
will obsolete this mapping.
[1] http://www.freebsd.org/cgi/query-pr.cgi?pr=177781
I tried an other approach with setting up a second c2s (and also
s2s) instance. A second c2s which is only listening on IPv6 is
working fine. But I also would like to have second s2s which is
working only on IPv6. But as I do understand, this is not easily
possible, or only if I would probably create manual routing
entries for some domains to force them over the IPv6 enabled s2s.
So my question is, is there an other / better approach to have
this running more flexible? Or would it be possible to change /
fix jabberd, that it does not need this IPv4 mapped IPv6
addresses any more?
netstat output with IPv4 mapped IPv6:
tcp46 0 0 *.5222 *.* LISTEN
tcp46 0 0 *.5269 *.* LISTEN
netstat output with native IPv4 + IPv6 (with 2x u2s and 1x s2s
with IPv4 only). All other daemons / services, e.g. like sshd,
are doing it this way:
tcp4 0 0 *.5222 *.* LISTEN
tcp6 0 0 *.5222 *.* LISTEN
tcp4 0 0 *.5269 *.* LISTEN
bye
Fabian