Back to My Mac rejestruje usługi przy użyciu adresu IPv6 interfejsu sprzężenia zwrotnego

9

Chciałbym móc korzystać z funkcji Back to My Mac przez Internet IPv6. Mam już dostęp do protokołu IPv6 (tj. Moje lotnisko ma przypisany blok / 64 od mojego dostawcy usług internetowych i wysyła RA, więc każdy w sieci może automatycznie skonfigurować własne publiczne adresy IPv6. Mój komputer przypisuje sobie zarówno adres na podstawie swojego adresu MAC, i adres tymczasowy. Mogę odwiedzić witrynę ipv6.google.com i wszystko inne.), ale z jakiegoś powodu zarejestrowano bezużyteczny adres IPv6 pętli zwrotnej w usłudze Back to My Mac zamiast przydatnego adresu.

Oto co otrzymuję przy użyciu 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

Zarejestrowany adres IPv6 dotyczy ln0, interfejsu pętli zwrotnej, który jest bezużyteczny dla czegokolwiek poza komputerem obsługującym usługi. ifconfig wyświetla moje adresy IPv6, w tym automatycznie skonfigurowany, tymczasowy, publiczny adres IPv6 w prawdziwym interfejsie sieciowym mojego systemu, co byłoby idealne. Dlaczego dns-sd nie rejestruje usług przy użyciu tego adresu i jak mogę to zrobić?

Dodatkowa uwaga: mój router obsługuje NAT-PMP, więc nawet jeśli mój komputer nie ma bezpośrednio publicznego adresu IPv4, spodziewałbym się, że użyje NAT-PMP, aby upewnić się, że włączone przeze mnie usługi są dostępne przez IPv4, ale to nie wydaje się, że tak nie jest. Kiedy szukam instancji usługi w 12345678.members.btmm.icloud.comdomenie, a następnie używam dns-sd -G v4do rozpoznania podanej nazwy hosta, mówi, że nie ma rekordu IPv4.

bames53
źródło
Głębokie szczegóły, styczne do rozpatrywanego problemu, zapewniają jedne z najlepszych przykładów dokładnego użycia dns-sd. DUŻO bardziej pomocny niż strona man!
Bill Cole

Odpowiedzi:

5

Wygląda na to, że to, czego naprawdę szukasz, to Wide-Area Bonjour (odtąd „WAB”), który jest systemem, w którym klienci obsługujący Bonjour, oprócz rejestracji swoich usług w sieci lokalnej za pośrednictwem multiemisji DNS, używają również Dynamic DNS Aktualizacje (schemat jest w trakcie standaryzacji przez IETF w RFC2136 ), aby zarejestrować nie tylko ich adresy IP, ale także dostępne rekordy usług na tradycyjnym serwerze DNS emisji pojedynczej.

Instrukcje dotyczące konfigurowania komputera Mac do korzystania z WAB można znaleźć na stronie dns-sd.org . Mają nawet panel Preferencji systemowych, które można pobrać i zainstalować, aby to ułatwić. Sądzę, że mają również instrukcje, jak skonfigurować WAB do pracy z niektórymi znanymi dynamicznymi dostawcami usług DNS, którzy go obsługują, takimi jak dyn.com (alias dyndns.com). Jeśli gdzieś uruchomisz własny serwer DNS, możesz również znaleźć instrukcje na dns-sd.org, jak skonfigurować serwer DNS, aby działał jako serwer WAB. Aby uzyskać najlepsze wyniki, może być konieczne uruchomienie BIND.

Używanie dynamicznych usług DNS obsługujących WAB lub prowadzenie własnego serwera DNS obsługującego WAB to twoje jedyne możliwości. Serwery BTMM iCloud nie obsługują pełnego WAB.

Back to My Mac korzysta z części infrastruktury oprogramowania Wide-Area Bonjour, ale serwery iCloud BTMM nie zapewniają pełnej usługi WAB, tylko części potrzebne do konkretnego sposobu korzystania z BTMM. Jak odkryłeś, komputery klienckie BTMM umieszczają „unikalny adres lokalny” IPv6 (ULA) na swoich interfejsach sprzężenia zwrotnego i rejestrują tę ULA na serwerach BTMM. Połączenia między tymi ULA są obsługiwane przez tunele zabezpieczone IPsec, zazwyczaj IPv6-in-IPv4, między twoimi komputerami Mac BTMM. Celowo nie można łączyć się bezpośrednio z tymi usługami. To zmusza połączenia do przejścia przez tunel BTMM zabezpieczony IPsec. Oprogramowanie BTMM na komputerach Mac obsługuje uwierzytelnianie komputerów Mac za pomocą BTMM i korzystanie z tego, aby upewnić się, że tylko maszyny zalogowane na Twoim koncie BTMM mogą ustanowić tunele BTMM IPsec.

Aktualizacja: jeszcze kilka myśli:

  • Upewnij się, że opcja „Blokuj połączenia przychodzące” nie jest zaznaczona w ustawieniach IPv6 stacji bazowej AirPort. (Uwaga: Narzędzie AirPort 6.0 nie ma obecnie interfejsu użytkownika ustawień IPv6, więc aby to sprawdzić, należy użyć Narzędzia AirPort 5.6 lub wcześniejszego).
  • Czy możesz pingować publicznie routowalny, tymczasowy adres IPv6 swojego domowego komputera Mac z innej witryny?
  • Czy działa typowe połączenie BTMM (tj. Przez IPv4, z innego komputera Mac zalogowanego na to samo konto iCloud, z włączoną funkcją BTMM)? Dlaczego konkretnie próbujesz to zrobić za pośrednictwem protokołu IPv6? Mogę być w stanie pomóc ci lepiej, jeśli lepiej rozumiem twoje cele i ograniczenia.
Spiff
źródło
Dobra, to dobra informacja. Właściwie znam instrukcje dns-sd.org dotyczące konfigurowania i dostosowywania serwera DNS w tym celu. Widziałem też, że dyndns.org jakiś czas temu eksperymentował, ale ostatnio nie oglądałem. Nie mam nic przeciwko wymaganiom narzuconym przez BtMM, chcę tylko, żeby faktycznie działało. manualny ssh do limitu czasu ULA, przeglądanie za pomocą „New Remote Connect” pokazuje usługę, ale limit czasu połączenia, próba połączenia się z usługą _http poprzez menu Bonjour w przeglądarce Safari limit czasu.
bames53
Chyba muszę się dowiedzieć, co może spowodować, że próby połączenia z tym adresem zawsze przekroczą limit czasu, mimo że oczywiście mogę uzyskać dostęp do usługi (ponieważ próbuję tego z lokalnego komputera).
bames53
@ bames53 Ah. Jedną z rzeczy, które nie były dla mnie całkiem jasne z twojego pytania, było to, czy kiedykolwiek próbowałeś prostej próby połączenia BTMM. Było jasne, że masz (przynajmniej wychodzące) łączność IPv6 w domu, a BTMM Mac w domu. Ale nie było jasne, czy masz komputer BTMM Mac z łącznością IPv6 w innej witrynie; w którym kierunku próbowałeś nawiązać połączenie; z jakich usług próbowałeś skorzystać; czy działał typowy tunel BTMM IPv6-w-IPv4 ?; itd. Zaktualizuj swoje pytanie, aby było bardziej jasne na temat takich punktów, a jeśli pozwoli mi to uzyskać dodatkowe informacje, zaktualizuję również moją odpowiedź.
Spiff,
@ bames53 Nadal jestem zainteresowany dokładnym wykryciem problemu, więc jeśli chcesz zaktualizować swoje Pytanie, aby uzyskać więcej informacji zgodnie z zaleceniami, nadal chętnie pomogę.
Spiff
Nie próbowałem jeszcze prostego połączenia BtMM, ponieważ testowałem je z mojej sieci lokalnej, zanim zacząłem polegać na działaniu z innych źródeł. Zaktualizuję cię, kiedy będę miał okazję to przetestować. Chcę to rozgryźć, ponieważ nawet jeśli połączenie ze zdalnej sieci działa zgodnie z oczekiwaniami, chciałbym wiedzieć, dlaczego usługi iCloud są widoczne, ale niedostępne na lokalnym hoście.
bames53