Voltar ao Meu Mac registra serviços usando o endereço IPv6 da interface de loopback

9

Eu gostaria de poder usar o Back to My Mac pela Internet IPv6. Já tenho acesso IPv6 (ou seja, meu aeroporto recebe um bloco / 64 do meu ISP e envia RAs para que todos na rede possam configurar automaticamente seus próprios endereços IPv6 públicos. Meu computador atribui a si mesmo um endereço com base em seu endereço MAC, e um endereço temporário. Posso acessar ipv6.google.com e tudo mais.) mas, por algum motivo, um endereço IPv6 de loopback inútil está sendo registrado com Voltar ao meu Mac em vez de um endereço útil.

Aqui o que eu recebo usando dns-sd:

dns-sd -F

Timestamp     Recommended Browsing domain
 0:15:52.133  Added     (More)               local
 0:15:52.134  Added                          icloud.com
                                             - > btmm
                                             - - > members
                                             - - - > 12345678

dns-sd -B _services._dns-sd._udp 12345678.members.btmm.icloud.com

Browsing for _services._dns-sd._udp.12345678.members.btmm.icloud.com
Timestamp     A/R Flags if Domain                    Service Type              Instance Name
 0:23:19.685  Add     3  0 .                         _tcp.local.               _rfb
 0:23:19.686  Add     3  0 .                         _tcp.local.               _ssh
 0:23:19.686  Add     3  0 .                         _tcp.local.               _sftp-ssh
 0:23:19.686  Add     2  0 .                         _tcp.local.               _airvideoserver

dns-sd -B _rfb 12345678.members.btmm.icloud.com

Browsing for _rfb._tcp.12345678.members.btmm.icloud.com
Timestamp     A/R Flags if Domain                    Service Type              Instance Name
 0:25:02.255  Add     2  0 12345678.members.btmm.icloud.com. _rfb._tcp.                Mac

dns-sd -L Mac _rfb 12345678.members.btmm.icloud.com

Lookup Mac._rfb._tcp.12345678.members.btmm.icloud.com
 0:26:33.431  Mac._rfb._tcp.12345678.members.btmm.icloud.com. can be reached at Mac.12345678.members.btmm.icloud.com.:5900 (interface 0)

dns-sd -G v6 Mac.12345678.members.btmm.icloud.com.

Timestamp     A/R Flags if Hostname                  Address                                      TTL
 0:27:45.201  Add     2  0 Mac.12345678.members.btmm.icloud.com. FDDC:DBC8:58A7:8322:021F:5BFF:FE3E:3C44%<0>  152

O endereço IPv6 registrado é para ln0, a interface de loopback que é inútil para qualquer coisa, exceto o computador executando os serviços. O ifconfig lista meus endereços IPv6, incluindo um endereço IPv6 público temporário e configurado automaticamente, na interface de rede real do meu sistema, o que seria perfeito. Por que o dns-sd não registra serviços usando esse endereço e como posso fazê-lo?

Uma observação adicional: meu roteador suporta NAT-PMP, mesmo que meu computador não tenha diretamente um endereço IPv4 público, eu esperaria que ele usasse NAT-PMP para garantir que os serviços que habilitei estejam disponíveis no IPv4, mas isso não acontece. parece ser o caso. Quando procuro uma instância de serviço no 12345678.members.btmm.icloud.comdomínio e, em seguida, uso dns-sd -G v4para resolver o nome do host fornecido, ele diz que não há registro IPv4.

bames53
fonte
Tangencial do problema em questão, os detalhes detalhados fornecem alguns dos melhores exemplos de como usar o dns-sd. MUITO mais útil que a página de manual!
Bill Cole

Respostas:

5

Parece que o que você está realmente procurando é o Wide-Area Bonjour (doravante "WAB"), que é um sistema em que clientes com capacidade para Bonjour, além de registrar seus serviços na rede local via DNS multicast, também usam o DNS dinâmico Atualizações (o esquema no processo de padronização da IETF no RFC2136 ), para registrar não apenas seus endereços IP, mas também os registros de serviço disponíveis em um servidor DNS unicast tradicional.

Consulte dns-sd.org para obter instruções sobre como configurar o seu Mac para usar o WAB. Eles ainda têm um painel Preferências do sistema que você pode baixar e instalar para facilitar. Acredito que eles também tenham instruções sobre como configurar o WAB para funcionar com alguns provedores de serviços DNS dinâmicos conhecidos que o suportam, como dyn.com (também conhecido como dyndns.com ). Se você executar seu próprio servidor DNS em algum lugar, também poderá encontrar instruções em dns-sd.org sobre como configurar seu servidor DNS para atuar como um servidor WAB. Para obter melhores resultados, pode ser necessário executar o BIND.

O uso de serviços DNS dinâmicos com suporte a WAB ou a execução de seu próprio servidor DNS com suporte a WAB são suas únicas opções. Os servidores BTMM do iCloud não suportam WAB completo.

O Back to My Mac utiliza parte da infraestrutura de software do Wide-Area Bonjour, mas os servidores iCloud BTMM não fornecem serviço WAB completo, apenas as peças necessárias para a maneira específica como o BTMM o usa. Como você descobriu, as máquinas clientes do BTMM colocam um "endereço local exclusivo" (ULA) do IPv6 em suas interfaces de loopback e registram esse ULA nos servidores da BTMM. As conexões entre esses ULAs são tratadas por túneis protegidos por IPsec, geralmente IPv6-em-IPv4, entre seus Macs BTMM. É intencional que você não possa se conectar a esses serviços diretamente. Isso força as conexões a passarem pelo túnel BTMM protegido por IPsec. O software BTMM nos seus Macs lida com a autenticação de seus Macs com BTMM e com isso para garantir que apenas as máquinas conectadas à sua própria conta BTMM possam estabelecer os túneis BTMM IPsec.

Atualização: Mais algumas reflexões:

  • Verifique se a opção "Bloquear conexões de entrada" está marcada nas configurações de IPv6 da sua estação base AirPort. (Observe que o AirPort Utility 6.0 atualmente não possui uma interface de usuário das configurações de IPv6; portanto, você precisará usar o AirPort Utility 5.6 ou anterior para verificar isso.)
  • Você pode executar o ping6 do endereço IPv6 público e temporário, não temporário, do seu Mac em outro site?
  • Uma conexão BTMM típica (ou seja, sobre IPv4, de outro Mac conectado à sua mesma conta do iCloud, com o BTMM ativado) funciona? Por que você está especificamente tentando fazer isso acontecer pelo IPv6? Talvez eu possa ajudá-lo melhor se entender melhor seus objetivos e restrições.
Spiff
fonte
Ok, esta é uma boa informação. Na verdade, eu estou familiarizado com as instruções do dns-sd.org sobre como configurar e personalizar um servidor DNS para isso. Também vi que o dyndns.org estava experimentando há algum tempo, mas não tinha dado uma olhada recentemente. Estou de acordo com os requisitos impostos pelo BtMM, só quero que ele funcione. ssh manual para esse ULA atingir o tempo limite, a navegação com 'Nova conexão remota' mostra o serviço, mas o tempo limite de conexão é excedido. Tentando conectar-se ao serviço _http através do menu Bonjour no Safari expira.
bames53
Acho que preciso descobrir o que poderia fazer com que as tentativas de conexão com esse endereço sempre expirassem, embora eu obviamente possa acessar o serviço (já que estou tentando fazer isso no computador local).
bames53
@ bames53 Ah. Uma coisa que não ficou muito clara para sua pergunta foi se você já tentou uma tentativa direta de conexão BTMM. Ficou claro que você tinha (pelo menos de saída) conectividade IPv6 em casa e um Mac BTMM em casa. Mas o que não ficou claro foi se você tiver um Mac BTMM com conectividade IPv6 em outro site; qual direção você tentou fazer conexões; quais serviços você tentou usar; um túnel IPv6-em-IPv4 BTMM típico funcionou ?; etc. Atualize sua pergunta para ter mais clareza em pontos como esse e, se houver mais informações, atualizarei minha resposta também.
Spiff
@ bames53 Ainda estou interessado em descobrir exatamente qual é o problema que você estava enfrentando; portanto, se você deseja atualizar sua pergunta para fornecer mais informações ao longo das linhas sugeridas, ainda estou ansioso para tentar ajudar.
Spiff
Ainda não tentei uma conexão direta com o BtMM, pois estava testando-a na minha rede local antes de confiar nela trabalhando em outro local. Vou atualizá-lo quando tiver a chance de testar isso. Estou interessado em descobrir isso, porque, mesmo que uma conexão de uma rede remota funcione conforme o esperado, gostaria de saber por que os serviços do iCloud são visíveis, mas não acessíveis no host local.
bames53