[OpenBSD] Routage multicast

Le
Bastien Durel
Bonjour,

Je dispose dans mon réseau d'un routeur OpenBSD 4.5 avec 4 interfaces
(WAN, Serveurs, LAN, Wifi).
Je voudrais que les 3 derniers puissent communiquer en multicast.

Le routeur utilise déjà du multicast car il fait du RIP (224.0.0.9:route)

Pour ce faire, j'ai installé dvmrpd, configuré comme suit :
[root@fremen root]# cat /etc/dvmrpd.conf
group {
interface re0 {
}
interface re1 {
}
interface ral0 {
}
}

Et le routeur multicast est activé :
[root@fremen root]# grep multicast /etc/rc.conf
multicast_host=NO
multicast_router=YES


Au démarrage, le serveur avahi présent dans la zone serveurs se signale :
[root@fremen root]# dvmrpctl show mfc
Group Origin Incoming Outgoing TTL Uptime Expire
224.0.0.9 0.0.0.0 re0 re1 1 00:00:02 00:02:18
ral0 1
224.0.0.251 0.0.0.0 re0 re1 1 00:00:06 00:02:14
ral0 1

Néanmoins, aucune route n'est créée :
[root@fremen root]# route -n show -inet | grep 224
224.0.0.9/32 127.0.0.1 G3 0 0 33204 40
lo0

Ensuite, a expiration de l'enregistrement, la mfc se vide, quand bien
même avahi continue à se faire entendre sur re0

tcpdump: listening on re0, link-type EN10MB
09:03:29.528863 10.42.42.53.5353 > 224.0.0.251.5353: 0 [8a] [5q] PTR?
_services._dns-sd._udp.local. PTR? _workstation._tcp.local.[|domain] (DF)
^C
37 packets received by filter
0 packets dropped by kernel
[root@fremen root]# dvmrpctl show mfc ; date
Group Origin Incoming Outgoing TTL Uptime
Expire

Fri Mar 5 09:03:38 CET 2010


Qu'ai-je oublié ?

Merci,

--
Bastien
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
naddy
Le #21332941
Bastien Durel
Je dispose dans mon réseau d'un routeur OpenBSD 4.5 avec 4 interfaces
(WAN, Serveurs, LAN, Wifi).
Je voudrais que les 3 derniers puissent communiquer en multicast.

Au démarrage, le serveur avahi présent dans la zone serveurs se signale :
[ root]# dvmrpctl show mfc
Group Origin Incoming Outgoing TTL Uptime Expire
224.0.0.251 0.0.0.0 re0 re1 1 00:00:06 00:02:14
ral0 1



Le problème, c'est le TTL. Une passerelle reçoit un paquet, décrémente
la valeur TTL par 1 et transmet le paquet à condition que la valeur
soit supérieure à 0, sinon le paquet est détruit. Je crois que les
protocols Zeroconf se limitent au même réseau (TTL=1) et ne permettent
pas de franchir une passerelle.

Qu'ai-je oublié ?



Par ailleurs, je ne suis pas certain que dvmrpd marche vraiment.
Je ne suis pas arrivé à le faire tourner avec une configuration
minimale ; il se termine toujours après quelques minutes. mrouted(8)
est un dinosaure, mais il fonctionne.

--
Christian "naddy" Weisgerber
Bastien Durel
Le #21333261
Le Sun, 07 Mar 2010 01:39:44 +0000, Christian Weisgerber a écrit :

Bastien Durel
Je dispose dans mon réseau d'un routeur OpenBSD 4.5 avec 4 interfaces
(WAN, Serveurs, LAN, Wifi).
Je voudrais que les 3 derniers puissent communiquer en multicast.



Au démarrage, le serveur avahi présent dans la zone serveurs se signale
: [ root]# dvmrpctl show mfc Group Origin Incoming
Outgoing TTL Uptime Expire 224.0.0.251 0.0.0.0 re0 re1
1 00:00:06 00:02:14
ral0 1



Le problème, c'est le TTL. Une passerelle reçoit un paquet, décrémente
la valeur TTL par 1 et transmet le paquet à condition que la valeur soit
supérieure à 0, sinon le paquet est détruit. Je crois que les protocols
Zeroconf se limitent au même réseau (TTL=1) et ne permettent pas de
franchir une passerelle.



En fait, non, le TTL est de 255.
Par contre, wireshark me signale que le bloc 224.0.0/24 est réservé au
/Local Network Control Block/ (RFC 3171), que qu'un paquet sur cette
adresse ne devrait pas avoir un TTL > 1.
Est-ce qu'OpenBSD/dvmrpd déciderait que j'ai tord de vouloir router ça
quand même ?

Qu'ai-je oublié ?



Par ailleurs, je ne suis pas certain que dvmrpd marche vraiment. Je ne
suis pas arrivé à le faire tourner avec une configuration minimale ; il
se termine toujours après quelques minutes. (8) est un dinosaure,
mais il fonctionne.


J'avais lu des docs (ou est-ce le man) qui disait qu'il fallait remplacer
mrouted par dvmrpd.
toujours est-il que j'avais essayé les deux (rmouted en premier), et
qu'aucun ne routait.

--
Bastien
Publicité
Poster une réponse
Anonyme