宜蘭縣教育支援平台 會員登入 會員註冊 我的i教書

安裝在 Proxy Server 上,給 Proxy Server 使用,為了加快 DNS 查詢的速度,把查詢過的 DNS 記錄快取起來。
參考網站:
CentOS Cache-only DNS伺服器安裝設定[1]:::iThome Download-你要的軟體在這裡:::

1. 安裝套件
# yum install bind bind-chroot bind-utils

2. 修改設定檔  /etc/named.conf
# cp /etc/named.conf /etc/named.conf.$(date +%F)
# egrep -v '^$|//' /etc/named.conf
options {
#       listen-on port 53 { 127.0.0.1; };
#       listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; };
        /*
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable
           recursion.
         - If your recursive DNS server has a public IP address, you MUST enable access
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface
        */
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
        forward only;
        forwarders {
                168.95.1.1;

                8.8.8.8;
                };
        managed-keys-directory "/var/named/dynamic";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

 (閱讀全文)

一些常用的用法
正解
# dig abcd.tces.ilc.edu.tw @140.111.74.xxx
追踪
# dig +trace abcd.tces.ilc.edu.tw
反解
# dig -x 140.111.74.xxx @140.111.74.xxx
IPv6
# dig aaaa abcd.tces.ilc.edu.tw @140.111.74.xxx
DNS Server
# dig -t ns tces.ilc.edu.tw @140.111.74.xxx

 (閱讀全文)

參考網頁:How to install the fast and lightweight DNS Server MaraDNS on CentOS 7
                  MaraDNS tutorial
                  http://maradns.samiam.org/tutorial/man.csv2.html
建置 authoritative DNS server
1. 修改 /etc/mararc 設定檔
# egrep -v '^#|^$' /etc/mararc
# 設定 MaraDNS 為 authoritative DNS server
csv2 = {}
# 管理的網域
csv2["example.net."] = "db.example.net"
# MaraDNS Server IP
ipv4_bind_addresses = "127.0.0.1"
# 設定檔的位置
chroot_dir = "/etc/maradns"

 (閱讀全文)

MaraDNS 是一套 OpenSource 開放源碼、輕量級、容易設定且跨平台的 DNS Server,由 Sam Trenholme 所開發。
MaraDNS 官方網站:http://maradns.samiam.org/index.html
目前最新的版本是 2.0.11 版,2015.1.19 釋出。

底下是安裝的方式:
1. 使用 rpm 安裝
官方網站上有提供 for CentOS 6.x 版的 rpm 可以下載
CentOS 6.x 下載:http://maradns.samiam.org/download/2.0/2.0.11/rpmlist.html
下載:
# wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11-1.i686.rpm
進行安裝
# rpm -ivh maradns-2.0.11-1.i686.rpm

 (閱讀全文)

Master DNS Server - 192.168.1.3
Slave DNS Server - 192.168.1.12

Master DNS Server 的部分已設定完成,這篇文章主要針對 Slave DNS Server 來做設定
參考網頁:
Setup DNS Server On Debian 7 Wheezy | Unixmen
Mind Reference: Debian Slave DNS Server Setup

 (閱讀全文)

在網路中,DNS Server 服務是非常重要的,由 DNS Server 的 log 中,可以查詢到一些非常重要的資料。

# tail dns-security.log
24-Dec-2014 00:49:26.723 security: info: client 192.3.96.146#48302: query (cache) 'openresolver.com/A/IN' denied
24-Dec-2014 02:11:25.169 security: info: client 89.248.172.169#46003: query (cache) 'globe.gov/ANY/IN' denied
24-Dec-2014 05:09:04.502 security: info: client 202.153.191.99#60017: query (cache) './NS/IN' denied
24-Dec-2014 08:31:24.675 security: info: client 204.42.253.2#58601: query (cache) 'c526034a.openresolvertest.net/A/IN' denied
24-Dec-2014 08:59:36.327 security: info: client 124.232.142.220#54455: query (cache) 'www.google.com/A/IN' denied
24-Dec-2014 12:44:44.954 security: info: client 74.82.47.8#54631: query (cache) 'dnsscan.shadowserver.org/A/IN' denied
24-Dec-2014 15:33:08.420 security: info: client 207.244.82.115#48706: query (cache) './ANY/IN' denied

 (閱讀全文)

在 Debian 上安裝的 DNS Server 預設和 ArchLinux 一樣是沒有 chroot 的,為了 DNS Server 的安全,通常都會建議要以 chroot 的方式來執行。
參考網頁:Mind Reference: How to chroot bind9 in Debian
                     Bind9 - Debian Wiki
底下以 Script 檔來自動處理這項工作

 (閱讀全文)

因為目前學校用來建置 DNS Server 的系統為 CentOS 5.x,系統比較老舊一些,雖然它的支援期到 2017-03-31,但考量到 DNS Server 的負載沒那麼重,所以找了一台比較輕量級的電腦來擔任 DNS Server 的工作,替換下來的主機則可以做其它的用途。
參考網頁:Setup DNS Server On Debian 7 Wheezy | Unixmen
1. 安裝 DNS Server
# apt-get install bind9 bind9utils bind9-doc dnsutils

 (閱讀全文)

DNS 是網路設定的基礎,幾乎每天都要使用,設定錯誤可能就會無法正常連線,但它的安全性也一直受到關切,除了一般做限制遞迴查詢(recursion),限制 zone transfer,也可以考慮使用 DNSSEC。
以下資料引自:首頁 - DNSSEC技術中心
DNSSEC 是一個 DNS 的安全強化技術,它在原本的 DNS 標準上做了許多安全上的延伸,它以電子簽章技術為基礎,能有效避免 DNS 資料竄改等問題,同時仍相容於 DNS。

DNSSEC 相關安全技術,請參閱底下網站
DNSSEC安全技術簡介

這個部份會納入未來研究的課題。


參考網站:
bind - DNS 設定
中小企業 DNS Server 實戰應用(上)
中小企業 DNS Server 實戰應用(中)
中小企業 DNS Server 實戰應用(下)
中小企業 DNS Server 實戰應用(特集)

1. 避免成為 Open DNS servers
Open DNS servers 簡單來說,就是只要大家指向你為查詢伺服器,那麼你就會為大家努力的查詢,而且來者不拒。
# vim /etc/named.conf
#在檔案最上面加入 trusted 的 acl。
acl "trusted" {127.0.0.1; 192.168.1.0/24;};

options {
~其它 option 設定~
allow-recursion { trusted; };
};

 (閱讀全文)