joold(8) | NAT64 Jool's Session Synchronization Daemon | joold(8) |
joold - Userspace Session Synchronization (SS) daemon for NAT64 Jool.
Opens two sockets: A Netlink socket to the current namespace's NAT64 Jool instance, and a network TCP socket to other/remote joold instances. Exchanges sessions indiscriminately between them.
The intent is to keep the NAT64 session databases synchronized for the sake of having backup fallback NAT64s.
The setup is strongly recommended to be Active/Passive; Active/Active is technically allowed, but not very reliable.
Running the daemons is not enough to have successful session synchronization; SS needs to be enabled in the kernel instances as well. (See the --ss-* flags described in jool(8).)
Linux is the only OS in which this program makes sense.
Kernels 4.14 and up.
joold [FILE]
The file is a JSON-formatted collection of keyvalues.
IPv6 version:
$ # All Jool instances should have the basic configuration.
$ jool --file same-config-as-everyone-else.json
$
$ # Configure the SS interface
$ ip addr add 2001:db8:ff08::4/96 dev eth0
$ ip link set eth0 up
$
$ # joold
$ cat ipv6-netsocket.json
{
"multicast address": "ff08::db8:64:64",
"multicast port": "6464",
"in interface": "eth0",
"out interface": "eth0",
"reuseaddr": 1,
"ttl": 3
}
$ joold ipv6-netsocket.json &
IPv4 version:
$ # All Jool instances should have the basic configuration.
$ jool --file same-config-as-everyone-else.json
$
$ # Configure the SS interface
$ ip addr add 192.0.2.1/24 dev eth0
$ ip link set eth0 up
$
$ # joold
$ cat ipv4-netsocket.json
{
"multicast address": "233.252.0.64",
"multicast port": "6464",
"in interface": "192.0.2.1",
"out interface": "192.0.2.1",
"reuseaddr": 1,
"ttl": 3
}
$ joold ipv4-netsocket.json &
Zero on success, non-zero on failure.
NIC Mexico & ITESM
https://github.com/NICMx/Jool/issues
1. reuseaddr should probably default to 1...
2. Maybe the daemon should be able to automatically enable SS on the kernel
module.
To be perfectly honest, the main reason why fixing this isn't in the radar is because joold is giving me the impression that nobody is using it.
Copyright 2023 NIC Mexico.
License: GPLv2 (GNU GPL version 2)
This is free software: you are free to change and redistribute it. There is NO
WARRANTY, to the extent permitted by law.
https://nicmx.github.io/Jool/en/session-synchronization.html https://nicmx.github.io/Jool/en/config-joold.html https://nicmx.github.io/Jool/en/usr-flags-joold.html
2023-12-22 | v4.1.11 |