Effectivement, ça ne peut pas marcher avec cette config :
modify balance_data {
rule 10 {
action modify
description "do NOT load balance lan to lan"
modify {
table main
}
}
Là, tu indiques que ce qui passe par le groupe de load-balancing "balance_data" doit être envoyé à la table de routage principale. Une fois ça lu, le firewall s'arrête et donc ce qui suit n'est pas exécuté.
Note que la règle 100 est identique ! Il manque une destination dans ces deux règles pour que ce soit fonctionnel

modify balance {
rule 10 {
action modify
description "do NOT load balance lan to lan"
destination {
group {
network-group PRIVATE_NETS
}
}
modify {
table main
}
}
rule 100 {
action modify
description "do NOT load balance destination public address"
destination {
group {
address-group ADDRv4_eth8
}
}
modify {
table main
}
}
rule 110 {
action modify
description "do NOT load balance destination public address"
destination {
group {
address-group ADDRv4_eth9
}
}
modify {
table main
}
}
}
modify balance_data {
rule 10 {
action modify
description "do NOT load balance lan to lan"
modify {
table main
}
}
rule 100 {
action modify
description "do NOT load balance destination public address"
modify {
table main
}
}
rule 110 {
action modify
description "do NOT load balance destination public address"
modify {
lb-group LB_Data
}
}
}
Je ne comprends pas l'intérêt de cette règle qui, affectée à switch0, ne fait au final rien du tout à part tout rediriger vers la table de routage main, ce qui déjà le cas par défaut ? Un reste de copier/coller du tuto Ubiquiti lors d'un précédent test ?
Niveau table de routage :
protocols {
static {
route 0.0.0.0/0 {
next-hop 192.168.10.254 {
distance 1
}
next-hop 192.168.151.250 {
distance 2
}
}
}
}
Les deux routes étant déclarées statiques, le hop 192.168.151.250 ne sera jamais déclenché, même sans connectivité.
Du coup, j'effacerai tes groupes de load-balancing et tes routes statiques pour les remplacer comme suit (non testé, je tape ça comme ça me vient à l'esprit) :
# On met la route par défaut de tout ce qui ne sera pas balancé dans la table main
set protocols static route 0.0.0.0/0 next-hop 192.168.10.254
set firewall modify balance_data rule 10 description "On ne balance pas les adresses privées"
set firewall modify balance_data rule 10 action modify
set firewall modify balance_data rule 10 destination group network-group PRIVATE_NETS
set firewall modify balance_data rule 10 modify table main
# Inutile de mettre des règles concernant les IP de eth8 et eth9, elles sont dans le range 192.168.0.0/16, donc dans PRIVATE_NETS
set firewall modify balance_data rule 100 action modify
set firewall modify balance_data rule 100 modify lb-group LB_Data
# On active le load-balancing Data sur eth3
set interfaces ethernet eth3 firewall in modify balance_data
set firewall modify balance_voix rule 10 description "On ne balance pas les adresses privées"
set firewall modify balance_voix rule 10 action modify
set firewall modify balance_voix rule 10 destination group network-group PRIVATE_NETS
set firewall modify balance_voix rule 10 modify table main
# Inutile de mettre des règles concernant les IP de eth8 et eth9, elles sont dans le range 192.168.0.0/16, donc dans PRIVATE_NETS
set firewall modify balance_voix rule 100 action modify
set firewall modify balance_voix rule 100 modify lb-group LB_Data
# On active le load-balancing Voix sur eth4
set interfaces ethernet eth4 firewall in modify balance_voix
commit
save
Et une fois sorti du mode de configuration, vérifier les routes comme suit :
# On liste les tables créées par le système de load-balancing. Elles ont un nom > 200
ip route show table all | grep -Po 'table \K[^\s]+' | sort -u
# Puis on affiche les routes une à une
show ip route table [Le numéro ici]