Que faut-il exactement pour que Airplay fonctionne sur les VLAN? [fermé]

17

Il semble qu'AirPlay ne fonctionne prêt à l'emploi, vaguement parlant, que dans un réseau local. Je ne sais pas exactement pourquoi, mais il semble qu'au moins la découverte repose sur des émissions. Wikipedia déclare que Airplay est un protocole propriétaire qui explique probablement pourquoi la seule documentation que j'ai trouvée n'est pas officielle comme cette spécification sur github .

Donc, mes questions sont:

  1. Un réseau peut-il être configuré de sorte que Airplay fonctionne sur les VLAN?
  2. Dans l'affirmative, qu'est-ce qui doit exactement être autorisé à passer entre les VLAN pour que cela fonctionne?
  3. Est-ce une mauvaise idée dans un environnement de production étant donné l'indisponibilité de la documentation officielle du protocole?
alx9r
la source
1
L'application est un bureau où il y a des appareils de confiance sur un réseau «de confiance» et d'autres appareils sur des réseaux sans fil de «visiteur». Les appareils des deux réseaux devraient pouvoir diffuser sur le téléviseur de la salle de conférence.
alx9r
Pouvez-vous ajouter plus de détails sur votre environnement? Par exemple, quelle marque d'équipement sans fil utilisez-vous? Cela affectera considérablement votre capacité à le faire.
Brett Lykins
1
Pourquoi ne pas créer un SSID / VLAN par salle de conférence avec l'Apple TV pour cette salle de conférence sur ce vlan? Ou placez-les directement sur le SSID invité et demandez aux employés de s'y connecter lors des présentations. Ensuite, toute personne dans la salle qui l'utilise peut sauter sur ce réseau pour des présentations. Les employés internes peuvent VPN dans le réseau interne à partir de là pour accéder aux ressources internes (selon votre configuration).
some_guy_long_gone
@legioxi C'est le plan directeur à ce stade: tous les appareils bonjour vivent sur des réseaux invités et des utilisateurs de confiance RA-VPN dans un réseau de confiance à partir de là si / selon les besoins. Il reste la question de la mise à disposition des imprimantes sur les deux réseaux, mais jusqu'à présent, cela semble être la stratégie la moins mauvaise.
alx9r
1
Ceci est appelé «Service Discovery Gateway» dans les produits Cisco - cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dns/configuration/…
cpt_fink

Réponses:

7

Il y a deux choses différentes dans le terme "Airplay".

Le premier concerne la découverte de services et c'est la façon dont les appareils capables de recevoir des flux Airplay annoncent au réseau "Hé! Je peux recevoir Airplay!". Cela se fait normalement via un service appelé Bonjour (au moins Apple l'appelle ainsi) ou DNS-SD . Il utilise la multidiffusion et c'est le point si quelqu'un vous dit que "Airplay est uniquement pour le LAN local" ou quelque chose. Le streaming lui-même est unicast UDP "normal".

Maintenant, le principal problème est de savoir comment obtenir les informations sur le récepteur Airplay aux expéditeurs potentiels d'un autre réseau. Il existe deux options théoriques:

  1. Vous pouvez transférer la multidiffusion. Cela peut être difficile, mais il existe des routeurs / pare-feu capables de le faire. RTFM comment exactement, mais l'idée est que vous devez transférer le trafic de multidiffusion avec l'adresse de destination 224.0.0.251 vers un autre réseau et vous devez le faire sans décrémenter TTL.

  2. Une autre option consiste à utiliser DNS-SD unicast. Vous pouvez utiliser le DNS normal pour annoncer les mêmes informations normalement distribuées automatiquement via la multidiffusion DNS-SD et vous pouvez utiliser un peu d'aide de l'utilitaire dns-sd (1) sur votre MacOSX pour obtenir des informations sur ce qu'il faut exactement écrire dans votre fichier de zone DNS . Exécutez cette commande dans le LAN avec le récepteur Airplay et cela devrait vous donner toutes les informations dont vous avez besoin:

    $ dns-sd -Z _airplay._tcp
    Browsing for _airplay._tcp
    ...
    
  3. Il existe également des proxys DNS-SD (par exemple, avahi peut être utilisé comme tel).

Maintenant, j'ai dit "théoriquement", parce que je ne l'ai pas testé et quoi que vous fassiez avec les protocoles, le transfert et ainsi de suite, il pourrait y avoir des obstacles qui échappent à votre contrôle - c'est l'Apple après tout. Vous pouvez transmettre toutes les informations correctement à l'expéditeur potentiel, mais iOS / MacOSX peut toujours les rejeter car il ne les aime tout simplement pas pour une raison quelconque, etc.

Il existe une autre option (encore théorique;) de force brute - créez une entrée DNS-SD pour votre adresse de routeur en tant que récepteur Airplay pour le réseau avec des expéditeurs Airplay et transférez (NAT) le flux UDP vers le véritable récepteur Airplay. Mais même avec cela, il existe certaines possibilités (pour les ingénieurs Apple) de le casser.

Continuez, testez-le et faites-nous part de vos résultats.

Thom
la source
Pouah. Donc, sur la base de votre évaluation, le fait de faire fonctionner cela se résume essentiellement à une expérience.
alx9r
1
Vous êtes sur un terrain non documenté, il s'agira donc toujours d'expérimentation. Apple ne le prend pas en charge, il peut donc s'arrêter à tout moment (avec toute mise à jour, etc.). Mais apprenez tout ce que vous ferez, comprenez-le et vous pourrez le faire en toute sécurité et le faire fonctionner à nouveau s'il se casse. Ou du moins comprendre pourquoi vous ne pouvez pas le faire fonctionner correctement;).
Thom
Pour le dernier point de votre avant-dernier paragraphe: Ce message semble indiquer que "... AppleTV ne se connectera pas de l'extérieur de son propre sous-réseau ..." même si la découverte fonctionne.
alx9r
6

Il s'agit d'un problème courant dans les environnements éducatifs. Apple a fait un excellent travail de vente d'iPad et de Mac aux étudiants / au personnel et ils souhaitent utiliser Airplay / Airprint / d'autres fonctionnalités Bonjour. Cependant, comme vous l'avez souligné, ces fonctionnalités reposent sur un seul domaine de diffusion pour la découverte de services. Les réseaux d'entreprise / d'enseignement ne sont tout simplement pas structurés de cette façon.

Le problème est si répandu que de nombreux membres du personnel informatique des établissements d'enseignement se sont réunis il y a quelques années et ont demandé à Apple de corriger Bonjour pour qu'il fonctionne mieux dans ces environnements.


Pour répondre directement à vos questions, il faudra généralement des configurations très spécialisées pour étendre les services Airplay sur votre réseau. Et la configuration spécifique dépendra fortement de votre solution sans fil actuelle (Cisco, Aerohive, Ubiquity, etc.). En général, si vous recherchez votre fournisseur de services sans fil et Bonjour, vous devriez trouver de la documentation pour au moins vous orienter dans la bonne direction.

J'ai eu un succès mitigé en déployant la solution de passerelle Avahi Bonjour de Cisco , et je ne recommanderais pas de l'examiner à moins d'y être absolument obligé.

L'essentiel pour moi est, comme vous l'avez souligné dans votre troisième question, que vous serez toujours à la merci d'Apple car il s'agit d'un service fermé, propriétaire et non documenté * destiné aux environnements de réseau domestique. Donc, à moins qu'Apple ne décide de changer cela, j'éviterais de l'implémenter dans un réseau d'entreprise autant que possible.

* Le code sous-jacent de mDNSResponder est ouvert, non propriétaire et disponible sous la licence Apache. Cependant, les implémentations d'Apple de cette interne à leurs iDevices et MacOS sont toutes hors de votre contrôle et pourraient changer à tout moment.

Brett Lykins
la source
Merci pour cette excellente réponse. Lorsque vous dites que "la configuration spécifique dépendra fortement de votre solution sans fil actuelle", voulez-vous dire qu'ils utilisent chacun des techniques différentes pour faire fonctionner les services Airplay sur les VLAN, ou qu'ils ont chacun des interfaces d'administration différentes pour configurer ce qui équivaut à la même technique sur les fils?
alx9r
2
Un peu des deux en fait. Différents fournisseurs géreront différemment l'espionnage et la retransmission des paquets de multidiffusion Bonjour, et différents fournisseurs auront des façons très différentes de le configurer selon mon expérience.
Brett Lykins
Pouvez-vous entrer dans les détails de vos découvertes avec la solution de passerelle bonjour?
Robert Siemer
4

Avahi peut vous aider ici. Il existe de nombreuses options, mais cela devrait permettre au trafic de traverser les sous-réseaux. Vous devriez pouvoir l'obtenir sur une boîte ddwrt ou utiliser des interfaces Raspberry Pi et dot1q.

 enable-reflector= Takes a boolean value ("yes"  or  "no").  If  set  to
       "yes"  avahi-daemon  will  reflect  incoming mDNS requests to all local
       network interfaces, effectively allowing clients to browse  mDNS/DNS-SD
       services  on  all  networks  connected  to  the gateway. The gateway is
       somewhat intelligent and should work with all kinds  of  mDNS  traffic,
       though  some functionality is lost (specifically the unicast reply bit,
       which is used rarely anyway). Make sure to not run multiple  reflectors
       between the same networks, this might cause them to play Ping Pong with
       mDNS packets. Defaults to "no".

 reflect-ipv= Takes a boolean value ("yes" or "no"). If set to "yes" and
       enable-reflector  is  enabled,  avahi-daemon  will forward mDNS traffic
       between IPv4 and IPv6, which is usually not  recommended.  Defaults  to
       "no".
user4095
la source
Je suis presque sûr d'avoir installé une table de ping-pong :)
Jonathan Komar
3

Cela ne fonctionne pas parce que c'est une technologie de diffusion ( multidiffusion ). (voir aussi: Bonjour) La traversée d'un domaine de diffusion (c'est-à-dire VLAN) nécessite un proxy. Je ne suis pas un Mac, mais j'ai déjà vu une telle configuration de proxy - les iDevices pouvaient donc accéder à une imprimante où les réseaux sans fil et câblés étaient différents. Je ne me souviens pas du programme utilisé, mais il n'était pas gratuit.

Ricky Beam
la source
1
Je vous remercie. Il semble que j'utilisais des termes de recherche incorrects. La recherche du proxy Airplay donne ceci et cela qui semblent assez complets.
alx9r
Techniquement, c'est une technologie de multidiffusion.
bahamat
@bahamat, c'est vrai, mais de portée locale, donc il pourrait aussi bien être diffusé. Il ne laissera naturellement pas un seul domaine de diffusion.
Ricky Beam
C'est l'ingénierie réseau. Ne demandez pas différemment. Il existe une différence significative entre la diffusion et la multidiffusion. Sur un site de discussion pour les professionnels de l'ingénierie réseau, ce n'est pas une distinction à négliger. mDNS est multicast (donc le "m") et par défaut sera limité à un seul domaine de diffusion.
bahamat
1

Airplay se déplace sur IP, donc le routage normal s'applique. Vous avez besoin d'un routeur pour acheminer le trafic d'un VLAN à un autre. À moins que vous ne commenciez à jouer avec la multidiffusion, Bonjour restera cependant sur le VLAN local.

Est-ce une mauvaise idée? Ça dépend ;-). Vous devez nous en dire beaucoup plus sur votre environnement de production pour faire une supposition éclairée.

Ron Trunk
la source
0

Comme d'autres l'ont noté, il existe une solution open source gratuite appelée Avahi ( http://www.avahi.org ) qui peut fonctionner comme un proxy mDNS / Bonjour. La machine sur laquelle ce logiciel fonctionne doit disposer d'interfaces réseau avec chaque VLAN / sous-réseau sur lequel vous souhaitez que les services mDNS soient annoncés vers / depuis. Cependant, pour que les services réels fonctionnent, vous devez activer le routage inter VLAN ou autoriser les connexions TCP / UDP au périphérique compatible mDNS dans vos listes d'accès ou pare-feu. Les autres options incluent les contrôleurs wifi Cisco ou Ubiquiti qui peuvent également servir de proxy mDNS, ou si vous utilisez un Mac, vous pouvez créer un proxy pour chaque service ( https://kb.acronis.com/sites/default/files/content/2013/ 01/39490 / wanbonjour_1.pdf). Le problème avec cette dernière solution est que vous devez créer un proxy pour chaque service individuel, et vous devez le refaire à chaque redémarrage de la machine.

Eric
la source