O que exatamente é necessário para fazer o Airplay funcionar em VLANs? [fechadas]

17

Parece que o AirPlay funciona imediatamente, vagamente falando, apenas dentro de uma LAN. Não está claro para mim exatamente o motivo, mas parece que pelo menos a descoberta depende de transmissões. A Wikipedia afirma que o Airplay é um protocolo proprietário que provavelmente explica por que a única documentação que encontrei não é oficial como essa no github .

Então, minhas perguntas são:

  1. Uma rede pode ser configurada de forma que o Airplay funcione através de VLANs?
  2. Em caso afirmativo, o que exatamente deve ser permitido passar entre as VLANs para fazer isso funcionar?
  3. Isso é uma má idéia em um ambiente de produção, devido à indisponibilidade da documentação oficial do protocolo?
alx9r
fonte
1
O aplicativo é um escritório em que existem dispositivos confiáveis ​​em uma rede 'confiável' e outros dispositivos em redes sem fio 'visitantes'. Os dispositivos de ambas as redes devem poder transmitir para a TV da sala de reuniões.
alx9r
Você pode adicionar mais detalhes sobre o seu ambiente? Por exemplo, que marca de equipamento sem fio você está utilizando? Isso afetará bastante sua capacidade de fazer isso.
Brett Lykins
1
Por que não criar um SSID / VLAN por sala de conferência com a Apple TV para a sala de conferência nessa vlan? Ou coloque-os diretamente no SSID convidado e faça com que os funcionários se conectem a ele durante as apresentações. Então, qualquer pessoa na sala que o use pode entrar nessa rede para apresentações. Os funcionários internos podem VPN na rede interna a partir daí para acessar recursos internos (dependendo da sua configuração).
some_guy_long_gone
@legioxi Esse é o plano principal neste momento: todos os dispositivos bonjour vivem em redes convidadas e usuários confiáveis ​​RA-VPN em rede confiável a partir daí, se / conforme necessário. Ainda existe a questão de disponibilizar impressoras em ambas as redes, mas até agora parece ser a pior estratégia.
alx9r
1
Isso é chamado de 'Service Discovery gateway' em produtos Cisco - cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dns/configuration/...
cpt_fink

Respostas:

7

Há duas coisas diferentes no termo "Airplay".

O primeiro é sobre a descoberta de serviços e é a maneira como os dispositivos capazes de receber fluxos Airplay anunciam à rede "Ei! Eu posso receber Airplay!". É feito normalmente através do serviço chamado Bonjour (pelo menos a Apple o chama) ou DNS-SD . Ele usa multicast e é esse o ponto se alguém lhe disser que "o Airplay é apenas para LAN local" ou algo assim. O streaming em si é unicast UDP "normal".

Agora, o principal problema é como você obtém as informações sobre o receptor Airplay para os remetentes em potencial em outra rede. Existem duas opções teóricas:

  1. Você pode encaminhar multicast. Pode ser complicado, mas existem roteadores / firewalls capazes disso. RTFM como exatamente, mas a idéia é que você precise encaminhar o tráfego multicast com o endereço de destino 224.0.0.251 para outra rede e faça isso sem diminuir o TTL.

  2. Outra opção é usar o DNS-SD unicast. Você pode usar o DNS normal para anunciar as mesmas informações normalmente distribuídas automaticamente via DNS-SD multicast e pode usar uma pequena ajuda do utilitário dns-sd (1) no seu MacOSX para obter informações sobre o que exatamente gravar no arquivo de zona DNS . Execute este comando na LAN com o receptor Airplay e isso deve fornecer todas as informações necessárias:

    $ dns-sd -Z _airplay._tcp
    Browsing for _airplay._tcp
    ...
    
  3. Também há proxies DNS-SD (por exemplo, o avahi pode ser usado como tal).

Agora, eu disse "teoricamente", porque não o testei e o que quer que você faça com protocolos, encaminhamento e assim por diante, PODE haver algumas barreiras além do seu controle - afinal, é a Apple. Você pode obter todas as informações corretamente para o remetente em potencial, mas o iOS / MacOSX ainda pode rejeitá-las porque simplesmente não gosta por algum motivo e assim por diante.

Há mais uma opção (ainda mais teórica;) de força bruta - crie uma entrada DNS-SD para o endereço do roteador como um receptor Airplay para a rede com remetentes Airplay e encaminhe (NAT) o fluxo UDP para o receptor Airplay real. Mas mesmo com isso, existem algumas possibilidades (para os engenheiros da Apple) de quebrá-lo.

Continue, teste e informe-nos sobre seus resultados.

Thom
fonte
Ugh. Portanto, com base na sua avaliação, obter esse trabalho basicamente se resume a um experimento.
alx9r
1
Você está em terreno não documentado, portanto sempre será sobre experimentação. A Apple não suporta, por isso pode quebrar a qualquer momento (com qualquer atualização, etc.). Mas aprenda sobre o que você fará, compreenda e poderá fazê-lo com segurança e poderá fazê-lo funcionar novamente se quebrar. Ou pelo menos entenda por que exatamente você não pode fazê-lo funcionar;).
Thom
Até o ponto final em seu penúltimo parágrafo: Esta postagem parece indicar que "... AppleTV não se conectará de fora de sua própria sub-rede ..." mesmo que a descoberta funcione.
alx9r
6

Este é um problema comum em ambientes educacionais. A Apple fez um excelente trabalho na venda de iPads e Macs para estudantes / funcionários e eles desejam utilizar o Airplay / Airprint / outras funcionalidades do Bonjour. No entanto, como você apontou, esses recursos dependem de um único domínio de broadcast para a descoberta de serviços. As redes corporativas / educacionais simplesmente não são estruturadas dessa maneira.

O problema é tão prevalente que muitas equipes de TI das instituições de ensino se reuniram há alguns anos e pediram à Apple que corrigisse o Bonjour para que funcionasse melhor nesses ambientes.


Para responder diretamente às suas perguntas, geralmente será necessário configurações muito especializadas para realizar a abrangência dos serviços Airplay em sua rede. E a configuração específica dependerá muito da sua solução sem fio atual (Cisco, Aerohive, Ubiquity, etc). Em geral, se você procurar seu fornecedor sem fio e Bonjour, deverá encontrar documentação para, pelo menos, apontar na direção certa.

Tive sucesso misto na implantação da solução de gateway Avahi Bonjour da Cisco e não recomendaria investigá-la, a menos que seja absolutamente necessário.

O ponto principal para mim é que, como você apontou na sua terceira pergunta, você sempre estará à mercê da Apple, porque este é um serviço fechado, proprietário e não documentado * destinado a ambientes de rede doméstica. Portanto, a menos que a Apple decida mudar isso, evitaria implementá-lo em uma rede corporativa sempre que possível.

* O código subjacente do mDNSResponder é aberto, não proprietário e está disponível sob a licença Apache. No entanto, as implementações da Apple internas a seus iDevices e MacOS estão fora do seu controle e podem mudar a qualquer momento.

Brett Lykins
fonte
Obrigado por esta ótima resposta. Quando você diz "a configuração específica dependerá muito da sua solução sem fio atual", você quer dizer que cada uma delas utiliza técnicas diferentes para fazer com que os serviços Airplay funcionem através de VLANs, ou que cada uma delas possui interfaces administrativas diferentes para configurar o que equivale à mesma técnica em os fios?
alx9r
2
Um pouco de ambos, na verdade. Diferentes fornecedores lidarão com a espionagem e a retransmissão dos pacotes multicast Bonjour de maneira diferente, e diferentes fornecedores terão maneiras muito diferentes de configurá-lo na minha experiência.
Brett Lykins
Você pode entrar em detalhes sobre suas descobertas com a solução de gateway bonjour?
Robert Siemer
4

Avahi pode ajudá-lo aqui. Existem muitas opções, mas isso deve direcionar o tráfego pelas sub-redes. Você deve conseguir obtê-lo em uma caixa ddwrt ou usar as interfaces 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".
user4095
fonte
Eu tenho certeza que eu configurar uma mesa de ping pong :)
Jonathan Komar
3

Não funciona porque é uma tecnologia de transmissão ( multicast ). (veja também: Bonjour) A travessia de um domínio de broadcast (ou seja, VLAN) requer um proxy. Eu não sou um Mac, mas já vi essa configuração de proxy antes - para que o iDevices pudesse chegar a uma impressora na qual a conexão sem fio e a cabo eram diferentes. Não me lembro do programa que foi usado, mas não era gratuito.

Ricky Beam
fonte
1
Obrigado. Parece que eu estava usando os termos de pesquisa incorretos. Pesquisando o proxy Airplay produz isso e aquilo que parecem bastante abrangentes.
alx9r
Tecnicamente, é uma tecnologia multicast.
bahamat
@bahamat, true, mas com escopo local, para que possa ser transmitido. Naturalmente, ele não deixa um único domínio de transmissão.
Ricky feixe
Isso é engenharia de rede. Não pergunte diferente. Há uma diferença significativa entre transmissão e multicast. Em um site de discussão para profissionais de engenharia de rede, isso não faz distinção. O mDNS é multicast (portanto, o "m") e, por padrão, será limitado a um único domínio de broadcast.
bahamat
1

O Airplay viaja por IP, portanto, o roteamento normal se aplica. Você precisa de um roteador para rotear o tráfego de uma VLAN para outra. A menos que você comece a mexer com o Multicast, Bonjour permanecerá na VLAN local, no entanto.

Isso é uma má ideia? Depende ;-). Você precisa nos contar muito mais sobre o seu ambiente de produção para adivinhar.

Ron Trunk
fonte
0

Como outros observaram, existe uma solução de código aberto gratuita chamada Avahi ( http://www.avahi.org ) que pode funcionar como um proxy mDNS / Bonjour. A máquina na qual este software é executado deve ter interfaces de rede para cada VLAN / sub-rede na qual você deseja que os serviços mDNS sejam anunciados. Para que os serviços reais funcionem, no entanto, você deve ter o roteamento entre VLAN ativado ou permitir conexões TCP / UDP ao dispositivo ativado por mDNS em suas listas de acesso ou firewall. Outras opções incluem controladores wifi da Cisco ou Ubiquiti, que também podem servir como proxies mDNS, ou, se você estiver usando um Mac, poderá criar um proxy para cada serviço ( https://kb.acronis.com/sites/default/files/content/2013/ 01/39490 / wanbonjour_1.pdf) O problema com esta última solução é que você deve criar um proxy para cada serviço individual e refazê-lo sempre que a máquina for reinicializada.

Eric
fonte