Apa, tepatnya, yang diperlukan untuk membuat Airplay berfungsi di seluruh VLAN? [Tutup]

17

Sepertinya AirPlay bekerja di luar kotak, secara samar-samar, hanya di dalam LAN. Tidak jelas bagi saya persis mengapa, tetapi sepertinya setidaknya penemuan bergantung pada siaran. Wikipedia menyatakan bahwa Airplay adalah protokol berpemilik yang mungkin menjelaskan mengapa satu-satunya dokumentasi yang saya temukan tidak resmi seperti spesifikasi ini di github .

Jadi, pertanyaan saya adalah:

  1. Dapatkah jaringan dikonfigurasikan sedemikian rupa sehingga Airplay berfungsi di seluruh VLAN?
  2. Jika demikian, apa, tepatnya, yang harus diizinkan lewat di antara VLAN untuk membuatnya berfungsi?
  3. Apakah ini ide yang buruk di lingkungan produksi mengingat tidak tersedianya dokumentasi protokol resmi?
alx9r
sumber
1
Aplikasi ini adalah kantor tempat ada perangkat tepercaya di jaringan 'tepercaya' dan perangkat lain di jaringan nirkabel 'pengunjung'. Perangkat dari kedua jaringan harus dapat diputar ke ruang dewan TV.
alx9r
Bisakah Anda menambahkan lebih detail tentang lingkungan Anda? Misalnya merek peralatan nirkabel apa yang Anda manfaatkan? Ini akan sangat memengaruhi kemampuan Anda untuk melakukan ini.
Brett Lykins
1
Mengapa tidak membuat SSID / VLAN per ruang konferensi dengan Apple TV untuk ruang konferensi di vlan itu? Atau letakkan secara langsung di SSID tamu dan mintalah karyawan terhubung ke sana selama presentasi. Maka siapa pun di ruangan yang menggunakannya dapat naik ke jaringan itu untuk presentasi. Karyawan internal dapat VPN ke jaringan internal dari sana untuk akses ke sumber daya internal (tergantung pada pengaturan Anda).
some_guy_long_gone
@legioxi Itulah rencana utama pada saat ini: Semua perangkat bonjour hidup di jaringan tamu dan pengguna tepercaya RA-VPN ke jaringan tepercaya dari sana jika diperlukan. Masih ada masalah membuat printer tersedia di kedua jaringan, tetapi sejauh ini tampaknya menjadi strategi yang paling tidak buruk.
alx9r
1
Ini disebut 'Service Discovery Gateway' di produk Cisco - cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dns/configuration/…
cpt_fink

Jawaban:

7

Ada dua hal berbeda dalam istilah "Airplay".

Yang pertama adalah tentang penemuan layanan dan cara perangkat yang dapat menerima aliran Airplay mengumumkan ke jaringan "Hei! Saya bisa menerima Airplay!". Ini dilakukan secara normal melalui layanan yang disebut Bonjour (setidaknya Apple menyebutnya begitu) atau DNS-SD . Ini menggunakan multicast dan itu intinya jika seseorang mengatakan kepada Anda bahwa "Airplay hanya untuk LAN lokal" atau sesuatu. Streaming itu sendiri adalah UDP unicast "normal".

Sekarang masalah utama adalah bagaimana Anda mendapatkan info tentang penerima Airplay ke pengirim potensial di jaringan lain. Ada dua opsi teoretis:

  1. Anda dapat meneruskan multicast. Mungkin agak rumit, tetapi ada router / firewall yang mampu melakukan ini. RTFM bagaimana tepatnya, tetapi idenya adalah Anda harus meneruskan lalu lintas multicast dengan alamat tujuan 224.0.0.251 ke jaringan lain dan Anda harus melakukannya tanpa mengurangi TTL.

  2. Pilihan lain adalah menggunakan unicast DNS-SD. Anda dapat menggunakan DNS normal untuk mengumumkan info yang sama yang biasanya didistribusikan secara otomatis melalui multicast DNS-SD dan Anda dapat menggunakan sedikit bantuan dari utilitas dns-sd (1) pada MacOSX Anda untuk mendapatkan info apa yang harus ditulis dalam file zona DNS Anda . Jalankan perintah ini di LAN dengan penerima Airplay dan ini akan memberi Anda semua info yang Anda butuhkan:

    $ dns-sd -Z _airplay._tcp
    Browsing for _airplay._tcp
    ...
    
  3. Ada juga proksi DNS-SD (misalnya avahi dapat digunakan seperti itu).

Sekarang, saya berkata "secara teoritis", karena saya belum mengujinya dan apa pun yang Anda lakukan dengan protokol, penerusan dan sebagainya, MUNGKIN akan ada beberapa penghalang di luar kendali Anda - bagaimanapun juga itu adalah Apple. Anda bisa mendapatkan semua info dengan benar ke pengirim potensial, tetapi iOS / MacOSX mungkin masih menolaknya karena tidak suka karena suatu alasan dan sebagainya.

Ada satu lagi (lagi teoretis;) opsi brute force - buat entri DNS-SD untuk alamat router Anda sebagai penerima Airplay untuk jaringan dengan pengirim Airplay dan teruskan (NAT) aliran UDP ke penerima Airplay yang sebenarnya. Tetapi bahkan dengan ini ada beberapa kemungkinan (untuk insinyur Apple) untuk memecahkannya.

Ayo, uji dan beri tahu kami tentang hasil Anda.

Thom
sumber
Ugh. Jadi berdasarkan penilaian Anda, membuat ini berfungsi pada dasarnya bermuara pada eksperimen.
alx9r
1
Anda berada di tanah tidak berdokumen, jadi itu akan selalu tentang eksperimen. Apple tidak mendukungnya, jadi itu dapat merusak setiap saat (dengan pembaruan apa pun dll) juga. Tetapi pelajari hal-hal yang akan Anda lakukan, pahami, dan Anda bisa membuatnya dengan aman dan akan membuatnya bekerja lagi jika rusak. Atau setidaknya mengerti mengapa Anda tidak bisa membuatnya bekerja;).
Thom
Ke poin terakhir dalam paragraf kedua dari belakang Anda: Posting ini tampaknya menunjukkan bahwa "... AppleTV tidak akan terhubung dari luar subnetnya sendiri ..." meskipun penemuan berfungsi.
alx9r
6

Ini adalah masalah umum di lingkungan pendidikan. Apple telah melakukan pekerjaan yang sangat baik dalam menjual iPad dan Mac kepada siswa / staf dan mereka ingin memanfaatkan fungsi Airplay / Airprint / Bonjour lainnya. Namun, seperti yang Anda tunjukkan, fitur-fitur ini bergantung pada satu domain siaran untuk penemuan layanan. Jaringan perusahaan / pendidikan tidak terstruktur seperti itu.

Masalahnya begitu lazim sehingga banyak staf lembaga pendidikan IT berkumpul beberapa tahun yang lalu, dan mengajukan petisi kepada Apple untuk memperbaiki Bonjour agar bekerja lebih baik di lingkungan ini.


Untuk langsung menjawab pertanyaan Anda, biasanya akan memerlukan konfigurasi yang sangat khusus untuk mencapai rentang layanan Airplay di jaringan Anda. Dan konfigurasi spesifik akan sangat bergantung pada solusi nirkabel Anda saat ini (Cisco, Aerohive, Ubiquity, dll). Secara umum, jika Anda mencari vendor nirkabel dan Bonjour, Anda harus menemukan dokumentasi untuk setidaknya mengarahkan Anda ke arah yang benar.

Saya mendapatkan kesuksesan yang beragam dalam menyebarkan solusi gateway Avahi Bonjour dari Cisco , dan tidak akan merekomendasikan untuk melihatnya kecuali Anda benar-benar harus melakukannya.

Intinya bagi saya adalah, seperti yang Anda tunjukkan dalam pertanyaan ketiga Anda, Anda akan selalu berada di tangan Apple karena ini adalah layanan tertutup, eksklusif, tidak berdokumen * yang ditujukan untuk lingkungan jaringan rumah. Jadi, kecuali Apple memutuskan untuk mengubahnya, saya akan menghindari menerapkannya di jaringan Enterprise sedapat mungkin.

* Kode dasar untuk mDNSResponder terbuka, tidak berpemilik, dan tersedia di bawah lisensi Apache. Namun, implementasi internal Apple ini untuk iDevices dan MacOS mereka semua di luar kendali Anda dan dapat berubah kapan saja.

Brett Lykins
sumber
Terima kasih atas jawaban yang bagus ini. Ketika Anda mengatakan "konfigurasi spesifik akan sangat bergantung pada solusi nirkabel Anda saat ini" maksud Anda bahwa mereka masing-masing menggunakan teknik yang berbeda untuk membuat layanan Airplay bekerja di seluruh VLAN, atau bahwa mereka masing-masing memiliki antarmuka admin yang berbeda untuk mengkonfigurasi jumlah yang sama dengan teknik yang sama pada kabel?
alx9r
2
Sedikit dari keduanya sebenarnya. Vendor yang berbeda akan menangani pengintaian dan pengiriman kembali paket multicast Bonjour secara berbeda, dan vendor yang berbeda akan memiliki cara yang sangat berbeda untuk mengonfigurasinya dalam pengalaman saya.
Brett Lykins
Bisakah Anda masuk ke detail tentang temuan Anda dengan solusi gateway bonjour?
Robert Siemer
4

Avahi dapat membantu Anda di sini. Ada banyak opsi tetapi ini harus mendapatkan lalu lintas lintas subnet. Anda harus bisa mendapatkannya di kotak ddwrt atau menggunakan Raspberry Pi dan antarmuka 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".
pengguna4095
sumber
Saya cukup yakin saya mengatur meja ping pong :)
Jonathan Komar
3

Itu tidak berfungsi karena itu adalah teknologi siaran ( multicast ). (lihat juga: Bonjour) Melintasi domain siaran (yaitu VLAN) memerlukan proxy. Saya bukan orang Mac, tapi saya pernah melihat setup proxy seperti sebelumnya - sehingga iDevices bisa mendapatkan ke printer di mana nirkabel dan kabel berbeda lans. Saya tidak ingat program yang digunakan, tetapi itu tidak gratis.

Ricky Beam
sumber
1
Terima kasih. Sepertinya saya menggunakan istilah pencarian yang salah. Mencari proksi Airplay menghasilkan ini dan ini yang tampaknya cukup komprehensif.
alx9r
Secara teknis itu adalah teknologi multicast.
bahamat
@ Bahaham, benar, tapi lingkup lokal jadi mungkin disiarkan. Itu tidak akan secara alami meninggalkan satu domain siaran.
Ricky Beam
Ini adalah Teknik Jaringan. Tidak Bertanya Berbeda. Ada perbedaan yang signifikan antara siaran dan multicast. Di situs diskusi untuk para profesional teknik jaringan, itu bukan perbedaan untuk diabaikan. mDNS adalah multicast (dengan demikian "m") dan secara default akan terbatas pada satu domain siaran.
bahamat
1

Airplay melakukan perjalanan lebih dari IP, sehingga berlaku rute normal. Anda memerlukan perute untuk merutekan lalu lintas dari satu VLAN ke VLAN lainnya. Namun, kecuali Anda mulai mengotak-atik Multicast, Bonjour akan tetap menggunakan VLAN lokal.

Apakah ini ide yang buruk? Tergantung ;-). Anda harus memberi tahu kami lebih banyak tentang lingkungan produksi Anda untuk membuat tebakan yang berpendidikan.

Ron Trunk
sumber
0

Seperti yang telah dicatat oleh orang lain, ada solusi open source gratis yang disebut Avahi ( http://www.avahi.org ) yang dapat berfungsi sebagai proxy mDNS / Bonjour. Mesin yang dijalankan oleh perangkat lunak ini harus memiliki antarmuka jaringan untuk setiap VLAN / subnet yang Anda inginkan layanan mDNS diiklankan ke / dari. Agar layanan aktual dapat berfungsi, Anda harus mengaktifkan perutean antar VLAN atau mengizinkan koneksi TCP / UDP ke perangkat berkemampuan mDNS dalam daftar akses atau firewall Anda. Opsi lain termasuk pengontrol wifi Cisco atau Ubiquiti yang juga dapat berfungsi sebagai proxy mDNS, atau jika menggunakan Mac Anda dapat membuat proxy untuk setiap layanan ( https://kb.acronis.com/sites/default/files/content/2013/ 01/39490 / wanbonjour_1.pdf). Masalah dengan solusi terakhir ini adalah Anda harus membuat proxy untuk setiap layanan individual, dan Anda harus mengulanginya setiap kali mesin reboot.

Eric
sumber