{"id":190,"date":"2026-04-05T22:49:13","date_gmt":"2026-04-05T13:49:13","guid":{"rendered":"https:\/\/falcon21.space\/kazuya\/work\/?page_id=190"},"modified":"2026-04-15T11:07:54","modified_gmt":"2026-04-15T02:07:54","slug":"dns%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e6%a7%8b%e7%af%89","status":"publish","type":"page","link":"https:\/\/falcon21.space\/kazuya\/work\/?page_id=190","title":{"rendered":"DNS\u30b5\u30fc\u30d0\u30fc\u69cb\u7bc9"},"content":{"rendered":"\n<p>BIND\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/p>\n\n\n\n<p>[root@falcon21 ~]# dnf -y install bind\u3000<\/p>\n\n\n\n<p>IND\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6<br>[root@falcon21 ~]# vi \/etc\/named.conf<br>options {<br>listen-on port 53 { 127.0.0.1; };<br>listen-on-v6 port 53 { ::1; };<br>directory &#8220;\/var\/named&#8221;;<br>dump-file &#8220;\/var\/named\/data\/cache_dump.db&#8221;;<br>statistics-file &#8220;\/var\/named\/data\/named_stats.txt&#8221;;<br>memstatistics-file &#8220;\/var\/named\/data\/named_mem_stats.txt&#8221;;<br>secroots-file &#8220;\/var\/named\/data\/named.secroots&#8221;;<br>recursing-file &#8220;\/var\/named\/data\/named.recursing&#8221;;<br>allow-query { localhost; };<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    \/*\n     - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.\n     - If you are building a RECURSIVE (caching) DNS server, you need to enable\n       recursion.\n     - If your recursive DNS server has a public IP address, you MUST enable access\n       control to limit queries to your legitimate users. Failing to do so will\n       cause your server to become part of large scale DNS amplification\n       attacks. Implementing BCP38 within your network would greatly\n       reduce such attack surface\n    *\/\n    recursion yes;\n\n    dnssec-validation yes;\n\n    managed-keys-directory \"\/var\/named\/dynamic\";\n    geoip-directory \"\/usr\/share\/GeoIP\";\n\n    pid-file \"\/run\/named\/named.pid\";\n    session-keyfile \"\/run\/named\/session.key\";\n\n    \/* https:\/\/fedoraproject.org\/wiki\/Changes\/CryptoPolicy *\/\n    include \"\/etc\/crypto-policies\/back-ends\/bind.config\";<\/code><\/pre>\n\n\n\n<p>};<\/p>\n\n\n\n<p>logging {<br>channel default_debug {<br>file &#8220;data\/named.run&#8221;;<br>severity dynamic;<br>};<br>};<\/p>\n\n\n\n<p>zone &#8220;.&#8221; IN {<br>type hint;<br>file &#8220;named.ca&#8221;;<br>};<\/p>\n\n\n\n<p>include &#8220;\/etc\/named.rfc1912.zones&#8221;;<br>include &#8220;\/etc\/named.root.key&#8221;;<\/p>\n\n\n\n<p>************************************************************************************************************<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>falcon21.space\u306e\u5185\u90e8\u5411\u3051\u30be\u30fc\u30f3\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb\u4f5c\u6210<br>[root@falcon21 ~]# vi \/etc\/named\/named.falcon21.space.zone<br>zone &#8220;falcon21.space&#8221; {<br>type master;<br>file &#8220;falcon21.space.db&#8221;;<br>};<br>zone &#8220;10.168.192.in-addr.arpa&#8221; {<br>type master;<br>file &#8220;10.168.192.in-addr.arpa.db&#8221;;<br>};<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u5916\u90e8\u5411\u3051\u30be\u30fc\u30f3\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb\u4f5c\u6210\u3000\u3000\u3000<br>[root@falcon21 ~]# vi \/etc\/named\/named.falcon21.space.zone.wan<br>\/\/ \u6b63\u5f15\u304d\u8a2d\u5b9a<br>zone &#8220;falcon21.space&#8221; {<br>type master;<br>file &#8220;falcon21.space.db.wan&#8221;;<br>allow-query { any; };<br>};<\/p>\n\n\n\n<p>\/\/ \u9006\u5f15\u304d\u8a2d\u5b9a<br>zone &#8220;94.3.181.203.in-addr.arpa&#8221; {<br>type master;<br>file &#8220;94.3.181.203.in-addr.arpa.db.wan&#8221;;<br>};<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>IPv4\u306e\u307f\u6709\u52b9\u306b\u3059\u308b(error (network unreachable) resolving\u3068\u3044\u3046\u30a8\u30e9\u30fc\u30ed\u30b0\u306e\u51fa\u529b\u6291\u6b62)<br>[root@falcon21 ~]# echo OPTIONS=&#8221;-4&#8243; &gt;&gt; \/etc\/sysconfig\/named<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u30eb\u30fc\u30c8\u30be\u30fc\u30f3(named.ca)\u6700\u65b0\u5316<br>[root@falcon21 ~]# dig . ns @198.41.0.4 +bufsize=1024 &gt; \/var\/named\/named.ca\u3000<\/p>\n\n\n\n<p>\u30eb\u30fc\u30c8\u30be\u30fc\u30f3\u81ea\u52d5\u66f4\u65b0\u8a2d\u5b9a<br>1\u30f6\u6708\u306b\u4e00\u5ea6\u3001\u30eb\u30fc\u30c8\u30be\u30fc\u30f3\u304c\u6700\u65b0\u304b\u30c1\u30a7\u30c3\u30af\u3057\u3001\u66f4\u65b0\u3055\u308c\u3066\u3044\u308c\u3070\u30eb\u30fc\u30c8\u30be\u30fc\u30f3\u306e\u6700\u65b0\u5316\u53ca\u3073\u3001BIND\u306e<br>\u518d\u8d77\u52d5\u3092\u81ea\u52d5\u7684\u306b\u884c\u3046\u3088\u3046\u306b\u3059\u308b\u3002<br>\u203b\u30eb\u30fc\u30c8\u30be\u30fc\u30f3\u304c\u66f4\u65b0\u3055\u308c\u3066\u3044\u305f\u5834\u5408\u306e\u307f\u3001\u65b0\u65e7\u30eb\u30fc\u30c8\u30be\u30fc\u30f3\u60c5\u5831\u53ca\u3073\u3001\u65b0\u65e7\u30eb\u30fc\u30c8\u30be\u30fc\u30f3\u306e<br>\u5dee\u5206\u60c5\u5831\u3092root\u5b9b\u306b\u30e1\u30fc\u30eb\u3059\u308b<\/p>\n\n\n\n<p>\u30eb\u30fc\u30c8\u30be\u30fc\u30f3\u6708\u6b21\u81ea\u52d5\u6700\u65b0\u5316\u30b9\u30af\u30ea\u30d7\u30c8\u4f5c\u6210<br>[root@falcon21 ~]# vi \/etc\/cron.monthly\/named.root_update<\/p>\n\n\n\n<h1 class=\"wp-block-heading has-system-font-font-family has-small-font-size\">!\/bin\/bash<\/h1>\n\n\n\n<p class=\"has-small-font-size\">new=<code>mktemp<\/code><br>errors=<code>mktemp<\/code><\/p>\n\n\n\n<p class=\"has-small-font-size\">dig . ns @198.41.0.4 +bufsize=1024 &gt; $new 2&gt; $errors<\/p>\n\n\n\n<p class=\"has-small-font-size\">if [ $? -eq 0 ]; then<br>sort_new=<code>mktemp<\/code><br>sort_old=<code>mktemp<\/code><br>diff_out=<code>mktemp<\/code><br>sort $new &gt; $sort_new<br>sort \/var\/named\/named.ca &gt; $sort_old<br>diff &#8211;ignore-matching-lines=^\\; $sort_new $sort_old &gt; $diff_out<br>if [ $? -ne 0 ]; then<br>(<br>echo &#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; old named.root &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8216;<br>cat \/var\/named\/named.ca<br>echo<br>echo &#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; new named.root &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8216;<br>cat $new<br>echo &#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- difference &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#8216;<br>cat $diff_out<br>) | mail -s &#8216;named.root updated&#8217; root<br>cp -f $new \/var\/named\/named.ca<br>chown named. \/var\/named\/named.ca<br>chmod 644 \/var\/named\/named.ca<br>which systemctl &gt; \/dev\/null 2&gt;&amp;1<br>systemctl restart named-chroot &gt; \/dev\/null<br>fi<br>rm -f $sort_new $sort_old $diff_out<br>else<br>cat $errors | mail -s &#8216;named.root update check error&#8217; root<br>fi<br>rm -f $new $errors<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u30eb\u30fc\u30c8\u30be\u30fc\u30f3\u6708\u6b21\u81ea\u52d5\u6700\u65b0\u5316\u30b9\u30af\u30ea\u30d7\u30c8\u3078\u5b9f\u884c\u6a29\u9650\u4ed8\u52a0<br>[root@falcon21 ~]# chmod 700 \/etc\/cron.monthly\/named.root_update<\/p>\n\n\n\n<p>\u5185\u90e8\u5411\u3051\u6b63\u5f15\u304d\u30be\u30fc\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9(\u30c9\u30e1\u30a4\u30f3\u540d\u21d2IP\u30a2\u30c9\u30ec\u30b9)\u4f5c\u6210\u3000\u3000\u3000<\/p>\n\n\n\n<p>\u6b63\u5f15\u304d\u30be\u30fc\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4f5c\u6210<br>[root@falcon21 ~]# vi \/var\/named\/falcon21.space.db<br>$TTL 86400<br>@ IN SOA ns1.falcon21.space. root.falcon21.space. (<br>2025111012 ; Serial<br>28800 ; Refresh<br>14400 ; Retry<br>3600000 ; Expire<br>86400 ) ; Minimum<br>IN NS ns1.falcon21.space.<br>IN MX 10 falcon21.space.<br>@ IN A 192.168.10.3<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>IN A 192.168.10.3<\/li>\n<\/ul>\n\n\n\n<p>\u5185\u90e8\u5411\u3051\u9006\u5f15\u304d\u30be\u30fc\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9(IP\u30a2\u30c9\u30ec\u30b9\u21d2\u30c9\u30e1\u30a4\u30f3\u540d)\u4f5c\u6210\u3000\u3000<br>\u9006\u5f15\u304d\u30be\u30fc\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4f5c\u6210<br>[root@falcon21 ~]# vi \/var\/named\/10.168.192.in-addr.arpa.db<br>$TTL 86400<br>@ IN SOA falcon21.space. root.falcon21.space.(<br>2025103101 ; Serial<br>28800 ; Refresh<br>14400 ; Retry<br>3600000 ; Expire<br>86400 ) ; Minimum<br>IN NS falcon21.space.<br>3 IN PTR falcon21.space.<\/p>\n\n\n\n<p>\u5916\u90e8\u5411\u3051\u6b63\u5f15\u304d\u30be\u30fc\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9(\u30c9\u30e1\u30a4\u30f3\u540d\u21d2IP\u30a2\u30c9\u30ec\u30b9)\u4f5c\u6210 \u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000<br>\u5916\u90e8\u5411\u3051\u6b63\u5f15\u304d\u30be\u30fc\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4f5c\u6210<br>[root@falcon21 ~]# vi \/var\/named\/falcon21.space.db.wan<br>$TTL 86400<br>@ IN SOA ns1.falcon21.space. root.falcon21.space.(<br>2025103101 ; Serial<br>7200 ; Refresh<br>7200 ; Retry<br>2419200 ; Expire<br>86400 ) ; Minimum<\/p>\n\n\n\n<p>IN NS    ns1.falcon21.space.<br>    IN MX 10 falcon21.space.<\/p>\n\n\n\n<p>ns1 IN A 203.181.3.94<br>@ IN A 203.181.3.94<br>www IN A 203.181.3.94<br>mail IN A 203.181.3.94<br>falcon21.space. IN TXT &#8220;v=spf1 ip4:203.181.3.94 ~all&#8221;<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u5916\u90e8\u5411\u3051\u9006\u5f15\u304d\u30be\u30fc\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4f5c\u6210<br>[root@falcon21 ~]# vi \/var\/named\/94.3.181.203.in-addr.arpa.db.wan\u3000\u3000<br>$TTL 86400<br>@ IN SOA ns1.falcon21.space. root.falcon21.space.(<br>2025103101 ; Serial<br>7200 ; Refresh<br>7200 ; Retry<br>2419200 ; Expire<br>86400 ) ; Minimum<br>IN NS ns1.falcon21.space.<br>94 IN PTR falcon21.space.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>BIND\u8d77\u52d5<\/p>\n\n\n\n<p>root@falcon21:~# systemctl enable named<br>Created symlink &#8216;\/etc\/systemd\/system\/multi-user.target.wants\/named.service&#8217; \u2192 &#8216;\/usr\/lib\/systemd\/system\/named.service&#8217;.<\/p>\n\n\n\n<p>root@falcon21:~# systemctl restart named<br>Created symlink &#8216;\/etc\/systemd\/system\/multi-user.target.wants\/named.service&#8217; \u2192 &#8216;\/usr\/lib\/systemd\/system\/named.service&#8217;.<br>Job for named.service failed because the control process exited with error code.<br>See &#8220;systemctl status named.service&#8221; and &#8220;journalctl -xeu named.service&#8221; for details.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>BIND\u8d77\u52d5\u30a8\u30e9\u30fc\u3000\u5bfe\u51e6<\/p>\n\n\n\n<p>named.conf\u30c1\u30a7\u30c3\u30af<br>[root@falcon21 ~]# named-checkconf -z \/etc\/named.conf<\/p>\n\n\n\n<p>\u30be\u30fc\u30f3\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb\u306e\u30c1\u30a7\u30c3\u30af<br>[root@falcon21 ~]# named-checkzone falcon21.space<\/p>\n\n\n\n<p>\u30be\u30fc\u30f3\u30d5\u30a1\u30a4\u30eb\u30c1\u30a7\u30c3\u30af<br>[root@falcon21 ~]# named-checkzone falcon21.space \/var\/named\/10.168.192.in-addr.arpa.db<\/p>\n\n\n\n<p>[root@falcon21 ~]# named-checkzone falcon21.space \/var\/named\/falcon21.space.db<\/p>\n\n\n\n<p>[root@falcon21 ~]# named-checkzone falcon21.space \/var\/named\/falcon21.space.db.wan<\/p>\n\n\n\n<p>[root@falcon21 ~]# named-checkzone falcon21.space \/var\/named\/94.3.181.203.in-addr.arpa.db.wan<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>BIND\u81ea\u52d5\u8d77\u52d5\u8a2d\u5b9a<\/p>\n\n\n\n<p>[root@falcon21 ~]# systemctl start named<\/p>\n\n\n\n<p>[root@falcon21 ~]# systemctl enable named<\/p>\n\n\n\n<p>\u8d77\u52d5\u78ba\u8a8d<br>[root@falcon21 ~]# systemctl restart named<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u8a2d\u5b9a\u3000TCP53\u756a\u3001UDP53\u756a\u30dd\u30fc\u30c8\u958b\u653e<\/p>\n\n\n\n<p>[root@falcon21 ~]# firewall-cmd &#8211;add-service=dns<br>success<\/p>\n\n\n\n<p>[root@falcon21 ~]# firewall-cmd &#8211;runtime-to-permanent<br>success<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>BIND\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb [root@falcon21 ~]# dnf -y install bind\u3000 IND\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6[root@falcon21 ~]# vi \/etc\/named.confoptions {li [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-190","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/falcon21.space\/kazuya\/work\/index.php?rest_route=\/wp\/v2\/pages\/190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/falcon21.space\/kazuya\/work\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/falcon21.space\/kazuya\/work\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/falcon21.space\/kazuya\/work\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/falcon21.space\/kazuya\/work\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=190"}],"version-history":[{"count":3,"href":"https:\/\/falcon21.space\/kazuya\/work\/index.php?rest_route=\/wp\/v2\/pages\/190\/revisions"}],"predecessor-version":[{"id":327,"href":"https:\/\/falcon21.space\/kazuya\/work\/index.php?rest_route=\/wp\/v2\/pages\/190\/revisions\/327"}],"wp:attachment":[{"href":"https:\/\/falcon21.space\/kazuya\/work\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}