Les grandes étapes pour configurer une balance de charge entre une clé USB 4G (ZTE dans mon cas) et un lien internet type ADSL sur un routeur Ubiquiti EdgeRouter 4.
Première étape :
Le module de la clé n'est pas actif dans le kernel au boot !
1°) Créer le script avec le code ci dessous
vi /etc/init.d/modem.sh
#!/bin/sh -e modprobe cdc_ether ifconfig usb0 up exit 0
2°)chmod
chmod 755 /etc/init.d/modem.sh
3°)charger au boot
update-rc.d modem.sh defaults 01
Seconde étape :
Le routeur ne permet pas de faire de la balance de charge nativement entre une interface ethX et une interface usbX. Pour feinter un peu le truc j'ai donc créé un bridge dans lequel j'ai mis ma clé usb.
1°)Créer le bridge
set interfaces bridge br1
2°)Affecter l'interface USB
brctl addif br0 usb0
Dernière étape:
La configuration de la balance de charge comme décris dans la doc. Dans mon cas j'utilise l'interface eth1 pour le LAN, eth0 pour ADSL et usb0 pour la clé.
configure set firewall group network-group PRIVATE_NETS network 192.168.0.0/16 set firewall group network-group PRIVATE_NETS network 172.16.0.0/12 set firewall group network-group PRIVATE_NETS network 10.0.0.0/8 set firewall modify balance rule 10 action modify set firewall modify balance rule 10 destination group network-group PRIVATE_NETS set firewall modify balance rule 10 modify table main set firewall modify balance rule 20 action modify set firewall modify balance rule 20 destination group address-group ADDRv4_eth0 set firewall modify balance rule 20 modify table main set firewall modify balance rule 30 action modify set firewall modify balance rule 30 destination group address-group ADDRv4_""usb0"" set firewall modify balance rule 30 modify table main set firewall modify balance rule 110 action modify set firewall modify balance rule 110 modify lb-group G set interfaces ethernet ""eth1"" firewall in modify balance set load-balance group G interface eth0 set load-balance group G interface ""usb0"" set load-balance group G lb-local enable set load-balance group G lb-local-metric-change disable commit ; save
Normalement avec tout ça vous devriez avoir une balance de charge entre eth1 et usb0.
En complément, si vous utilisez du NAT vers un serveur web ou autre il faut ajouter une regle qui permet de diriger correctement le trafic vers la bonne sortie internet (celle du nat).
1°)Créer un groupe d'adresse (ici mes serveurs public 192.168.1.2 et .3)
set firewall group address-group NO_BALANCE address 192.168.1.2-192.168.1.3
2°)Créer une règle de routage ou 78.X.Y.Z est votre ip de sortie.
set protocols static table 11 mark 11 set protocols static table 11 route 0.0.0.0/0 next-hop 78.X.Y.Z
3°)Affecter cette règles a celle de la balance du firewall.
set firewall modify balance rule 40 action modify set firewall modify balance rule 40 source group address-group NO_BALANCE set firewall modify balance rule 40 modify table 11
Liens utiles: