Trouver le problème que lorsque les 3 liens appartenant au même réseau, et si le lien avec la priorité la plus élevée est tombé, les deux autres sont inutilisables, il a été décidé d'essayer de créer 3 réseaux différents: un Wifi avec hostapd et dhcp avec wpa_supplicant, un autre mon Réseau LAN qui est le filaire connecté à mon routeur, et l'un des réseaux de liaisons radio entre les deux LoSick. Cela a résolu le problème de connectivité en cas de perte de l'une des liaisons.
Comme vous pouvez le voir, les 3 réseaux qui ont été créés sont les suivants:
Chez Titania, nous avons l'interface câblée à notre LAN avec enp5s0 avec l'ip 192.168.1.5. Pour l'interface Wifi wlo1, nous avons l'ip 192.168.4.3. Et pour l'interface de liaison radio, nous avons l'ip 192.168.3.21.
root@titania:/home/gabriel# ip a
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether a4:5d:36:c9:b0:7b brd ff:ff:ff:ff:ff:ff
inet 192.168.1.5/24 brd 192.168.1.255 scope global dynamic enp5s0
valid_lft 85194sec preferred_lft 85194sec
inet6 fe80::a65d:36ff:fec9:b07b/64 scope link
valid_lft forever preferred_lft forever
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 3c:77:e6:0a:c2:b7 brd ff:ff:ff:ff:ff:ff
inet 192.168.4.3/24 brd 192.168.4.255 scope global wlo1
valid_lft forever preferred_lft forever
inet6 fe80::3e77:e6ff:fe0a:c2b7/64 scope link
valid_lft forever preferred_lft forever
6: ax0: <BROADCAST,UP,LOWER_UP> mtu 70 qdisc pfifo_fast state UNKNOWN group default qlen 10
link/ax25 9c:9e:88:8a:64:40:00 brd a2:a6:a8:40:40:40:00
inet 192.168.3.21/24 brd 192.168.3.255 scope global ax0
valid_lft forever preferred_lft forever
root@titania:/home/gabriel# ip route default via 192.168.1.254 dev enp5s0 default via 192.168.4.150 dev wlo1 metric 600 default via 192.168.3.20 dev ax0 metric 700 192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.5 192.168.3.0/24 dev ax0 proto kernel scope link src 192.168.3.21 192.168.4.0/24 dev wlo1 proto kernel scope link src 192.168.4.3
Dans Mneme, nous avons l'interface câblée à notre LAN avec enp5s0 avec l'ip 192.168.1.77. Pour l'interface Wifi wlo1, nous avons l'ip 192.168.4.150. Et pour l'interface de liaison radio, nous avons l'ip 192.168.3.20.
root@mneme:/home/gabriel# ip a
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b4:b5:2f:78:b1:c7 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.77/24 brd 192.168.1.255 scope global dynamic enp5s0
valid_lft 66537sec preferred_lft 66537sec
inet6 fe80::b6b5:2fff:fe78:b1c7/64 scope link
valid_lft forever preferred_lft forever
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 68:94:23:0b:ce:ef brd ff:ff:ff:ff:ff:ff
inet 192.168.4.150/24 brd 192.168.4.255 scope global dynamic noprefixroute wlo1
valid_lft 430sec preferred_lft 430sec
inet6 fe80::b13a:217:ed6d:28e1/64 scope link noprefixroute
valid_lft forever preferred_lft forever
5: ax0: <BROADCAST,UP,LOWER_UP> mtu 70 qdisc pfifo_fast state UNKNOWN group default qlen 10
link/ax25 9c:9e:88:8a:62:40:00 brd a2:a6:a8:40:40:40:00
inet 192.168.3.20/24 brd 192.168.3.255 scope global ax0
valid_lft forever preferred_lft forever
root@mneme:/home/gabriel# ip route default via 192.168.1.254 dev enp5s0 default via 192.168.4.3 dev wlo1 proto dhcp metric 600 default via 192.168.3.21 dev ax0 metric 700 192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.77 192.168.3.0/24 dev ax0 proto kernel scope link src 192.168.3.20 192.168.4.0/24 dev wlo1 proto kernel scope link src 192.168.4.150 metric 600
Après avoir créé les 3 interfaces avec les 3 réseaux différents, nous procédons au téléchargement d'un fichier volumineux comme dans les autres exemples, de Titania (serveur) vers Mneme (client).
Ifstat Mneme:
Ifstat Titania:
Comme vous pouvez le voir dans les captures d'écran Ifstat, les interfaces ont été coupées une par une et la connectivité a été restaurée sans problème, seulement avec un peu de retard pour rétablir les sous-flux, surtout lorsque la liaison radio était uniquement connectée car elle est plus plus lent que les deux autres.
Dans la capture d'écran Wireshark suivante, vous pouvez voir les différents sous-flux avec les différents réseaux:
Et comme vous pouvez le voir sur l'image, vous pouvez voir le protocole de communication entre les deux PC, qui est Multipath TCP et les threads de flux en même temps à travers trois réseaux différents :
• de 192.168.1.77 (filaire Mneme) : à 192.168.1.5 (filaire Titania), à 192.168.4.3 (Wifi Titania) et 192.168.3.21 (LoRa Titania)
• de 192.168.4.150 (Wifi Mneme) : à 192.168.1.5 (filaire Titania), à 192.168.4.3 (Wifi Titania) et 192.168.3.21 (LoRa Titania)
• de 192.168.3.20 (LoRa Mneme) : à 192.168.1.5 (filaire Titania), à 192.168.4.3 (Wifi Titania) et 192.168.3.21 (LoRa Titania)
et vice versa.