quais são os nomes de zona válidos ou nomes de serviço válidos para registros srv?

quais são os nomes de zona válidos ou nomes de serviço válidos para registros srv?

Tenho seguido alguns guias/perguntas sobre como usar registros A e registros SRV para mapear um domínio para um IP e porta específicos, como 1.1.1.1:1889:

https://stackoverflow.com/questions/11433570/how-to-use-srv-or-any-other-record-do-redirect-a-domain

https://stackoverflow.com/questions/19015138/how-to-redirect-dns-to- Different-ports

Em questões como as acima, eles recomendam o uso de registros SRV. A única parte que não tenho certeza é como determinar o servicenome correto a ser usado em meu registro SRV. Por exemplo, digamos que eu tenha esses registros

mysql.example.com.  86400 IN A 1.1.1.1
mongo.example.com.  86400 IN A 1.1.1.1
www.example.com.  86400 IN A 1.1.1.1
mosquitto.example.com.  86400 IN A 1.1.1.1
_mysql._tcp.example.com. 86400 IN SRV 10 20 3306 mysql.example.com.
_mongo._tcp.example.com. 86400 IN SRV 10 20 27017 mongo.example.com.
_http._tcp.example.com. 86400 IN SRV 10 20 3306 www.example.com.
_mqtt._tcp.example.com. 86400 IN SRV 10 20 3306 mosquitto.example.com.

Os _mysql, _mongo, _http and _mqttnomes de serviço corretos para usar em meus registros SRV? Adivinhei completamente esses nomes de serviços porque não consegui encontrar um site que listasse todos os nomes de serviços aceitáveis ​​​​que podem ser usados.

Responder1

Primeiro, os navegadores da web não seguem SRVnenhum registro; portanto, mesmo que você possa projetá-los, eles serão inúteis.

Agora dado o processo genérico para saber o que entra em qualquer registro, tomando SRVcomo exemplo.

IANA é a guardiã das coisas, então acessehttps://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4onde você pode ver SRVque está definido na RFC 2782

Lá é definido como tal:

Aqui está o formato do SRV RR, cujo código de tipo DNS é 33:

   _Service._Proto.Name TTL Class SRV Priority Weight Port Target

com então respectivamente:

Serviço

   The symbolic name of the desired service, as defined in Assigned
   Numbers [STD 2] or locally.  An underscore (_) is prepended to
   the service identifier to avoid collisions with DNS labels that
   occur in nature.

e

Proto

   The symbolic name of the desired protocol, with an underscore
   (_) prepended to prevent collisions with DNS labels that occur
   in nature.  _TCP and _UDP are at present the most useful values
   for this field, though any name defined by Assigned Numbers or
   locally may be used (as for Service).  The Proto is case
   insensitive.

A referência [STD 2] é RFC 1700, mas a RFC 3232 a tornou obsoleta para criar um banco de dados online de valores possíveis... que é novamente administrado pela IANA.

Agora está lá:https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtmle observe que é basicamente o que você encontra no arquivo /etc/servicesde qualquer caixa Unix.

Então, retomando seus exemplos (seus números de porta estão errados em vários SRVregistros descritos):

  • mysqlé de fato definido para porta, 3306portanto é válido como nome de serviço e, portanto, em um SRVregistro
  • para port 27017, o nome do serviço é mongodb, não mongo(mas os clientes Mongo honram SRVos registros?)
  • httpé de fato definido para a porta, 80portanto é um nome de serviço válido (e httpspara a porta 443)
  • mqtté definido como um nome de porta válido, para port 1883. Mas mesma pergunta acima: os clientes usam SRVregistros?

Observe também que existem vários SRVregistros na natureza que não seguem o acima. Se puderem ser publicados, eles "funcionam", nada impedirá a resolução deles no nível DNS, mesmo que não usem um nome de serviço registrado como acima, desde que algum aplicativo os leia.

Por exemplo, você pode encontrar muitos exemplos com _sip._tlsou _sipfederationtls._tcponline, que estão errados: tlsnão é um protocolo válido e sipfederantiontlsnão é um nome de serviço válido (e na verdade é muito longo, comohttps://www.rfc-editor.org/rfc/rfc6335.html#section-5.1especifica que deve ter no máximo 15 caracteres). Portanto, algumas ferramentas/IU podem impedir a criação desses registros em um arquivo de zona e alguns servidores de nomes podem se recusar a carregá-los, mas na maioria dos casos eles funcionarão (se os aplicativos os consumirem).

informação relacionada