<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.anope.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.anope.org/index.php?action=history&amp;feed=atom&amp;title=2.0%2FModules%2Fos_dns</id>
		<title>2.0/Modules/os dns - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.anope.org/index.php?action=history&amp;feed=atom&amp;title=2.0%2FModules%2Fos_dns"/>
		<link rel="alternate" type="text/html" href="https://wiki.anope.org/index.php?title=2.0/Modules/os_dns&amp;action=history"/>
		<updated>2026-05-29T18:39:23Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.4</generator>

	<entry>
		<id>//wiki.anope.org/index.php?title=2.0/Modules/os_dns&amp;diff=769&amp;oldid=prev</id>
		<title>Azander at 20:07, 8 May 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.anope.org/index.php?title=2.0/Modules/os_dns&amp;diff=769&amp;oldid=prev"/>
				<updated>2014-05-08T20:07:03Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 20:07, 8 May 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;;POOL, DEPOOL :adds or remove servers to their given zones.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;;POOL, DEPOOL :adds or remove servers to their given zones.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''NOTE''': This module is disabled by default.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;'''NOTE''': This module is disabled by default.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Commands&amp;lt;/div&amp;gt; == &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Commands&amp;lt;/div&amp;gt; == &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Azander</name></author>	</entry>

	<entry>
		<id>//wiki.anope.org/index.php?title=2.0/Modules/os_dns&amp;diff=768&amp;oldid=prev</id>
		<title>Azander: Created page with &quot;{{Language|2.0/Modules/os_dns}} {{Syntax|os_dns|OperServ|Anope}}  == &lt;div class=&quot;moduleheader&quot;&gt;Description&lt;/div&gt; == This command allows managing DNS zones used for controlling...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.anope.org/index.php?title=2.0/Modules/os_dns&amp;diff=768&amp;oldid=prev"/>
				<updated>2014-05-08T20:06:40Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Language|2.0/Modules/os_dns}} {{Syntax|os_dns|OperServ|Anope}}  == &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Description&amp;lt;/div&amp;gt; == This command allows managing DNS zones used for controlling...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Language|2.0/Modules/os_dns}}&lt;br /&gt;
{{Syntax|os_dns|OperServ|Anope}}&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Description&amp;lt;/div&amp;gt; ==&lt;br /&gt;
This command allows managing DNS zones used for controlling what servers users are directed to when connecting. Omitting all parameters prints out the status of the DNS zone.&lt;br /&gt;
&lt;br /&gt;
;ADDZONE, DELZONE :adds/removes a zone, eg us.yournetwork.tld. Servers can then be added to this zone with the '''ADDSERVER''' command.&lt;br /&gt;
&lt;br /&gt;
;ADDSERVER, DELSERVER :adds/removes a server to the given zone. When a query is done, the zone in question is served if it exists, else all servers in all zones are served. A server may be in more than one zone.&lt;br /&gt;
&lt;br /&gt;
;ADDIP,DELIP :associates/disassociates an IP with a server.&lt;br /&gt;
&lt;br /&gt;
;POOL, DEPOOL :adds or remove servers to their given zones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE''': This module is disabled by default.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Commands&amp;lt;/div&amp;gt; == &lt;br /&gt;
;ADDZONE zone.name&lt;br /&gt;
;DELZONE zone.name&lt;br /&gt;
;ADDSERVER server.name [zone.name]&lt;br /&gt;
;DELSERVER server.name [zone.name]&lt;br /&gt;
;ADDIP server.name ip.address&lt;br /&gt;
;DELIP server.name ip.address&lt;br /&gt;
;SET server.name option value&lt;br /&gt;
;POOL server.name &lt;br /&gt;
;DEPOOL server.name&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Examples&amp;lt;/div&amp;gt; ==&lt;br /&gt;
/msg OperServ DNS ADDZONE fred.com&lt;br /&gt;
&lt;br /&gt;
/msg OperServ DNS ADDSERVER server1.fred.com fred.com&lt;br /&gt;
&lt;br /&gt;
/msg OperServ DNS ADDIP server1.fred.com 192.168.1.2&lt;br /&gt;
&lt;br /&gt;
/msg OperServ DNS POOL server1.fred.com&lt;br /&gt;
&lt;br /&gt;
/msg OperServ DNS SET LIMIT server1.fred.com 200&lt;br /&gt;
&lt;br /&gt;
/msg OperServ DNS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;div class=&amp;quot;moduleheader&amp;quot;&amp;gt;Default Configuration&amp;lt;/div&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * os_dns&lt;br /&gt;
 *&lt;br /&gt;
 * Provides the command operserv/dns.&lt;br /&gt;
 *&lt;br /&gt;
 * This module requires that m_dns is loaded.&lt;br /&gt;
 *&lt;br /&gt;
 * This module allows controlling a DNS zone. This is useful for&lt;br /&gt;
 * controlling what servers users are placed on for load balancing,&lt;br /&gt;
 * and to automatically remove split servers.&lt;br /&gt;
 *&lt;br /&gt;
 * To use this module you must set a nameserver record for services&lt;br /&gt;
 * so that DNS queries go to services.&lt;br /&gt;
 *&lt;br /&gt;
 * Alternatively, you may use a slave DNS server to hide service's IP,&lt;br /&gt;
 * provide query caching, and provide better fault tolerance.&lt;br /&gt;
 *&lt;br /&gt;
 * To do this using BIND, configure similar to:&lt;br /&gt;
 *&lt;br /&gt;
 * options { max-refresh-time 60; };&lt;br /&gt;
 * zone &amp;quot;irc.example.com&amp;quot; IN {&lt;br /&gt;
 *   type slave;&lt;br /&gt;
 *   masters { 127.0.0.1 port 5353; };&lt;br /&gt;
 * };&lt;br /&gt;
 *&lt;br /&gt;
 * Where 127.0.0.1:5353 is the IP and port services are listening on.&lt;br /&gt;
 * We recommend you externally firewall both UDP and TCP to the port&lt;br /&gt;
 * Anope is listening on.&lt;br /&gt;
 *&lt;br /&gt;
 * Finally set a NS record for irc.example.com. to BIND or services.&lt;br /&gt;
 */&lt;br /&gt;
#module&lt;br /&gt;
{&lt;br /&gt;
        name = &amp;quot;os_dns&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        /* TTL for records. This should be very low if your records change often. */&lt;br /&gt;
        ttl = 1m&lt;br /&gt;
&lt;br /&gt;
        /* If a server drops this many users the server is automatically removed from the DNS zone.&lt;br /&gt;
         * This directive is optional.&lt;br /&gt;
         */&lt;br /&gt;
        user_drop_mark = 50&lt;br /&gt;
&lt;br /&gt;
        /* The time used for user_drop_mark. */&lt;br /&gt;
        user_drop_time = 1m&lt;br /&gt;
&lt;br /&gt;
        /* When a server is removed from the zone for dropping users, it is readded after this time.&lt;br /&gt;
         * This directive is optional.&lt;br /&gt;
         */&lt;br /&gt;
        user_drop_readd_time = 5m&lt;br /&gt;
&lt;br /&gt;
        /* If set, when a server splits, it is automatically removed from the zone. */&lt;br /&gt;
        remove_split_servers = yes&lt;br /&gt;
&lt;br /&gt;
        /* If set, when a server connects to the network, it will be automatically added to&lt;br /&gt;
         * the zone if it is a known server.&lt;br /&gt;
         */&lt;br /&gt;
        readd_connected_servers = no&lt;br /&gt;
}&lt;br /&gt;
#command { service = &amp;quot;OperServ&amp;quot;; name = &amp;quot;DNS&amp;quot;; command = &amp;quot;operserv/dns&amp;quot;; permission = &amp;quot;operserv/dns&amp;quot;; }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Azander</name></author>	</entry>

	</feed>