Cosa è esattamente necessario per far funzionare Airplay su VLAN? [chiuso]


17

Sembra che AirPlay funzioni immediatamente, parlando vagamente, solo all'interno di una LAN. Non mi è chiaro esattamente perché, ma sembra che almeno la scoperta si basi sulle trasmissioni. Wikipedia afferma che Airplay è un protocollo proprietario che probabilmente spiega perché l'unica documentazione che ho trovato non è ufficiale come questa specifica su github .

Quindi, le mie domande sono:

  1. Una rete può essere configurata in modo tale che Airplay funzioni su VLAN?
  2. In tal caso, cosa, esattamente, deve essere permesso di passare tra le VLAN per farlo funzionare?
  3. È una cattiva idea in un ambiente di produzione data l'indisponibilità della documentazione ufficiale del protocollo?

1
L'applicazione è un ufficio in cui sono presenti dispositivi attendibili su una rete "attendibile" e altri dispositivi su reti wireless "visitatori". I dispositivi di entrambe le reti dovrebbero essere in grado di trasmettere Airplay alla TV della sala riunioni.
alx9r

Puoi aggiungere ulteriori dettagli sul tuo ambiente? Ad esempio, quale marca di apparecchiature wireless stai utilizzando? Ciò influirà notevolmente sulla tua capacità di farlo.
Brett Lykins,

1
Perché non creare un SSID / VLAN per sala conferenze con Apple TV per quella sala conferenze su quel vlan? Oppure inseriscili direttamente sul SSID guest e fai in modo che i dipendenti si colleghino a quello durante le presentazioni. Quindi chiunque nella stanza che lo utilizza può saltare su quella rete per le presentazioni. I dipendenti interni possono VPN nella rete interna da lì per l'accesso alle risorse interne (a seconda della configurazione).
some_guy_long_gone

@legioxi Questo è il piano principale a questo punto: tutti i dispositivi Bonjour vivono su reti guest e RA-VPN di utenti fidati in una rete fidata da lì se / quando necessario. C'è ancora il problema di rendere disponibili le stampanti su entrambe le reti, ma finora sembra essere la strategia meno grave.
alx9r,

1
Questo è chiamato "Service Discovery Gateway" nei prodotti Cisco - cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dns/configuration/…
cpt_fink

Risposte:


7

Esistono due cose diverse nel termine "Airplay".

Il primo riguarda la scoperta del servizio ed è il modo in cui i dispositivi in ​​grado di ricevere flussi Airplay annunciano alla rete "Ehi! Posso ricevere Airplay!". Viene fatto normalmente tramite un servizio chiamato Bonjour (almeno lo chiama Apple) o DNS-SD . Sta usando il multicast e questo è il punto se qualcuno ti sta dicendo che "Airplay è solo per LAN locale" o qualcosa del genere. Lo streaming stesso è unicast UDP "normale".

Ora il problema principale è come ottenere le informazioni sul ricevitore Airplay ai potenziali mittenti in un'altra rete. Esistono due opzioni teoriche:

  1. È possibile inoltrare il multicast. Potrebbe essere difficile, ma ci sono router / firewall in grado di farlo. RTFM come esattamente, ma l'idea è che devi inoltrare il traffico multicast con l'indirizzo di destinazione 224.0.0.251 a un'altra rete e devi farlo senza decrementare il TTL.

  2. Un'altra opzione è quella di utilizzare unicast DNS-SD. Puoi usare il normale DNS per annunciare le stesse informazioni normalmente distribuite automaticamente tramite DNS-SD multicast e puoi usare un piccolo aiuto dall'utilità dns-sd (1) sul tuo MacOSX per ottenere informazioni su cosa scrivere esattamente nel tuo file di zona DNS . Esegui questo comando nella LAN con il ricevitore Airplay e questo dovrebbe darti tutte le informazioni di cui hai bisogno:

    $ dns-sd -Z _airplay._tcp
    Browsing for _airplay._tcp
    ...
    
  3. Esistono anche proxy DNS-SD (ad esempio avahi può essere utilizzato come tale).

Ora, ho detto "teoricamente", perché non l'ho testato e qualunque cosa tu faccia con i protocolli, l'inoltro e così via, POTREBBERO esserci alcuni blocchi al di fuori del tuo controllo - dopo tutto è la Apple. Potresti ottenere correttamente tutte le informazioni al potenziale mittente, ma iOS / MacOSX potrebbero comunque rifiutarle perché non le piacciono per qualche motivo e così via.

Esiste un'altra opzione (ancora teorica;) di forza bruta: creare una voce DNS-SD per l'indirizzo del router come ricevitore Airplay per la rete con mittenti Airplay e inoltrare (NAT) il flusso UDP al ricevitore Airplay reale. Ma anche con questo ci sono alcune possibilità (per gli ingegneri Apple) di romperlo.

Continua, testalo e facci sapere i tuoi risultati.


Ugh. Quindi, in base alla tua valutazione, far sì che questo funzioni sostanzialmente si riduce a un esperimento.
alx9r

1
Sei su un terreno non documentato, quindi si tratterà sempre di sperimentazione. Apple non lo supporta, quindi potrebbe rompersi in qualsiasi momento (con qualsiasi aggiornamento, ecc.). Ma scopri le cose che farai, capiscile e sarai in grado di farlo in modo sicuro e sarai in grado di farlo funzionare di nuovo se si rompe. O almeno capisci perché esattamente non puoi farlo funzionare;).
Thom,

All'ultimo punto del tuo penultimo paragrafo: questo post sembra indicare che "... AppleTV non si collegherà dall'esterno della propria sottorete ..." anche se la scoperta funziona.
alx9r

6

Questo è un problema comune negli ambienti educativi. Apple ha svolto un ottimo lavoro nella vendita di iPad e Mac a studenti / personale e desiderano utilizzare la funzionalità Airplay / Airprint / altre funzionalità Bonjour. Tuttavia, come hai sottolineato, queste funzionalità si basano su un singolo dominio di trasmissione per il rilevamento del servizio. Le reti aziendali / educative non sono strutturate in questo modo.

Il problema è così diffuso che molti membri del personale IT delle istituzioni educative si sono riuniti alcuni anni fa e hanno presentato una petizione ad Apple per far sì che Bonjour funzionasse meglio in questi ambienti.


Per rispondere direttamente alle tue domande, di solito sono necessarie configurazioni molto specializzate per realizzare lo spanning dei servizi Airplay sulla tua rete. E la configurazione specifica dipenderà fortemente dalla tua attuale soluzione wireless (Cisco, Aerohive, Ubiquity, ecc.). In generale, se cerchi il tuo fornitore wireless e Bonjour, dovresti trovare la documentazione per indirizzarti almeno nella giusta direzione.

Ho avuto un successo misto nell'implementazione della soluzione gateway Avahi Bonjour di Cisco e non consiglierei di esaminarla a meno che non sia assolutamente necessario.

La linea di fondo per me è, come hai sottolineato nella tua terza domanda, sarai sempre in balia di Apple perché si tratta di un servizio chiuso, proprietario, non documentato * destinato agli ambienti di rete domestica. Quindi, a meno che Apple non decida di modificarlo, eviterei di implementarlo in una rete Enterprise laddove possibile.

* Il codice sottostante per mDNSResponder è aperto, non proprietario e disponibile sotto la licenza Apache. Tuttavia, le implementazioni di Apple interne a questi iDevices e MacOS sono al di fuori del tuo controllo e potrebbero cambiare in qualsiasi momento.


Grazie per questa ottima risposta. Quando dici "la configurazione specifica dipenderà fortemente dalla tua attuale soluzione wireless", intendi che ognuno di essi impiega tecniche diverse per far funzionare i servizi Airplay su VLAN o che hanno interfacce di amministrazione diverse per configurare ciò che equivale alla stessa tecnica su i fili?
alx9r

2
Un po 'di entrambi in realtà. Diversi fornitori gestiranno in modo diverso lo snooping e la ritrasmissione dei pacchetti multicast Bonjour e diversi fornitori avranno modi molto diversi di configurarlo nella mia esperienza.
Brett Lykins,

Puoi entrare nei dettagli delle tue scoperte con la soluzione gateway bonjour?
Robert Siemer,

4

Avahi può aiutarti qui. Ci sono molte opzioni ma questo dovrebbe ottenere il traffico attraverso le sottoreti. Dovresti essere in grado di ottenerlo su una scatola di ddwrt o utilizzare interfacce Raspberry Pi e 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".

Sono abbastanza sicuro di aver allestito un tavolo da ping pong :)
Jonathan Komar

3

Non funziona perché è una tecnologia di trasmissione ( multicast ). (vedi anche: Bonjour) Attraversare un dominio di trasmissione (cioè VLAN) richiede un proxy. Non sono una persona Mac, ma ho già visto una simile configurazione proxy in precedenza, quindi iDevices potrebbe arrivare a una stampante in cui wireless e cablato erano diversi lans. Non ricordo il programma che è stato utilizzato, ma non era gratuito.


1
Grazie. Sembra che stavo usando i termini di ricerca sbagliati. La ricerca del proxy Airplay produce questo e questo che sembrano abbastanza completi.
alx9r,

Tecnicamente è una tecnologia multicast.
Bahamat,

@bahamat, vero, ma di portata locale, quindi potrebbe anche essere trasmesso. Non lascerà naturalmente un singolo dominio di trasmissione.
Ricky Beam,

Questo è Network Engineering. Non chiedere diversamente. C'è una differenza significativa tra trasmissione e multicast. In un sito di discussione per i professionisti dell'ingegneria di rete non è una distinzione da ignorare. mDNS è multicast (quindi la "m") e per impostazione predefinita sarà limitata a un singolo dominio di trasmissione.
Bahamat,

1

Airplay viaggia su IP, quindi si applica il normale routing. È necessario un router per instradare il traffico da una VLAN a un'altra. A meno che non inizi a scherzare con Multicast, Bonjour rimarrà comunque sulla VLAN locale.

È una cattiva idea? Dipende ;-). Devi dirci molto di più sul tuo ambiente di produzione per fare un'ipotesi colta.


0

Come altri hanno notato, esiste una soluzione open source gratuita chiamata Avahi ( http://www.avahi.org ) che può funzionare come proxy mDNS / Bonjour. La macchina su cui viene eseguito questo software deve disporre di interfacce di rete per ogni VLAN / sottorete da cui si desidera pubblicizzare i servizi mDNS. Per il funzionamento effettivo dei servizi, tuttavia, è necessario abilitare il routing tra VLAN o consentire connessioni TCP / UDP al dispositivo abilitato mDNS negli elenchi di accesso o nel firewall. Altre opzioni includono controller Wi-Fi Cisco o Ubiquiti che possono anche fungere da proxy mDNS o, se si utilizza un Mac, è possibile creare un proxy per ciascun servizio ( https://kb.acronis.com/sites/default/files/content/2013/ 01/39490 / wanbonjour_1.pdf). Il problema con quest'ultima soluzione è che devi creare un proxy per ogni singolo servizio e devi rifarlo ogni volta che la macchina si riavvia.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.