forked from restitux/mumble-wiki-export
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SRV_Record.html
62 lines (49 loc) · 3.25 KB
/
SRV_Record.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<p>The SRV (''Service Record'') is a resource record used in DNS, allowing the specification of host and port locations for services on a domain.</p>
<p>SRV Record support was added in '''Mumble 1.3.0'''. </p>
<p>SRV Records are evaluated before ''A'', ''AAAA'', or ''CNAME'' records.</p>
<h3>Purpose</h3>
<p>SRV Records are useful because they allow easy and clear multi-host configurations from the client point of view.<br />
<br><br />
From the perspective of a server host, you no longer need to worry about a mumble-specific subdomain, or providing port configuration details (if they are non-default) to prospective clients – all of that information is gleaned from the SRV record.</p>
<h2>SRV Record</h2>
<h3>SRV Specification</h3>
<p>SRV Records are formatted as such:</p>
<p> _service._proto.name TTL class SRV priority weight port target</p>
<ul>
<li>'''service''': the symbolic name of the desired service.</li>
<li>'''proto''': the transport protocol of the desired service; this is usually either TCP or UDP.</li>
<li>'''name''': the domain name for which this record is valid.</li>
<li>'''TTL''': standard DNS time to live field.</li>
<li>'''class''': standard DNS class field.</li>
<li>'''priority''': the priority of the target host, lower value means more preferred.</li>
<li>'''weight''': A relative weight for records with the same priority.</li>
<li>'''port''': the TCP or UDP port on which the service is to be found.</li>
<li>'''target''': the canonical hostname of the machine providing the service.</li>
</ul>
<h3>Mumble Records</h3>
<p>Mumble uses the following values:</p>
<ul>
<li>'''service''': mumble</li>
<li>'''proto''': tcp</li>
</ul>
<h3>Examples</h3>
<p>A typical SRV record for mumble might look like this:<br />
<span style="color:gray;">''# _service._proto.name. TTL CLASS SRV PRIORITY WEIGHT PORT TARGET''</span><br />
_mumble._tcp.example.com. 86400 IN SRV 0 5 64738 mumble.example.com.</p>
<h4>Subdomains</h4>
<p>You can also supplement an existing subdomain hosted service by adding an SRV record for it.<br />
<br><br />
This will allow you to use arbitrary ports easier, or change/move the subdomain ''A'', ''AAAA'', or ''CNAME'' record without requiring clients to reconfigure.</p>
<p>Subdomains might be configured like this:<br />
<span style="color:gray;">''# _service._proto.name. TTL CLASS SRV PRIORITY WEIGHT PORT TARGET''</span><br />
_mumble._tcp.mumble.example.com. 86400 IN SRV 0 5 64738 mumble.example.com.<br />
_mumble._tcp.mumble.example.com. 86400 IN SRV 0 5 3050 murmur2.example.net.</p>
<h2>SSL Certificates and SRV</h2>
<p>Mumble will connect using the domain specified in the '''name''' value, so if having a signed and valid SSL Certificate is important, make sure it is issued for the '''name''' domain.</p>
<h2>Further Reading</h2>
<p>SRV Records can be used for fail-over, and load balancing, but these are more complicated concepts (and some are hard to apply to Mumble), so they are not explored here.</p>
<ul>
<li>[https://en.wikipedia.org/wiki/SRV_record SRV Record on Wikipedia]</li>
<li>[http://tools.ietf.org/html/rfc2782 RFC 2782]</li>
<li>[https://www.digitalocean.com/docs/networking/dns/how-to/manage-records/#srv-records Digital Ocean SRV Records]</li>
</ul>