Czy rekord DNS CNAME z symbolem wieloznacznym jest prawidłowy?

87

Wiem, że poprawne jest posiadanie DNS Rekord, który jest symbolem wieloznacznym (np. * .Mysite.com). Czy jest możliwe / ważne / zalecane posiadanie rekordu CNAME z symbolami wieloznacznymi?

Ben Mills
źródło
Poza tym: nadal nie daje to możliwości, aby sama mysite.com stała się CNAME.
reinierpost

Odpowiedzi:

60

Można to zrobić. W pewnym momencie unosił się nieco w powietrzu, aż 4592 wyjaśnił, że należy go wspierać.

To, że jest to możliwe, nie oznacza, że ​​jest obsługiwany przez wszystkich dostawców DNS. Na przykład GoDaddy nie pozwoli ci ustawić symbolu wieloznacznego w rekordzie CNAME.

To, czy jest to wskazane, czy nie, zależy od sposobu użytkowania. Zazwyczaj CNAMES są używane dla wygody, gdy wskazuje się na „zewnętrzną” nazwę domeny, na której nie kontroluje się DNS.

Załóżmy na przykład, że skonfigurowałeś system CMS, który pozwala mieć * .mycms.com jako nazwę strony (używa nagłówków hosta). Chcesz, aby klienci mogli łatwo skonfigurować * .cms.customer.com, nie martwiąc się, że w pewnym momencie możesz zmienić swój adres IP. W takim przypadku możesz poradzić im, aby utworzyli znak CNAME o nazwie * .cms.customer.com na stronie www.mycms.com.

Ponieważ symbole wieloznaczne CNAMES nie są obsługiwane przez wszystkich dostawców (takich jak GoDaddy), nie radziłbym używać go w przypadku, gdy zasugerowałeś go różnym klientom (gdzie nie znasz możliwości ich dostawcy).

Adam Brand
źródło
8
W rzeczywistości możesz skonfigurować wieloznaczny DNS za pomocą GoDaddy. Po prostu ustaw Host na „**”.
Chris Pietschmann,
2
Widzę, że ** jest akceptowane przez narzędzie menedżera DNS GoDaddy, ale czy działa ono jako symbol wieloznaczny? Wygląda na nieudokumentowaną funkcję.
dunxd,
4
Przetestowałem to: ** nie działa jako symbol wieloznaczny w GoDaddy DNS. Dzwoniłem wiele razy, aby upewnić się, że nie ma sposobu, aby to zrobić (nawet z ich Premium DNS) przed przejściem do innego dostawcy z tego powodu.
mltsy,
3
@mltsy: jedna z naszych głównych stron korzysta z symboli wieloznacznych dns w połączeniu z GoDaddy. Mamy już od kilku lat i nie korzystamy z ich Premium DNS. Również, to *nie **.
NotMe
2
@DaveKanter oh, masz rację. W artykułach wymieniono tylko rekordy A. Niemniej jednak udało mi się w *lutym pomyślnie skonfigurować rekord CNAME z symbolem wieloznacznym dla klienta. Korzystanie z pulpitu GoDaddy. I potwierdzam, że działa tak, jak można się spodziewać.
e1v
20

Dodałem linię

*.www        IN CNAME        my_webserver

do mojego pliku strefy w mojej konfiguracji powiązań i to działało idealnie (tj. whatever.www.domain.comi whatever2.www.domain.comwszystkie wskazywały my_webserver.

Można było również dodać wyjątki od tego, dodając wiersz

exception.www        IN CNAME        another_server

to exception.www.domain.comwskazywało na another_server.

Ztyx
źródło
4

Cały czas korzystamy z DNS-ów i nie mieliśmy żadnych problemów. Jeśli wskażesz na ipaddres, użyj:

*.mysite.com     Host (A)    Default     xxx.xxx.xxx.xxx

Jeśli chcesz użyć aliasu, wykonaj:

*.mysite.com.   IN CNAME mysite.com.
Colt Blake
źródło
Pierwsza konfiguracja zadziałała dla nas dobrze, gdy użyliśmy wieloznacznego certyfikatu ssl cert (ssl.com), w którym chcieliśmy, aby każdy użytkownik miał nazwę użytkownika.mysite.com
Jogin
4

O ile pamiętam, możesz (ish) to zrobić, ale CNAME nie może być używany przez żaden inny typ rekordu, taki jak NS lub MX.

Nie jestem pewien, co próbujesz osiągnąć za pomocą „symbolu wieloznacznego”, więc muszę udzielić ogólnej odpowiedzi :)

Aby to wyjaśnić, CNAME aserver.domain oznacza, że ​​nie możesz mieć innej nazwy .aserver.domain

Są wyjątki, ale nie wiem, co to są poza moją głową, i nie jestem pewien, co chcesz zrobić, więc nie będę marnować czasu.

MattB
źródło
Dziękujemy za ostrzeżenie dotyczące udostępniania CNAMErekordu innemu typowi rekordu dla tej samej domeny. Miałem podobny problem, a mój serwer DNS zwykle ostrzega mnie przed kolizjami, ale w tym przypadku tak nie było, ponieważ CNAME był dla, *.example.coma dodatkowy rekord ( TXTrekord) dotyczył określonej subdomeny subdomain1.example.com. Więc to nie złapało starcia! Ups
Paul d'Aoust,
2

po utworzeniu rekordu CNAME zakończ wskazany serwer kropką, np .: * .mydomain.com. Zwróć uwagę na ostatnią kropkę

Jesus Mogollon
źródło
1

Oto wyniki mojego testu. Usunąłem rekordy A dla mysite.com i www.mysite.com i dodałem rekord CNAME dla * .mysite.com. Test nie zadziałał. mysite.com nie rozwiąże. Dla jasności używam OpenDNS dla moich serwerów DNS. Może działa dobrze z innymi serwerami DNS, ale oczywiście chcę, aby działał uniwersalnie. Na podstawie tych wyników zamierzam trzymać się standardowych rekordów A.

Ben Mills
źródło
Czy to nie jest oczekiwane zachowanie? O ile widzę * .mysite.com nie pasuje do mysite.com, niezależnie od typu RR. Czy to działa z rekordami A?
markdrayton
Nie, „ ” pasuje do jednej lub więcej etykiet, więc „ .example.com” nie pasuje do „example.com”
Alnitak
Nie wiedziałem o tym, ale to ma sens. Wygląda więc na to, że potrzebuję co najmniej jednego rekordu A dla nazwy domeny root, a następnie mógłbym użyć rekordu CNAME z symbolem wieloznacznym do pokrycia wszystkiego innego. Nie tak naprawdę chciałem, ale przynajmniej wiem.
Ben Mills,
1

Teraz działa.

Wystarczy użyć „*” w sekcji cname edytora plików strefy lub menedżera DNS od Godaddy, wskazując nazwę IP lub DNS.

W moim przypadku użyłem go z nazwą DNS wskazującą usługę w chmurze Microsoft Azure i działało świetnie. Działa to dla bla.domain.ext, ale także dla bla.bla.domain.ext. Może działać inaczej u innego dostawcy.

Martijn van Halen
źródło
1
Rekordy CNAME DNS nie wskazują adresów URL ani adresów IP, ale pojedynczą nazwę DNS, której nazwa z wpisem CNAME jest równoważna.
Falcon Momot,
Zauważyłem, że zmieniłem odpowiedź
Martijn van Halen