[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Policy-based routing sur une interface virtuelle configurée par DHCP



Bonjour,

Je souhaite mettre en place un serveur sous Bullseye, "auto-configurable faisant office de double passerelle réseau vers Internet".

Par auto-configurable, j'entends ici que:
1.les 2 interfaces WAN se configurent pas DHCP,
2. je veux éviter d'avoir à scripter le client DHCP lire et réutiliser les adresses reçues.

Le serveur possède une seule interface Ethernet physique.
Sur cette interface physique, on définit 3 interfaces virtuelles (VLAN):
- une première vers le LAN
- une seconde vers Internet.
- une troisième vers Internet.
Le serveur est connecté à un commutateur lui-même connecté au LAN et aux 2 boxes des opérateurs fonctionnant en mode bridge.

LAN -----------------------------------|
                                          |
Internet ---- Box1 ----- Commutateur ----- Serveur
                                          |
Internet ---- Box2 -----------------|


J'arrive à configurer l'interface vers Box2 en utilisant les adresses fournies par le 2ème opérateur mais je n'arrive pas à la configurer en n'utilisant que le nom de l'interface virtuelle utilisée.

Qui a déjà résolu quelque chose d'analogue ?

Voici ce que j'obtiens:

- la 3ème interface se nomme ens3.125
- dans mon labo, elle reçoit l'adresse 192.168.33.240/24 d'une passerelle en 192.168.33.1
- le serveur est une VM KVM
- je teste avec une commande équivalente à ssh foo@192.168.33.240

- ce qui marche

ip rule flush table2
ip rule add from 192.168.33.0/24 lookup table2

- ce qui ne marche pas:

ip rule flush table2
ip rule add iif ens3.125 lookup table2
ip rule add oif ens3.125 lookup table2

Quand ça ne marche pas j'observe que:
- la demande SSH est bien reçue sur l'interface ens3.125 et que la réponse est émise via la 2ème interface.

J'ai pensé que le problème venait du fait que les 3 interfaces virtuelles partageait la même adresse MAC.
J'ai fourni une adresse factice (ip link add link ens3 name ens3.125 address 00:0c:29:ed:ff:ff type vlan id 125) à la 3ème interface sans plus de succès.

J'ai aussi essayé le marquage via nftables sans succès, pour l'instant car je maîtrise mal les outils de nftables

add rule ip mangle prerouting iifname "ens3.125" counter meta mark set 0x2

ip rule flush table2
ip rule add fwmark 2 lookup table2


Je suis un peu a cours d'idées.

Slts

Reply to: