วันอาทิตย์ที่ 26 มกราคม พ.ศ. 2557

ติดตั้ง bind บน ubuntu


  1. สมมติว่า name server ของ ISP ที่ให้บริการ มีหมายเลข ip คือ 10.0.0.5  และ name server ของเราเป็นเลข 10.0.1.3
    ก่อนติดตั้ง ให้ทดสอบว่า server เครื่องนี้ สามารถท่องอินเทอร์เนตได้อย่างสมบูรณ์
    • ลองใช้ browser ไปที่ www.google.com ว่าใช้งานได้
    • ตรวจสอบดู dns server ที่ตนเองใช้อยู่ในปัจจุบันในแฟ้ม /etc/resolv.conf
      ด้วยคำสั่งว่า  cat /etc/resolv.conf  ได้ข้อความประมาณว่า  nameserver 10.0.0.5
      ตัวอย่างนี้คือระบบเลือกใช้ name server มีหมายเลข ip คือ 10.0.0.5

    • ลองใช้คำสั่งว่า nslookup www.yahoo.com ได้คำตอบประมาณว่า
      Server:         10.0.0.5
      Address:        10.0.0.5#53

      Non-authoritative answer:
      www.yahoo.com   canonical name = www.yahoo.akadns.net.
      Name:   www.yahoo.akadns.net
      Address: 209.191.93.52

  2. ติดตั้งโปรแกรม bind  ด้วยคำสั่ง  sudo apt-get install bind9 bind9-doc bind9-host dnsutils
    สั่งให้ DNS sever ทำงาน ใช้คำสั่ง  sudo /etc/init.d/bind9 start
    ปรับแต่งค่าต่างๆได้ที่แฟ้ม /etc/bind/named.conf.options
    แล้วสั่งให้ DNS server ทำงานใหม่ด้วยคำสั่ง  sudo /etc/init.d/bind9 reload

  3. การทำเป็น name server แบบ forward only
    แก้ไขแฟ้ม /etc/bind/named.conf.options  ให้มีข้อมูลประมาณดังตัวอย่าง

    options {
            directory "/var/cache/bind";
            forward first;
               forwarders {
                    10.0.0.5;
                };
            auth-nxdomain no;
            allow-query { any; };
    };

    แก้ไขเสร็จแล้ว ให้สั่ง reload name server ใหม่  ด้วยคำสั่ง sudo /etc/init.d/bind9 reload

    ทดสอบผลงานด้วยคำสั่ง
    nslookup www.yahoo.com 127.0.0.1
    ได้ผลประมาณว่า
    Server:         127.0.0.1
    Address:        127.0.0.1#53

    Non-authoritative answer:
    www.yahoo.com    canonical name = www.wa1.b.yahoo.com.
    www.wa1.b.yahoo.com    canonical name = www-real.wa1.b.yahoo.com.
    Name:    www-real.wa1.b.yahoo.com
    Address: 209.131.36.158


    ถึงตอนนี้แสดงว่า name server ของเราทำงานเป็นแบบ forward only  ได้แล้ว

  4. หากต้องการทำเป็น caching only ด้วยก็ให้ทำต่อคือ
    แก้ไขแฟ้ม /etc/resolv.conf เพิ่มข้อความว่า
    name server 127.0.0.1 ไว้บนบรรทัดแรกสุด ประมาณว่า

    nameserver 127.0.0.1
    nameserver 10.0.0.5

    หมายความว่า ให้เลือก query จากตนเองก่อน หากไม่พบ ก็ไปต่อที่ 10.0.0.5

    แก้ไขแค่นี้ ก็ใช้ได้แล้ว ไม่ต้องไป reload หรือ restart
    รอสัก 2 นาที แล้วลองทดสอบผลงานด้วยคำสั่ง
    nslookup www.yahoo.com
    ได้ผลประมาณว่า
    Server:         127.0.0.1
    Address:        127.0.0.1#53

    Non-authoritative answer:
    www.yahoo.com    canonical name = www.wa1.b.yahoo.com.
    www.wa1.b.yahoo.com    canonical name = www-real.wa1.b.yahoo.com.
    Name:    www-real.wa1.b.yahoo.com
    Address: 209.131.36.158
    แสดงว่าใช้งานได้แล้ว

  5. หากต้องการทำเป็น name server สำหรับบริการทั่วๆไป
    มีตนเองเป็น primary และมี myisp.domain.com เป็น secondary
    ****  ต้องยกเลิกหรือลบบรรทัดข้อความในแฟ้ม  /etc/bind/named.conf.options  (ถ้ามี)ว่า  forward first;   ทิ้งออกไปด้วย

    แก้ไขที่แฟ้ม /etc/bind/named.conf.local
    **** การใส่ comment ใน zone file ให้ใส่เครื่องหมาย ";" นำหน้า
    ให้มีข้อมูล zone และ reserve zone ที่ต้องการ ดังตัวอย่าง
    zone "mydomain.com" {
       type master;
       allow-query { any; };
       file "/etc/bind/my-domain.zone";
    };
    zone "1.0.10.in-addr.arpa" {
      type master;
      file "/etc/bind/10-0-1.zone";
    };

    ต่อไปให้สร้างแฟ้ม zone ต่างๆ
    แก้ไขแฟ้ม /etc/bind/my-domain.zone  ให้มีข้อมูลประมาณดังตัวอย่าง
    $TTL    3D
    @               IN SOA  localhost.  root.localhost (
                                            200611146       ; serial (d. adams)
                                            3H              ; refresh
                                            15M             ; retry
                                            1W              ; expiry
                                            1D )            ; minimum
                    NS   ns
                  
    localhost       A       127.0.0.1
    ns               A       10.0.1.3
    myserver1    A       10.0.1.207
    myserver2    A       10.0.1.208

    ต่อไปให้สร้างแฟ้ม reverse zone
    แก้ไขแฟ้ม /etc/bind/10-0-1.zone  มีข้อมูลประมาณดังตัวอย่าง
    $TTL    3D
    @               IN SOA  localhost.  root.localhost  (
                                            200611142       ; serial (d. adams)
                                            3H              ; refresh
                                            15M             ; retry
                                            1W              ; expiry
                                            1D )            ; minimum
                    NS   ns
                    NS   myisp.domain.com

    205             PTR     myserver1.mydomain.com.
    207             PTR     myserver1.mydomain.com.

    ให้ DNS ทำงานด้วยคำสั่ง sudo /etc/init.d/bind9 restart
    ทดสอบใช้งานได้เลย

  6. ตัวอย่างการทำ name server 2 ตัว ตัวหนึ่งเป็น master  อีกตัวเป็น slave เพื่อสำรองข้อมูล
    สมมติว่าเลข ip ของ master เป็น 10.0.0.5 และ slave เป็น 10.0.0.6

    บน master ทำการติดตั้งทำนองเดียวกับ name server ทั่วไป
    แต่ให้แก้ไขแฟ้ม /etc/bind/named.conf.local เป็นประมาณตามตัวอย่างว่า
    zone "mydomain.com" {
       type master;
       allow-query { any; };
       file "/etc/bind/my-domain.zone";
       allow-transfer { 10.0.0.6; };
    };

    บน slave ทำการติดตั้งทำนองเดียวกับ name server ทั่วไป
    แต่ให้แก้ไขแฟ้ม /etc/bind/named.conf.local เป็นประมาณตามตัวอย่างว่า
    zone "mydomain.com" {
       type slave;
       allow-query { any; };
       file "/var/cache/bind/my-domain.zone";
       allow-transfer { 10.0.0.6; };
    };

    ให้ DNS ทำงานด้วยคำสั่ง sudo /etc/init.d/bind9 reload
    ทดสอบใช้งานได้เลย

ไม่มีความคิดเห็น:

แสดงความคิดเห็น