Using PEPSal alongside OpenSAND requires no specific configuration in order to work. This page shows an example of a typical use-case.
The image below depicts the architecture used.
OpenSAND is installed on three machines, ST, GW and SAT. These machines are linked by the OpenSAND emulation network; when the emulation is running (on IP mode), the GW and ST are linked via a tunnel, through the interface
opensand_tun on each of these machines. Two workstations are connected to the LAN networks of the ST and GW, and act as client and server, respectively.
In order to accelerate the traffic that passes through the OpenSAND tunnel, PEPSal must be installed on the ST and on the GW.
To capture the traffic that passes between the ST and the GW, then all the traffic that enters via
opensand_tun and the LAN interface must be redirected toward PEPSal on each machine. The rules to add on each of the GWs and STs:
iptables -A PREROUTING -t mangle -p tcp -i opensand_tun -j TPROXY --on-port 5000 --tproxy-mark 1
iptables -A PREROUTING -t mangle -p tcp -i lan_interface -j TPROXY --on-port 5000 --tproxy-mark 1
lan_interface must be replaced by the real name of the OpenSAND LAN interface on the machine. In order to route the packets to the local PEPSal socket, the following commands must also be executed:
ip rule add fwmark 1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
For more information about these commands, refer to the user manual .
Finally, if the GW is to be used as the network gateway by the ST (or the WS-ST), then all the traffic on OpenSAND must be redirected to the GW, and translated with NAT. To redirect all trafic via the GW on OpenSAND, with the advanced mode enabled, go to the Configuration tab, and then click on Advanced. On the Topology tab, Sarp section, set
0. To NAT the traffic on the GW, coming from the ST, add the following
iptables -A POSTROUTING -t nat -s X.X.X.X/X_IP -o out_interface -j MASQUERADE --random
X.X.X.X/X must be replaced by the ST LAN network address (for example, 192.168.19.0/24), and
out_interface by the interface connecting the GW to the external network.