This document explains how to run Jool in EAM mode (which actually more than a “mode” is simply stock SIIT with records in the EAM table). Follow the link for more details on what to expect. See also the EAMT RFC summary for more details on how the EAMT works.
Stock mode is faster to configure and you’re encouraged to learn it before, particularly because I will not ellaborate here on the steps which both modes have in common. Software-wise, you need a successful installation of both the kernel moduleand the userspace application for EAM.
Nodes V through Z have the exact same configuration from the previous document.
Remember you might want to cross-ping T vs everything before continuing.
Unlike pool6, it is not practical to insert the entire EAM table in a single command, so we instruct Jool to start disabled. We then insert the EAM table rows, one by one, using the userspace application. When the table is complete, we tell Jool it can start translating traffic (--enable).
Using disabled and --enable is not actually neccesary; Jool will naturally figure out that it cannot translate traffic until the EAM table and/or pool6 are populated. The reason why Jool was “forced” to remain disabled until the table was complete was so there wouldn’t be a timespan where traffic was being translated inconsistently (ie. with a half-complete table).
And again, the IPv6 prefix and the EAM table are not exclusive operation modes. Jool will always try to translate an address using EAM, and if that fails, fall back to use the prefix. Add pool6 during the modprobe if you want this.
How about hooking up a server in Y and access it from D:
Then maybe another one in B and request from X:
Same as in the previous walkthrough.
More complex setups might require you to consider the MTU notes.
The modprobe insertion and removal mechanism is fine if all you need is a simple single SIIT, but if you want to enclose it in a network namespace, or need multiple Jool instances in a single machine, check out --instance.
Please note that none of what was done in this tutorial survives reboots! Documentation on persistence will be released in the future.