Auteur Sujet: Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs  (Lu 111391 fois)

0 Membres et 1 Invité sur ce sujet

aacebedo

  • Abonné Orange Fibre
  • *
  • Messages: 16
  • 95
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #156 le: 31 mai 2018 à 11:43:16 »
Iptables/IpFilter passe en dernier donc c'est lui qui remet à 0 le CoS de tous les paquets qui son initialement en 6 sauf que comme le dhcp est en RAW socket, lui reste en 6 et c'est exactement ce qu'on veut.
Et oui comme je te l'ai dit, à l'intérieur du réseau, aucun problème si ces 2 règles sont présentes.

Ok merci pour toutes ces infos ! Dès que j'ai ma connection je testerai ça.

xes

  • Abonné Orange Fibre
  • *
  • Messages: 39
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #157 le: 31 mai 2018 à 11:43:58 »
Je me demande si ebtables ne pourrait pas régler le problème. Il peut fouiller dans les paquets ethernets et appliquer des rules comme iptables.

http://ebtables.netfilter.org/misc/ebtables-man.html
et plus spécifiquement ça:
http://ebtables.netfilter.org/examples/basic.html#ex_nobridge

Je sais pas. Ca m'étonnerait qu'il agisse sur les RAW sockets...

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #158 le: 31 mai 2018 à 15:20:15 »
Je sais pas. Ca m'étonnerait qu'il agisse sur les RAW sockets...

si avec un bridge ca marche (en théorie):

- on crée un bridge avec dedans une seule interface (la wan)
- on met la config dhcp sur le bridge au lieu de l'interface
- on met une règle ebtables qui envoi sur iptables le trafic dhcp sortant (grace a la table broute: -t broute −j redirect −−redirect−target DROP)
- on met une regle iptables qui CoS 6 le trafic dhcp sortant

probleme c'est que tout le trafic wan devient bridgé ce qui peut impacter les perfs.

xes

  • Abonné Orange Fibre
  • *
  • Messages: 39
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #159 le: 31 mai 2018 à 15:32:01 »
si avec un bridge ca marche (en théorie):

- on crée un bridge avec dedans une seule interface (la wan)
- on met la config dhcp sur le bridge au lieu de l'interface
- on met une règle ebtables qui envoi sur iptables le trafic dhcp sortant (grace a la table broute: -t broute −j redirect −−redirect−target DROP)
- on met une regle iptables qui CoS 6 le trafic dhcp sortant

probleme c'est que tout le trafic wan devient bridgé ce qui peut impacter les perfs.

Faut voir car je viens de regarder et "ebtables" ne semble pas être une commande disponible

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #160 le: 31 mai 2018 à 16:47:09 »
Faut voir car je viens de regarder et "ebtables" ne semble pas être une commande disponible

sur quelle machine ?

xes

  • Abonné Orange Fibre
  • *
  • Messages: 39
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #161 le: 31 mai 2018 à 16:49:28 »
sur quelle machine ?

Sous DD-WRT
Parce que tu comptes faire ca sur quoi ?

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #162 le: 31 mai 2018 à 17:17:01 »
Sous DD-WRT
Parce que tu comptes faire ca sur quoi ?

n'importe quel routeur ou pc sous linux. ce topic n'est pas spécifique a dd-wrt.

a priori ebtables existe aussi sous dd-wrt mais je ne suis pas spécialiste de dd-wrt.

xes

  • Abonné Orange Fibre
  • *
  • Messages: 39
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #163 le: 31 mai 2018 à 17:20:58 »
n'importe quel routeur ou pc sous linux. ce topic n'est pas spécifique a dd-wrt.

a priori ebtables existe aussi sous dd-wrt mais je ne suis pas spécialiste de dd-wrt.

Ah ok, j'avais pas vu que ce n'était plus aacebedo qui me parlait ;-)

aacebedo

  • Abonné Orange Fibre
  • *
  • Messages: 16
  • 95
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #164 le: 31 mai 2018 à 21:43:28 »
ebtables est dispo sur mon DDWRT mais apparemment la version est defecteuse et fige.
Du coup je l'ai récupéré ici https://forum.dd-wrt.com/phpBB2/viewtopic.php?p=1103763#1103763

Maintenant je n'ai pas encore mon boitier fibre mais j'ai tenté de jouer un peu avec le routeur DDWRT quand même et je n'ai pas réussi à capturer les paquets sortants sur l'interface pour vérifier la tronche du paquet sortant. Du coup je ne sais pas si ebtables set correctement la cos.

La commande que j'ai tentée est la suivante:
/tmp/ebtables -A FORWARD -p ipv4 --ip-protocol udp --ip-source-port 67 -j ACCEPT
Je pense qu'il faudrait un truc comme ça
/tmp/ebtables -A FORWARD -i vlanXXX -p ipv4 --ip-protocol udp --ip-source-port 67:68 -j ACCEPT --vlan-prio 6
/tmp/ebtables -A OUTPUT -i vlanXXX -p ipv4 --ip-protocol udp --ip-source-port 67:68 -j ACCEPT --vlan-prio 6

avec vlanXXX le vlan sur lequel on met le port WAN du routeur taggé avec le bon id

Reste à voir si ca vaut les 80€ du switch...

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #165 le: 01 juin 2018 à 00:03:50 »
ebtables est dispo sur mon DDWRT mais apparemment la version est defecteuse et fige.
Du coup je l'ai récupéré ici https://forum.dd-wrt.com/phpBB2/viewtopic.php?p=1103763#1103763

Maintenant je n'ai pas encore mon boitier fibre mais j'ai tenté de jouer un peu avec le routeur DDWRT quand même et je n'ai pas réussi à capturer les paquets sortants sur l'interface pour vérifier la tronche du paquet sortant. Du coup je ne sais pas si ebtables set correctement la cos.

La commande que j'ai tentée est la suivante:
/tmp/ebtables -A FORWARD -p ipv4 --ip-protocol udp --ip-source-port 67 -j ACCEPT
Je pense qu'il faudrait un truc comme ça
/tmp/ebtables -A FORWARD -i vlanXXX -p ipv4 --ip-protocol udp --ip-source-port 67:68 -j ACCEPT --vlan-prio 6
/tmp/ebtables -A OUTPUT -i vlanXXX -p ipv4 --ip-protocol udp --ip-source-port 67:68 -j ACCEPT --vlan-prio 6

avec vlanXXX le vlan sur lequel on met le port WAN du routeur taggé avec le bon id

Reste à voir si ca vaut les 80€ du switch...

--vlan-prio c'est une 'match extension' ca ne sert pas à mettre la prio mais a la tester (comme un pattern matching).

ebtables ne peut changer la prio.

il faut passer par iptables comme  indiquer dans mon post précedent:

Citer
- on met une règle ebtables qui envoi sur iptables le trafic dhcp sortant (grace a la table broute: -t broute −j redirect −−redirect−target DROP)

donc ca donnera un truc du genre:

faire un bridge br0 et mettre l'interface vlanXXX dedans.

ebtables −t broute −A BROUTING −i br0 −p ipv4 −−ip−protocol udp --ip-source-port 68 −j redirect −−redirect−target DROP

ceci va intercepter les dhcp clients entrant dans le bridge (donc quand le process dhcpclient va emettre des "raw socket" sur le bridge br) et les remonter au niveau d'iptables . DROP sur un broute => router le paquet . cf la doc:

Citer
broute is used to make a brouter, it has one built-in chain: BROUTING. The targets DROP and ACCEPT have a special meaning in the broute table (these names are used instead of more descriptive names to keep the implementation generic). DROP actually means the frame has to be routed, while ACCEPT means the frame has to be bridged. The BROUTING chain is traversed very early. However, it is only traversed by frames entering on a bridge port that is in forwarding state. Normally those frames would be bridged, but you can decide otherwise here. The redirect target is very handy here.

le paquet étant routé il arrive sur iptables, c'est la qu'il faut le marquer en QoS.

donc pas confondre le fonctionnement d'iptables et d'ebtables c'est pas trop la meme chose.
lecture: http://ebtables.netfilter.org/br_fw_ia/br_fw_ia.html (oui je sais c'est pas simple:))

aacebedo

  • Abonné Orange Fibre
  • *
  • Messages: 16
  • 95
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #166 le: 01 juin 2018 à 21:25:10 »
Merci pour cette doc !

Donc si je résume  je fais ca pour router les packets DHCP sortant sur socket raw par ebtables vers iptables:
ebtables −t broute −A BROUTING −i br0 −p ipv4 −−ip−protocol udp --ip-source-port 68 −j redirect −−redirect−target DROP
puis ça pour tagger les paquets sortants en cos 6 :
iptables -t mangle -I POSTROUTING -o br0 -j CLASSIFY --set-class 0:6  -p udp --sport 68 --dport 67

Me reste plus qu'a attendre l'installation de la fibre pr tester.

Mark5

  • Abonné Orange Fibre
  • *
  • Messages: 148
  • MULHOUSE68
Switch GS108Tv2 pour prendre en charge la CoS devant les routeurs
« Réponse #167 le: 17 juin 2018 à 13:23:53 »
Petit retex concernant le GS716Tv3 (j'avais un v2 jusqu'à hier).

- Quelques trucs en plus (routage/protected port/MVR)
- Un temps de boot multiplié par 2, voire 3 (environ 1m30, c'est looooooong)
- Refroidissement passif (0 Db, du bonheur)
- L'interface web est beaucoup plus réactive

Malheureusement, pas de progrès du coté DiffServ (donc toujours pas de possibilité de marquage CoS6 en IPv4 et en IPv6 en simultané).
Le système de "protected port" n'a aucun intérêt pour moi.
En effet, on peut juste marquer les ports comme protégés (ou pas), et il n'y a alors aucune communication possible entre deux ports protégés.
Je ne vois qu'une application à ça : l'isolation des clients (qui m'est déjà offerte en WiFi par mon contrôleur Unifi)

Je vais un peu me pencher sur l'aspect routage du bouzin pour voir si ça a un intérêt quelconque, mais comme ça, à froid, je vois pas.

En résumé, rien de vraiment folichon, mais c'était principalement les 0 db qui me faisaient de l'oeil.