<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>named &#8211; richliu&#039;s blog</title>
	<atom:link href="https://richliu.com/tag/named/feed/" rel="self" type="application/rss+xml" />
	<link>https://richliu.com</link>
	<description>Linux, 工作, 生活, 家人</description>
	<lastBuildDate>Mon, 30 Oct 2017 04:45:31 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Bind Zone Forward</title>
		<link>https://richliu.com/2017/10/30/2194/bind-zone-forward/</link>
					<comments>https://richliu.com/2017/10/30/2194/bind-zone-forward/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Mon, 30 Oct 2017 04:45:31 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Bind]]></category>
		<category><![CDATA[forward]]></category>
		<category><![CDATA[named]]></category>
		<category><![CDATA[zone]]></category>
		<guid isPermaLink="false">https://richliu.com/?p=2194</guid>

					<description><![CDATA[<p>如果有特定的 domain 要指向特定的 Server 這時候就要用 Zone Forward 指令 例如:  [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://richliu.com/2017/10/30/2194/bind-zone-forward/">Bind Zone Forward</a> appeared first on <a rel="nofollow" href="https://richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>如果有特定的 domain 要指向特定的 Server</p>
<p>這時候就要用 Zone Forward 指令</p>
<p>例如:</p>
<pre lang="text">
zone "subzone.mydns.example.com" {
  type forward;
  forwarders { 192.168.0.4; };
};
</pre>
<p>這樣就可以了</p>
<p>ref<br />
<a href="https://serverfault.com/questions/409190/how-to-properly-configure-bind-forward-zone-for-an-internal-dns-server" rel="noopener" target="_blank">How to properly configure BIND forward zone for an internal DNS server?</a><br />
<a href="http://www.zytrax.com/books/dns/ch7/zone.html#type" rel="noopener" target="_blank">DNS BIND zone clause</a></p>
<p>The post <a rel="nofollow" href="https://richliu.com/2017/10/30/2194/bind-zone-forward/">Bind Zone Forward</a> appeared first on <a rel="nofollow" href="https://richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://richliu.com/2017/10/30/2194/bind-zone-forward/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>自幹 dyndns</title>
		<link>https://richliu.com/2014/10/09/1674/%e8%87%aa%e5%b9%b9-dyndns/</link>
					<comments>https://richliu.com/2014/10/09/1674/%e8%87%aa%e5%b9%b9-dyndns/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Wed, 08 Oct 2014 17:01:20 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Bind]]></category>
		<category><![CDATA[dyndns]]></category>
		<category><![CDATA[named]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[schtasks]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">https://richliu.com/?p=1674</guid>

					<description><![CDATA[<p>之前好像免費的 dyndns 都收的差不多了, 好像很久沒有人提了. 今天心情還不錯, 就來架設自己的 dyn [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://richliu.com/2014/10/09/1674/%e8%87%aa%e5%b9%b9-dyndns/">自幹 dyndns</a> appeared first on <a rel="nofollow" href="https://richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>之前好像免費的 dyndns 都收的差不多了, 好像很久沒有人提了.<br />
今天心情還不錯, 就來架設自己的 dyndns.<br />
主要可以參考這二篇</p>
<p><a href="http://phorum.study-area.org/index.php?topic=40717.0" target="_blank" rel="noopener">[分享] 用 BIND 架設 DDNS Server 提供 DDNS 服務 </a>及<br />
<a href="http://www.study-area.org/tips/ddns.htm" target="_blank" rel="noopener">動態 DNS 設定技巧</a><br />
<span id="more-1674"></span></p>
<p>上網看了一下, 大家寫的非常長, 不過如果架過 DNS, 其實也沒有這麼難, 實作上還算簡單的.<br />
至少比想像中簡單許多<br />
1. 在 /var/bind/pri/named.domain.com 中加入你想要做 dyndns 的 domain name</p>
<p style="padding-left: 30px;">ex:<br />
test A 0.0.0.0</p>
<p style="padding-left: 30px;">別忘了改 serial number</p>
<p>2. 到 /var/bind/dyn 下產生 key</p>
<p style="padding-left: 30px;"># dnssec-keygen -a HMAC-MD5 -b 512 -n USER test.domain.name.<br />
會產生二個檔案, 內容產不多</p>
<p>3. 將 key 內容 copy 到 bind 去</p>
<p style="padding-left: 30px;">將其中的 Ktest.domain.name.+123+45678.key 內的</p>
<p style="padding-left: 30px;">&#8220;test.domain.name. IN KEY 0 3 157 WH3pLphbwFlc/F8C1tbFcdzWRfcDdYWu00KBM5l2OE0rAVHzXFO+dahU SRrPKC0AMcbO6mwV4oVK94G9J5u9aw==<br />
放到 /etc/bind/named.conf 內,</p>
<p style="padding-left: 30px;">key test.domain.name. {<br />
algorithm HMAC-MD5;<br />
secret &#8220;WH3pLphbwFlc/F8C1tbFcdzWRfcDdYWu00KBM5l2OE0rAVHzXFO+dahU SRrPKC0AMcbO6mwV4oVK94G9J5u9aw==&#8221;;<br />
};</p>
<p>4. 修改 zone 的設定</p>
<p style="padding-left: 30px;">zone &#8220;domain.name&#8221; in {<br />
type master;<br />
file &#8220;pri/named.domain&#8221;;<br />
allow-query{ any; };</p>
<p style="padding-left: 30px;">update-policy {<br />
grant test.domain.name. name test.domain.name. A;<br />
};<br />
};</p>
<p>5. Restart bind</p>
<p style="padding-left: 30px;"># /etc/init.d/named restart</p>
<p>6. 測試 Update 是否成功<br />
使用 nsupdate 工具向 Primary DNS 做更新動作：</p>
<p>$ nsupdate -k Ktest.domain.name.+123+45678.key<br />
&gt; server ns.domain.name // 指定 Primary DNS<br />
&gt; update delete test.domain.name A // 先刪除舊資料<br />
&gt; update add test.domain.name 0 A 1.1.1.1 // 再新增資料<br />
&gt; send // 送出到 Primary DNS<br />
$ dig @ns.domain.name test.domain.name<br />
;; ANSWER SECTION:<br />
test.domain.name. 0 IN A 1.1.1.1</p>
<p>如果不成功, 可以看一下 /var/log , 然後看看是不是少了 /var/bind/pri/named.domain.com.jnl, 這個權限要加上去<br />
如果重啟之後, 出現 &#8220;response to SOA query was unsuccessful&#8221;, 那個 .jnl 的檔案砍了再重來就可以了, 好像是改了 SOA 就會錯亂.</p>
<p>這樣算完成一半, 上面第二個 Link 內有 Linux Update 的範例, 不過 Windows 怎麼辦呢? 像中華電信每幾天會換一次 IP, 所以自動更新的功能只好自己硬幹了. 而且 Windows PPPoE Disconnect/connected 時都不會有 event 可以呼叫 script 去執行, 所以就每一陣子執行一次 script 更新一下 DNS 資料, 不重要的 Service 這樣做還好, 重要的話可能就不行, 但是重要的也不會放 PPPoE 上吧 XD</p>
<p>自己硬幹有幾個選擇</p>
<p style="padding-left: 30px;">[X] DOS BASH : 這個很差, 可能抓不到 IP<br />
[X] Cygwin : 這個在我的 Windows XP 上根本跑不起來, 被防毒軟體擋到不能用 :&lt;<br />
[O] Python : 這個好, 什麼地方都可以用, 只要跑簡單的程式的話, 還是 python 安定.</p>
<p>所以就自己寫了一個小程式<br />
1. 程式碼放到 github , 存成 update.py<br />
https://github.com/richliu/dnsupdate</p>
<p>2. 產生 template file, script.txt 內容如下</p>
<p style="padding-left: 30px;">server ns.domain.name<br />
update delete test.domain.name A<br />
update add test.domain.name 0 A SERVER_NEW_IP<br />
send</p>
<p>3. 產生一個空的 ip.dat 檔案. (懶得檢查了, 所以就自己動手最快)</p>
<p>4. 寫一個 run.bat 內容是</p>
<p style="padding-left: 30px;">cd C:\TEST\<br />
C:\Python27\python.exe update.py</p>
<p>5. 下載 bind 執行檔 for windows 32bit</p>
<p><a href="http://www.isc.org/downloads/bind/" target="_blank" rel="noopener">  http://www.isc.org/downloads/bind/</a></p>
<p>解出所有的 .dll 檔, 和 dig 及 nsupdate 丟到同一個目錄, 如果是 windows 32 bit, 別忘了執行一下程式內的 vcredist_x86.exe, 這是 visual c++ 2005 dll .</p>
<p>6. 定時執行</p>
<p style="padding-left: 30px;">如果 IP 有變的話就會更新 dyndns, 因為用 windows, 所以採用的是 schtasks.<br />
相關的說明可以上 Microsoft <a href="http://technet.microsoft.com/en-us/library/cc725744.aspx" target="_blank" rel="noopener">Schtasks</a> 網站看<br />
用下面這個指令就可以讓 script 每 5 分鐘執行一次<br />
# schtasks /create /tn &#8220;Check IP&#8221; /tr c:\TEST\run.bat /sc minute /mo 5</p>
<p>大.功.告.成.</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://richliu.com/2014/10/09/1674/%e8%87%aa%e5%b9%b9-dyndns/">自幹 dyndns</a> appeared first on <a rel="nofollow" href="https://richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://richliu.com/2014/10/09/1674/%e8%87%aa%e5%b9%b9-dyndns/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
