Multipath WAN Network Testing

To test different network paths from ship to shore using each WAN option directly. For this test we used a fitlet2 computer with 4 Gigibit Ethernet ports.

Hardware Used

fitlet2 J3455 Barebone
16 GB RAM for Fitlet2
512 GB SATA SSD for fitlet2
FC-M2LAN FACET-Card (2x Gbit Ethernet)

Operating System

Ubuntu Mint 20.

Magic Sauce

Edit /etc/network/interfaces and add a static IP for each WAN

auto eth0
iface eth0 inet static
    address [[KA]]
    netmask [[255.255.255.0]]
    network [[KA network IP]]
    broadcast [[KA Broadcast]]
    
    

Edit /etc/iproute2/rt_tables to create local tables

#
# reserved values
#
255    local
254    main
253    default
0    unspec
#
# local
# Create multipath routing tables for Sealink and KA and Cell if available
# A table can also be created to send traffic out the regular ship (via cyberoam and peplink)
1   sealink
2   ka
3   cell
4   ship    

Create /root/bin/multipath.sh

The multipath script needs to be run as sudo, so have installed it in /root/bin

# multipath.sh
# script to add routes out each WAN using tables created above
ip route add default via [[ka static ip]] dev [[ka eth]] table ka
ip route add default via [[sealink static ip]] dev [[sealink eth]] table hsn
ip route add default via [[cell static ip]] dev [[cell eth]] table cell
ip route add default via [[ship static ip]] dev [[ship eth]] table ship

# Add rules to the rules 
ip rule add from [[ka static ip]] table ka
ip rule add from [[sealink static ip]] table hsn
ip rule add from [[cell static ip]] table cell
ip rule add from [[ship static ip]] table ship
ip rule list