DNS และ DHCP ใน CentOS 7 - เครือข่าย SMB

ดัชนีทั่วไปของซีรี่ส์: Computer Networks for SMEs: Introduction

สวัสดีเพื่อน!. เราจะดูในบทความนี้ว่าเราจะใช้บริการคู่ที่สำคัญสำหรับเครือข่ายได้อย่างไรซึ่งประกอบด้วย DNS และ DHCP บน CentOS - Linux โดยเฉพาะในเวอร์ชัน 7.2

  • บางบทความเกี่ยวกับ DNS อ้างถึงข้อเท็จจริงที่ว่าการใช้บริการนี้ค่อนข้างคลุมเครือและยาก ฉันไม่ค่อยเห็นด้วยกับคำพูดนั้น ฉันอยากจะบอกว่ามันเป็นแนวคิดเล็กน้อยและไฟล์ config จำนวนมากมีไวยากรณ์ที่ยุ่งยาก โชคดีที่เรามีเครื่องมือในการตรวจสอบทีละขั้นตอนไวยากรณ์ของไฟล์กำหนดค่าแต่ละไฟล์ที่เราแก้ไข ดังนั้นเราจะพยายามทำให้การอ่านโพสต์นี้เป็นไปอย่างน่าพอใจและสนุกสนานมากที่สุด.

สำหรับผู้ที่กำลังมองหาข้อมูลพื้นฐานของบริการทั้งสองเราขอแนะนำอย่างยิ่งให้คุณเริ่มค้นหาใน Wikipedia ทั้งในเวอร์ชันภาษาสเปนและภาษาอังกฤษ เป็นเรื่องจริงไม่น้อยที่บทความที่เป็นภาษาอังกฤษมักจะสมบูรณ์และสอดคล้องกันมากกว่า ถึงกระนั้น Wikipedia ก็เป็นจุดเริ่มต้นที่ดีมาก

สำหรับผู้ที่ต้องการเรียนรู้เกี่ยวกับ DNS และ BIND เราขอแนะนำให้อ่านหนังสือ«OReilly - DNS และ BIND 4ed" เขียนโดย Paul albitz y จิ้งหรีดหลิวหรือรุ่นที่ใหม่กว่าที่มีอยู่แน่นอน

เราได้เผยแพร่บทความเกี่ยวกับหัวข้อ«DNS และ DHCP ใน openSUSE 13.2 Harlequin - เครือข่าย SME»สำหรับผู้ชื่นชอบสภาพแวดล้อมกราฟิก อย่างไรก็ตามจากนี้ไปพวกเขาจะต้องเจอกับบทความเกี่ยวกับเรื่องนี้ - ไม่ใช่เรื่องอื่น - เขียนโดยใช้โปรแกรมจำลองของเทอร์มินัลหรือคอนโซลจำนวนมาก ว้าวในรูปแบบคลาสสิกที่ใช้โดยUNIX® / Linux System Administrators

หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับนามสกุลของชื่อบทความนี้«เครือข่าย SME»คุณสามารถเยี่ยมชมเพจในบล็อกนี้ได้«เครือข่าย SME: การตัดเสมือนครั้งแรก«. ในนั้นคุณจะพบลิงค์ไปยังบทความที่เผยแพร่อื่น ๆ อีกมากมาย

  • หลังจากการติดตั้งระบบปฏิบัติการ CentOS 7 เสร็จสิ้นด้วยแพ็คเกจที่เราแนะนำ el ไดเรกทอรี /usr/share/doc/bind-9.9.4/ มีเอกสารจำนวนมากที่เราแนะนำให้คุณปรึกษาก่อนที่จะเข้าสู่การค้นหาทางอินเทอร์เน็ตโดยไม่รู้มาก่อนว่าคุณจะพบสิ่งที่คุณกำลังมองหาอยู่เพียงปลายนิ้วสัมผัสและในบ้านของคุณเอง

การติดตั้งระบบฐาน

ข้อมูลทั่วไปของโดเมนและเซิร์ฟเวอร์ DNS

ชื่อโดเมน: fromlinux.fan
ชื่อเซิร์ฟเวอร์ DNS: dns.fromlinux.fan
ที่อยู่ IP: 192.168.10.5
หน้ากากซับเน็ต: 255.255.255.0

การติดตั้ง

เราเริ่มต้นด้วยการติดตั้งระบบปฏิบัติการ CentOS 7 ใหม่หรือใหม่ทั้งหมดตามที่ระบุไว้ในบทความก่อนหน้า«CentOS 7 Hypervisor I - เครือข่าย SMB«. เราจำเป็นต้องทำการเปลี่ยนแปลงต่อไปนี้เท่านั้น:

  • ใน 22 imagen «การเลือกซอฟต์แวร์«ขอแนะนำให้เลือกในคอลัมน์ด้านซ้าย«สภาพแวดล้อมพื้นฐาน»ตัวเลือกที่เกี่ยวข้องกับ«เซิร์ฟเวอร์โครงสร้างพื้นฐาน«ขณะอยู่ในคอลัมน์ด้านขวา«ปลั๊กอินสำหรับสภาพแวดล้อมที่เลือก»เลือกกล่องกาเครื่องหมาย«เซิร์ฟเวอร์ชื่อ DNS«. เราจะติดตั้งเซิร์ฟเวอร์ DHCP ในภายหลัง
  • จำคำประกาศของที่เก็บเพิ่มเติมตามที่แสดงในไฟล์ 23 imagenหลังจากตั้งค่า«เครือข่ายและชื่อทีม"
  • ภาพที่อ้างถึงพาร์ติชันที่เราจะสร้างในฮาร์ดไดรฟ์ของเราจะได้รับเป็นแนวทางเท่านั้น อย่าลังเลที่จะเลือกพาร์ติชันตามดุลยพินิจฝึกฝนและวิจารณญาณของคุณเอง
  • สุดท้ายใน ภาพที่ 13 « NETWORK & TEAM NAME »เราต้องเปลี่ยนค่าตามพารามิเตอร์ทั่วไปของโดเมนที่ประกาศและเซิร์ฟเวอร์ DNS โดยไม่ลืมระบุชื่อโฮสต์ - ในกรณีนี้«DNS« - หลังจากการกำหนดค่าเครือข่ายเสร็จสิ้น เป็นเรื่องดีที่จะทำ ปิง - จากโฮสต์อื่น - ไปยังที่อยู่ IP ที่ระบุหลังจากที่เครือข่ายทำงาน:

DNS และ DHCP บน CentOS

มีการเปลี่ยนแปลงเพียงเล็กน้อยและชัดเจนมากที่เราต้องทำเมื่อเทียบกับบทความก่อนหน้านี้

การตรวจสอบเบื้องต้นและการปรับเปลี่ยน

หลังจากที่เราติดตั้งระบบปฏิบัติการเราต้องตรวจสอบไฟล์ต่อไปนี้เป็นอย่างน้อยและสำหรับสิ่งนี้เราเริ่มเซสชันผ่าน SSH จากคอมพิวเตอร์ของเรา sysadmin.fromlinux.fan:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
รหัสผ่านของ buzz@192.168.10.5: เข้าสู่ระบบครั้งสุดท้าย: ส. 28 ม.ค. 09:48:05 2017 จาก 192.168.10.1
[buzz @ dns ~] $

การดำเนินการข้างต้นอาจใช้เวลานานกว่าปกติและสาเหตุหลักมาจากการที่เรายังไม่มี DNS บน LAN ตรวจสอบอีกครั้งในภายหลังว่า DNS ใช้งานได้

[buzz @ dns ~] $ cat / etc / hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6

[buzz @ dns ~] $ cat / etc / hostname
DNS

[buzz @ dns ~] $ cat / etc / sysconfig / network-scripts / ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=946f5ac9-238a-4a94-9acb-9e3458c680fe
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.10.5
PREFIX=24
GATEWAY=192.168.10.1
DNS1=127.0.0.1
DOMAIN=desdelinux.fan

[buzz @ dns ~] $ cat /etc/resolv.conf 
# สร้างโดย NetworkManager ค้นหาจาก linux.fan nameserver 127.0.0.1

การกำหนดค่าหลักตอบสนองต่อการเลือกของเรา โปรดทราบว่าแม้แต่บนเซิร์ฟเวอร์ หมวกแดง 7 - CentOS 7ได้รับการกำหนดค่าโดยค่าเริ่มต้นเมื่อ NetworkManager ดังนั้นนี่คือผู้ที่จัดการอินเทอร์เฟซเครือข่ายไม่ว่าจะเป็นแบบใช้สายหรือไร้สาย (WiFi) การเชื่อมต่อ VPN การเชื่อมต่อ PPPoE และการเชื่อมต่อเครือข่ายอื่น ๆ

[buzz @ dns ~] $ sudo systemctl status networkmanager
[sudo] รหัสผ่านสำหรับ buzz: ● networkmanager.service โหลดแล้ว: ไม่พบ (เหตุผล: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว) ใช้งานอยู่: ไม่ได้ใช้งาน (ตาย)

[buzz @ dns ~] $ sudo systemctl status NetworkManager
● NetworkManager.service - Network Manager Loaded: โหลดแล้ว (/usr/lib/systemd/system/NetworkManager.service; เปิดใช้งาน; ค่าที่ตั้งไว้ล่วงหน้าของผู้ขาย: เปิดใช้งาน) ใช้งาน: ใช้งานอยู่ (ทำงาน) ตั้งแต่วันเสาร์ 2017-01-28 12:23:59 EST; 12 นาทีที่แล้ว PID หลัก: 705 (NetworkManager) CGroup: /system.slice/NetworkManager.service └─705 / usr / sbin / NetworkManager - no-daemon

Red Hat - CentOS ยังช่วยให้คุณสามารถเชื่อมต่อและยกเลิกการเชื่อมต่ออินเทอร์เฟซเครือข่ายโดยใช้คำสั่งคลาสสิก ถ้าขึ้น e ถ้าลง. มารันบนคอนโซลเซิร์ฟเวอร์:

[root @ dns ~] # ifdown eth0
ยกเลิกการเชื่อมต่ออุปกรณ์ 'eth0' เรียบร้อยแล้ว

[root @ dns ~] # ifup eth0
เปิดใช้งานการเชื่อมต่อสำเร็จ (เส้นทางที่ใช้งาน D-Bus: / org / freedesktop / NetworkManager / ActiveConnection / 1)
  • เราแนะนำ อย่าเปลี่ยนการตั้งค่าเริ่มต้นที่ CentOS 7 มีให้ NetworkManager.

เราประกาศที่เก็บข้อมูลที่เราจะใช้อย่างชัดเจนและอัปเดตระบบปฏิบัติการหากจำเป็น:

[buzz @ dns ~] $ su รหัสผ่าน: [root @ dns buzz] # cd /etc/yum.repos.d/
[root @ dns yum.repos.d] # ls -l
รวม 28 -rw-r - r--. 1 รูท 1664 9 ธันวาคม 2015 CentOS-Base.repo -rw-r - r--. 1 รูท 1309 9 ธันวาคม 2015 CentOS-CR.repo -rw-r - r-- 1 root root 649 9 ธันวาคม 2015 CentOS-Debuginfo.repo -rw-r - r--. 1 รูท 290 9 ธันวาคม 2015 CentOS-fasttrack.repo -rw-r - r-- 1 root root 630 9 ธันวาคม 2015 CentOS-Media.repo -rw-r - r--. 1 root root 1331 9 ธันวาคม 2015 CentOS-Sources.repo -rw-r - r--. 1 root root 1952 9 ธันวาคม 2015 CentOS-Vault.repo

การอ่านเนื้อหาของไฟล์การประกาศต้นฉบับจากที่เก็บที่แนะนำของ CentOS เป็นเรื่องปกติ การเปลี่ยนแปลงที่เราทำในที่นี้เกิดจากการที่เราไม่มีอินเทอร์เน็ตและเราทำงานร่วมกับที่เก็บข้อมูลในพื้นที่ที่ดาวน์โหลดจาก WWW Village โดยเพื่อนร่วมงานที่ทำให้ชีวิตของเราง่ายขึ้นเล็กน้อย 😉

[root @ dns yum.repos.d] # mkdir original
[root @ dns yum.repos.d] # mv CentOS- * original /

[root @ dns yum.repos.d] # นาโน centos-repos.repo
[centos-base]
name=CentOS-$releasever
baseurl=http://10.10.10.1/repos/centos/7/base/
gpgcheck=0
enabled=1

[centos-updates]
name=CentOS-$releasever
baseurl=http://10.10.10.1/repos/centos/7/updates/x86_64/
gpgcheck=0
enabled=1

[root @ dns yum.repos.d] # ยำสะอาดหมด
ปลั๊กอินที่โหลดแล้ว: fastmirror, langpacks การล้างที่เก็บ: centos-base centos-updates

[root @ dns yum.repos.d] # ยำอัปเดต
ปลั๊กอินที่โหลด: fastmirror, centos-base langpacks | 3.4 kB 00:00 centos-updates | 3.4 kB 00:00 (1/2): centos-base / primary_db | 5.3 MB 00:00 (2/2): centos-updates / primary_db | 9.1 MB 00:00 การกำหนดมิเรอร์ที่เร็วที่สุดไม่มีแพ็คเกจที่ทำเครื่องหมายสำหรับการอัปเดต

ข้อความ«ไม่มี (มี) แพ็คเกจที่ทำเครื่องหมายสำหรับการอัปเดต» - «ไม่มีแพ็คเกจที่ทำเครื่องหมายสำหรับการอัปเดต»ระบุว่าด้วยการประกาศที่เก็บข้อมูลล่าสุดที่มีให้เราในระหว่างการติดตั้งทำให้ได้ติดตั้งแพ็กเกจล่าสุดอย่างแม่นยำ

เกี่ยวกับบริบท SELinux และไฟร์วอลล์

เราจะเน้นบทความนี้โดยพื้นฐาน - เกี่ยวกับการใช้บริการ DNS และ DHCP ซึ่งเป็นวัตถุประสงค์หลัก

หากผู้อ่านรายใดเลือกนโยบายความปลอดภัยในระหว่างกระบวนการติดตั้งดังที่ระบุไว้ในไฟล์ 06 imagen ของบทความอ้างอิง«CentOS 7 Hypervisor I - เครือข่าย SMB»ใช้สำหรับการติดตั้ง DNS - เซิร์ฟเวอร์ DHCP และคุณพบว่าคุณไม่ทราบวิธีกำหนดค่า SELinux และ CentOS Firewall อย่างถูกต้องเราขอแนะนำให้คุณเรียกใช้สิ่งต่อไปนี้:

แก้ไขไฟล์ / etc / sysconfig / selinux และการเปลี่ยนแปลง SELINUX = บังคับใช้ โดย SELINUX = ปิดการใช้งาน

[root @ dns ~] # นาโน / etc / sysconfig / selinux
# ไฟล์นี้ควบคุมสถานะของ SELinux บนระบบ # SELINUX = สามารถรับค่าใดค่าหนึ่งจากสามค่านี้: # enforcing - บังคับใช้นโยบายความปลอดภัย SELinux # อนุญาต - SELinux พิมพ์คำเตือนแทนการบังคับใช้ # disabled - ไม่มีการโหลดนโยบาย SELinux
SELINUX = คนพิการ
# SELINUXTYPE = สามารถรับหนึ่งในสามค่า: # ที่กำหนดเป้าหมาย - กระบวนการที่กำหนดเป้าหมายได้รับการป้องกัน # ขั้นต่ำ - การปรับเปลี่ยนนโยบายที่กำหนดเป้าหมาย เฉพาะกระบวนการที่เลือกคือ pr $ # mls - การป้องกันความปลอดภัยหลายระดับ SELINUXTYPE = กำหนดเป้าหมาย

จากนั้นรันคำสั่งต่อไปนี้

[root @ dns ~] # setenforce 0
[root @ dns ~] # service firewalld stop
กำลังเปลี่ยนเส้นทางไปยัง / bin / systemctl stop firewalld.service

[root @ dns ~] # systemctl ปิดการใช้งาน firewalld
ลบ symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service ลบ symlink /etc/systemd/system/basic.target.wants/firewalld.service

หากคุณกำลังใช้งานเซิร์ฟเวอร์ DNS ที่หันหน้าเข้าหาอินเทอร์เน็ตคุณไม่ควรทำสิ่งที่กล่าวมาข้างต้น แต่กำหนดค่าบริบท SELinux และไฟร์วอลล์ให้ถูกต้อง ดู "การกำหนดค่าเซิร์ฟเวอร์ด้วย GNU / Linux โดยผู้เขียน Joel Barrios Dueñas" หรือเอกสาร CentOS เอง - Red Hat

เรากำหนดค่า BIND - ชื่อ

  • El ไดเรกทอรี /usr/share/doc/bind-9.9.4/ มีเอกสารจำนวนมากที่เราแนะนำให้คุณปรึกษาก่อนที่จะเข้าสู่การค้นหาทางอินเทอร์เน็ตโดยไม่รู้มาก่อนว่าเพียงปลายนิ้วสัมผัสและในบ้านของคุณเองคุณจะพบสิ่งที่คุณกำลังมองหา

ในหลาย ๆ การกระจายบริการ DNS ที่ติดตั้งผ่านแพ็คเกจ BIND เรียกว่า ชื่อ (ชื่อภูต). ใน CentOS 7 มีการติดตั้งปิดใช้งานโดยค่าเริ่มต้นตามผลลัพธ์ของคำสั่งต่อไปนี้โดยที่ระบุว่าสถานะคือ«พิการ«และสถานะนี้ถูกกำหนดไว้ล่วงหน้าโดย«ผู้ขาย» - ผู้ขายที่ตั้งไว้ล่วงหน้า. สำหรับบันทึก BIND เป็นซอฟต์แวร์ฟรี

เปิดใช้งานบริการที่มีชื่อ

[root @ dns ~] # สถานะ systemctl ชื่อ
● named.service - Berkeley Internet Name Domain (DNS) โหลดแล้ว: โหลดแล้ว (/usr/lib/systemd/system/named.service; พิการ; ค่าที่ตั้งไว้ล่วงหน้าของผู้ขาย: ปิดใช้งาน) ใช้งาน: ไม่ใช้งาน (ตาย)

[root @ dns ~] # systemctl เปิดใช้งานชื่อ
สร้าง symlink จาก /etc/systemd/system/multi-user.target.wants/named.service ถึง /usr/lib/systemd/system/named.service

[root @ dns ~] # systemctl เริ่มต้นชื่อ

[root @ dns ~] # สถานะ systemctl ชื่อ
● named.service - Berkeley Internet Name Domain (DNS) โหลดแล้ว: โหลดแล้ว (/usr/lib/systemd/system/named.service; เปิดการใช้งาน; ค่าที่ตั้งไว้ล่วงหน้าของผู้ขาย: ปิดใช้งาน)
   ใช้งานอยู่: ทำงาน (ทำงาน) ตั้งแต่ส. 2017-01-28 13:22:38 EST; 5 นาทีที่แล้วกระบวนการ: 1990 ExecStart = / usr / sbin / named -u ชื่อ $ OPTIONS (code = exited, status = 0 / SUCCESS) Process: 1988 ExecStartPre = / bin / bash -c if [! "$ DISABLE_ZONE_CHECKING" == "ใช่"]; จากนั้น / usr / sbin / named-checkconf -z /etc/named.conf; else echo "การตรวจสอบไฟล์โซนถูกปิดใช้งาน"; fi (code = exited, status = 0 / SUCCESS) Main PID: 1993 (named) CGroup: /system.slice/named.service └─1993 / usr / sbin / named -u ชื่อ 28 มกราคม 13:22:45 dns ชื่อ [1993]: ข้อผิดพลาด (เครือข่ายไม่สามารถเข้าถึงได้) ในการแก้ไข "./NS/IN ': 2001: 500: 2f :: f # 53 28 มกราคม 13:22:47 DNS ชื่อ [1993]: ข้อผิดพลาด (ไม่สามารถเข้าถึงเครือข่าย) ในการแก้ไข' ./ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 28 มกราคม 13:22:47 dns ชื่อ [1993]: ข้อผิดพลาด (ไม่สามารถเข้าถึงเครือข่าย) แก้ไข' ./NS/IN ': 2001: 500: 3 :: 42 # 53 28 ม.ค. 13:22:47 dns ชื่อ [1993]: ข้อผิดพลาด (ไม่สามารถเข้าถึงเครือข่าย) แก้ไข './DNSKEY/IN': 2001: 500: 2d :: d # 53 ม.ค. 28 13:22:47 dns ชื่อ [1993 ]: ข้อผิดพลาด (เครือข่ายไม่สามารถเข้าถึงได้) การแก้ไข "./NS/IN ': 2001: 500: 2d :: d # 53 28 ม.ค. IN ': 13: dc22 :: 47 # 1993 ม.ค. 2001 3:35:53 dns ชื่อ [28]: ข้อผิดพลาด (ไม่สามารถเข้าถึงเครือข่าย) แก้ไข' ./NS/IN ': 13: dc22 :: 47 # 1993 ม.ค. 2001 3: 35:53 dns ชื่อ [28]: ข้อผิดพลาด (ไม่สามารถเข้าถึงเครือข่าย) แก้ไข './DNSKEY/IN': 13: 22fe :: 47 # 1993 ม.ค. 2001 7:53:53 dns ชื่อ [28]: ข้อผิดพลาด (ไม่สามารถเข้าถึงเครือข่าย) res olving './NS/IN': 13: 22fe :: 47 # 1993 2001 มกราคม 7:53:53 dns ชื่อ [28] :aged-keys-zone: ไม่สามารถดึงชุด DNSKEY '.': หมดเวลา

[root @ dns ~] # systemctl รีสตาร์ทชื่อ

[root @ dns ~] # สถานะ systemctl ชื่อ
● named.service - โหลด Berkeley Internet Name Domain (DNS) แล้ว: โหลดแล้ว (/usr/lib/systemd/system/named.service; เปิดใช้งานพรีเซ็ตผู้ขาย: ปิดใช้งาน)
   ใช้งานอยู่: ทำงาน (ทำงาน) ตั้งแต่ส. 2017-01-28 13:29:41 EST; 1 วินาทีที่แล้วกระบวนการ: 1449 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (code = exited, status = 0 / SUCCESS) กระบวนการ: 1460 ExecStart = / usr / sbin / named -u ชื่อ $ OPTIONS (code = exited, status = 0 / SUCCESS) กระบวนการ: 1457 ExecStartPre = / bin / bash -c ถ้า [! "$ DISABLE_ZONE_CHECKING" == "ใช่"]; จากนั้น / usr / sbin / named-checkconf -z /etc/named.conf; else echo "การตรวจสอบไฟล์โซนถูกปิดใช้งาน"; fi (code = exited, status = 0 / SUCCESS) Main PID: 1463 (named) CGroup: /system.slice/named.service └─1463 / usr / sbin / named -u ชื่อ 28 มกราคม 13:29:41 dns ชื่อ [1463] :aged-keys-zone: journal file ล้าสมัย: การลบไฟล์เจอร์นัล 28 ม.ค. 13:29:41 dns ชื่อ [1463]: managed-keys-zone: loaded serial 2 ม.ค. 28 13:29:41 dns ชื่อ [1463]: zone 0.in-addr.arpa/IN: loaded serial 0 28 ม.ค. 13:29:41 dns ชื่อ [1463]: zone localhost.localdomain / IN: loaded serial 0 ม.ค. 28 13:29:41 dns ชื่อ [1463]: โซน 1.0.0.127.in-addr.arpa/IN: โหลดอนุกรม 0 28 มกราคม 13:29:41 dns ชื่อ [1463]: โซน 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .6.ip0.arpa / IN: โหลด serial 28 13 ม.ค. 29:41:1463 dns ชื่อ [0]: zone localhost / IN: โหลด serial 28 ม.ค. 13 29 : 41: 1463 dns ชื่อ [28]: ทุกโซนโหลด 13 ม.ค. 29:41:1463 dns ชื่อ [28]: รัน 13 ม.ค. 29:41:1 dns systemd [XNUMX]: เริ่ม Berkeley Internet Name Domain (DNS)

หลังจากเราเปิดใช้บริการ ชื่อ และเราเริ่มต้นเป็นครั้งแรกผลลัพธ์ของคำสั่ง ชื่อสถานะ systemctl แสดงข้อผิดพลาด เมื่อเราเริ่มบริการใหม่ด้านล่างไฟล์ ชื่อ สร้างไฟล์คอนฟิกูเรชันทั้งหมดที่โดยค่าเริ่มต้นจำเป็นสำหรับการดำเนินการที่ถูกต้อง ดังนั้นเมื่อเรารันคำสั่งอีกครั้ง ชื่อสถานะ systemctl ไม่มีการแสดงข้อผิดพลาดอีก

  • ผู้อ่านที่รักราคาแพงและเป็นที่ต้องการ: หากคุณต้องการค้นหาว่า - อย่างน้อยที่สุด - เส้นทางใดที่นำไปสู่จุดสิ้นสุดของโพรงกระต่ายโปรดอ่านผลลัพธ์โดยละเอียดของแต่ละคำสั่งอย่างใจเย็น 😉แน่นอนว่าบทความนี้จะดูยาวไปหน่อย แต่อย่าปฏิเสธว่าบทความนี้ได้รับคำอธิบายและความชัดเจน.

เราแก้ไขไฟล์ /etc/named.conf

ความคิดเห็นของผู้อ่านจำนวนมากแสดงความคิดเห็น -ฉันไม่พูดมัน- ความบ้าคลั่งที่ผู้ดูแลระบบลีนุกซ์รุ่นต่างๆมีการค้นหาไฟล์การกำหนดค่าระบบในโฟลเดอร์ที่มีชื่อต่างกันขึ้นอยู่กับ distro พวกเขาพูดถูก แต่พวกเราซึ่งเป็นผู้ใช้ทั่วไปที่ใช้การแจกแจงเหล่านี้สามารถทำอะไรได้บ้าง? ปรับ! 😉

อย่างไรก็ตามใน FreeBSD, UNIX®โคลน« The Origin »ไฟล์จะอยู่ในรูปแบบ /usr/local/etc/namedb/named.conf; ในขณะที่อยู่ใน Debian นอกเหนือจากการแบ่งออกเป็นสี่ไฟล์ named.conf, named.conf.options, named.conf.default-zones และ named.conf.localอยู่ในโฟลเดอร์ / etc / bind /. ผู้ที่ต้องการทราบว่า openSUSE วางไว้ที่ใดอ่าน«DNS และ DHCP ใน openSUSE 13.2 Harlequin - เครือข่าย SME«. ผู้อ่านใช่เลย! 😉

และอย่างที่เราทำอยู่เสมอ: ก่อนที่จะแก้ไขอะไรเราจะบันทึกไฟล์คอนฟิกูเรชันดั้งเดิมภายใต้ชื่ออื่น.

[root @ dns ~] # cp /etc/named.conf /etc/named.conf.original

เพื่อให้ชีวิตง่ายขึ้นแทนที่จะสร้างกุญแจ ทีเอสไอจี สำหรับการอัปเดต DNS แบบไดนามิกโดย DHCP เราคัดลอกคีย์เดียวกัน rndc.key ในขณะที่ dhcp.key.

[root @ dns ~] # cp /etc/rndc.key /etc/dhcp.key

[root @ dns ~] # นาโน /etc/dhcp.key
คีย์ "dhcp-key" {algorithm hmac-md5; ลับ "OI7Vs + TO83L7ghUm2xNVKg =="; };

เพื่อที่ ชื่อ สามารถอ่านไฟล์ที่เพิ่งคัดลอกเราแก้ไขกลุ่มเจ้าของ:

[root @ dns ~] # chown root: ชื่อ /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 รูทชื่อ 77 ม.ค. 28 16:36 น. /etc/dhcp.key -rw-r -----. 1 รูทชื่อ 77 ม.ค. 28 13:22 /etc/rndc.key

รายละเอียดเล็ก ๆ น้อย ๆ เช่นก่อนหน้านี้คือสิ่งที่ทำให้เราบ้าคลั่งที่พยายามคิดออกตอนนี้ ... ปัญหาอยู่ที่ไหน ... ? ด้วยคำคุณศัพท์เพิ่มเติมซึ่งเราไม่ได้เขียนด้วยความเคารพต่อ Respectable

ตอนนี้ถ้า - ในที่สุด! - เราแก้ไขไฟล์ /etc/named.conf. การเปลี่ยนแปลงหรือเพิ่มเติมที่เราได้ทำขึ้นซึ่งเกี่ยวกับต้นฉบับนั้นอยู่ในนั้น ตัวหนา. ลองดูว่ามีน้อยแค่ไหน.

[root @ dns ~] # นาโน /etc/named.conf
// // named.conf // // จัดทำโดยแพ็คเกจ Red Hat bind เพื่อกำหนดค่า ISC BIND ที่ชื่อ (8) DNS // เซิร์ฟเวอร์เป็นการแคชเฉพาะ nameserver (เป็นตัวแก้ไข DNS localhost เท่านั้น) // // ดู / usr / share / doc / bind * / sample / ตัวอย่างเช่นไฟล์ configuration //

// Access Control List ประกาศว่าเครือข่ายใดบ้างที่จะสามารถให้คำปรึกษาได้
// เซิร์ฟเวอร์ของฉันชื่อ
acl ติดหล่ม {
 127.0.0.0/8;
 192.168.10.0/24;
};

ตัวเลือก {
 // ฉันขอประกาศว่า daemon ที่มีชื่อฟังอินเทอร์เฟซด้วย
 // eth0 ซึ่งมี IP: 192.168.10.5
    พอร์ตฟัง 53 {127.0.0.1; 192.168.10.5; };
    ฟังบน v6 พอร์ต 53 {:: 1; }; ไดเรกทอรี "/ var / named"; ไฟล์ดัมพ์ "/var/named/data/cache_dump.db"; ไฟล์สถิติ "/var/named/data/named_stats.txt"; memstatistics- ไฟล์ "/var/named/data/named_mem_stats.txt";

 // คำสั่ง Forwarders
 // ผู้ส่งต่อ {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // ส่งต่อก่อน;

    // ฉันอนุญาตเฉพาะการสอบถามไปยัง ACL ที่มีสายของฉัน
    อนุญาตแบบสอบถาม {ติด; }; // หากต้องการตรวจสอบด้วยคำสั่ง dig desdelinux.fan axfr // จากเวิร์กสเตชัน SysAdmin และ localhost เท่านั้น // เราไม่มีเซิร์ฟเวอร์ DNS แบบทาส เราไม่ต้องการมัน ... จนถึงตอนนี้
 อนุญาตให้โอน {localhost; 192.168.10.1; };

    / * - หากคุณกำลังสร้างเซิร์ฟเวอร์ DNS ของผู้มีสิทธิ์โปรดอย่าเปิดใช้งานการเรียกซ้ำ - หากคุณกำลังสร้างเซิร์ฟเวอร์ DNS RECURSIVE (แคช) คุณต้องเปิดใช้งานการเรียกซ้ำ - หากเซิร์ฟเวอร์ DNS แบบเรียกซ้ำของคุณมีที่อยู่ IP สาธารณะคุณต้องเปิดใช้งานการควบคุมการเข้าถึงเพื่อ จำกัด การสืบค้นเฉพาะผู้ใช้ที่ถูกต้องของคุณ การไม่ทำเช่นนั้นจะทำให้เซิร์ฟเวอร์ของคุณกลายเป็นส่วนหนึ่งของการโจมตีด้วยการขยาย DNS ขนาดใหญ่ การใช้ BCP38 ภายในเครือข่ายของคุณจะช่วยลดพื้นที่การโจมตีดังกล่าวได้มาก * /
    // เราต้องการเซิร์ฟเวอร์ AUTHORITY สำหรับ LAN - SME ของเรา
    เลขเรียกซ้ำ;

    dnssec- เปิดใช้งานใช่; dnssec-validation ใช่; / * พา ธ ไปยังคีย์ ISC DLV * / bindkeys-file "/etc/named.iscdlv.key"; จัดการคีย์ไดเร็กทอรี "/ var / named / dynamic"; pid ไฟล์ "/run/named/named.pid"; เซสชันคีย์ไฟล์ "/run/named/session.key"; }; การบันทึก {channel default_debug {file "data / named.run"; พลวัตความรุนแรง }; }; โซน "." ใน {คำใบ้ประเภท; ไฟล์ "named.ca"; }; รวม "/etc/named.rfc1912.zones"; รวม "/etc/named.root.key";

// เรารวมคีย์ TSIG สำหรับการอัปเดต DNS แบบไดนามิก // โดย DHCP
รวม "/etc/dhcp.key";

// การประกาศชื่อประเภทตำแหน่งและสิทธิ์ในการอัปเดต
// ของโซนระเบียน DNS // โซนทั้งสองเป็น MASTERS
zone "desdelinux.fan" {
 ประเภทต้นแบบ
 ไฟล์ "ไดนามิก / db.fromlinux.fan";
 อนุญาตให้อัปเดต {คีย์ dhcp-key; };
};

โซน "10.168.192.in-addr.arpa" {
 ประเภทต้นแบบ
 ไฟล์ "ไดนามิก / db.10.168.192.in-addr.arpa";
 อนุญาตให้อัปเดต {คีย์ dhcp-key; };
};

เราตรวจสอบไวยากรณ์

[root @ dns ~] # named-checkconf 
[รูท @ dns ~] #

เนื่องจากคำสั่งดังกล่าวไม่ส่งคืนอะไรเลยไวยากรณ์จึงใช้ได้ อย่างไรก็ตามหากเรารันคำสั่งเดียวกัน แต่มีตัวเลือก -zผลลัพธ์จะเป็น:

[root @ dns ~] # named-checkconf -z
โซน localhost.localdomain / IN: โหลดอนุกรม 0 โซน localhost / IN: โหลดอนุกรม 0 โซน 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa / IN: โหลดอนุกรม 0 โซน 1.0.0.127.in-addr.arpa/IN: โหลดอนุกรม 0 โซน 0.in-addr.arpa/IN: โหลดอนุกรม 0 โซนจาก linux.fan/IN: โหลดจากมาสเตอร์ ไฟล์ไดนามิก / db.from linux.fan ล้มเหลว: ไม่พบไฟล์โซนจาก linux.fan/IN: ไม่โหลดเนื่องจากข้อผิดพลาด _default / desdelinux.fan / IN: ไม่พบไฟล์โซน 10.168.192.in-addr.arpa/IN: โหลดจากไฟล์หลักแบบไดนามิก / db.10.168.192.in-addr.arpa ล้มเหลว: ไม่พบไฟล์โซน 10.168.192 .in-addr.arpa / IN: ไม่โหลดเนื่องจากข้อผิดพลาด _default / 10.168.192.in-addr.arpa / IN: ไม่พบไฟล์

แน่นอนว่าเป็นข้อผิดพลาดที่เกิดขึ้นเนื่องจากเรายังไม่ได้สร้างโซนการลงทะเบียน DNS สำหรับโดเมนของเรา

  • สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง ชื่อ -checkconf, วิ่ง ผู้ชายชื่อ checkconfก่อนที่จะค้นหาข้อมูลอื่น ๆ บนอินเทอร์เน็ต ฉันรับรองว่าจะช่วยประหยัดเวลาได้เป็นอย่างดี

เราสร้างไฟล์ Direct Zone จาก linux.fan

... ไม่ใช่โดยไม่มีทฤษฎีก่อน 😉

ในฐานะเทมเพลตสำหรับสร้างไฟล์ข้อมูลโซนเราสามารถใช้ไฟล์ /var/named/named.emptyหรือ /usr/share/doc/bind-9.9.4/sample/var/named/named.empty. ทั้งสองเหมือนกัน

[root @ dns ~] # แมว /var/named/named.empty 
$ TTL 3H @ ใน SOA @ rname ไม่ถูกต้อง (0; อนุกรม 1D รีเฟรช 1H; ลองอีกครั้ง 1W หมดอายุ 3H); เวลาแคชขั้นต่ำหรือลบเพื่อใช้งาน NS @ A 127.0.0.1 AAAA :: 1

ช่วงเวลาแห่งชีวิต - เวลาอยู่ TTL บันทึก SOA

ลองใช้วงเล็บเพื่ออธิบายไฟล์ TTL - ถึงเวลาที่จะมีชีวิตอยู่ จากการลงทะเบียน SOA - จุดเริ่มต้นของอำนาจ ของ Master Zone เป็นเรื่องน่าสนใจที่จะรู้ความหมายเมื่อเราต้องการแก้ไขค่าใด ๆ

$ TTL: ช่วงเวลาแห่งชีวิต - ถึงเวลาที่จะมีชีวิตอยู่ สำหรับบันทึกทั้งหมดในไฟล์ที่เป็นไปตามการประกาศ (แต่นำหน้าการประกาศ $ TTL อื่น ๆ ) และไม่มีการประกาศ TTL อย่างชัดเจน

อนุกรม: หมายเลขซีเรียลของข้อมูลโซน ทุกครั้งที่เราแก้ไขระเบียน DNS ในโซนด้วยตนเองเราต้องเพิ่มจำนวนนั้นขึ้น 1 โดยเฉพาะอย่างยิ่งถ้าเรามีเซิร์ฟเวอร์ทาสหรือเซิร์ฟเวอร์รอง ทุกครั้งที่เซิร์ฟเวอร์ DNS รองหรือเซิร์ฟเวอร์ทาสติดต่อกับเซิร์ฟเวอร์หลักระบบจะขอหมายเลขซีเรียลของข้อมูลหลัก หากหมายเลขซีเรียลของทาสน้อยแสดงว่าข้อมูลสำหรับโซนนั้นบนเซิร์ฟเวอร์ทาสล้าสมัยและทาสจะทำการถ่ายโอนโซนเพื่ออัปเดตตัวเอง

รีเฟรช: จะบอกเซิร์ฟเวอร์ทาสถึงช่วงเวลาที่ควรตรวจสอบว่าข้อมูลเป็นปัจจุบันหรือไม่เมื่อเทียบกับต้นแบบ

ลองใหม่อีกครั้ง: หากเซิร์ฟเวอร์หลักไม่พร้อมใช้งาน - เพราะมันป่วยสมมติว่า - สำหรับทาสหลังจากช่วงเวลาหนึ่ง รีเฟรช, ลองใหม่อีกครั้ง มันบอกทาสว่าต้องรอนานแค่ไหนก่อนที่จะพยายามติดต่อเจ้านายของมันอีกครั้ง

หมดอายุ: หากทาสไม่สามารถติดต่อเจ้านายได้ในช่วงเวลาหนึ่ง หมดอายุจากนั้นถ้าความสัมพันธ์ของทาส - มาสเตอร์โซนถูกทำให้เสียหายและเซิร์ฟเวอร์ทาสไม่มีทางเลือกอื่นนอกจากจะหมดอายุโซนที่เป็นปัญหา การหมดอายุของโซนโดยเซิร์ฟเวอร์ DNS แบบทาสหมายความว่าจะหยุดตอบสนองต่อการสืบค้น DNS ที่เกี่ยวข้องกับโซนนั้นเนื่องจากข้อมูลที่มีอยู่เก่าเกินไปที่จะเป็นประโยชน์

  • ข้างต้นสอนเราทางอ้อมและเต็มไปด้วยสามัญสำนึกที่ดี - สามัญสำนึกอย่างน้อยที่สุด - ว่าถ้าเราไม่ต้องการเซิร์ฟเวอร์ DNS แบบทาสสำหรับการทำงานของ SME ของเราเราจะไม่นำไปใช้เว้นแต่ว่าจะมีความจำเป็นอย่างเคร่งครัด ลองเปลี่ยนจากแบบง่ายไปซับซ้อน.

ขั้นต่ำ: ในเวอร์ชันก่อนหน้า ผูก 8.2บันทึกล่าสุด SOA นอกจากนี้ยังระบุอายุการใช้งานเริ่มต้น - เวลาเริ่มต้นที่จะมีชีวิตอยู่ และอายุการใช้งานแคชเชิงลบ - เวลาแคชเชิงลบในการใช้งาน สำหรับโซน เวลานี้หมายถึงการตอบสนองเชิงลบทั้งหมดที่กำหนดโดยเซิร์ฟเวอร์ที่เชื่อถือได้สำหรับโซน

ไฟล์โซน /var/named/dynamic/db.fromlinux.fan

[root @ dns ~] # นาโน /var/named/dynamic/db.fromlinux.fan
$ TTL 3H @ ใน SOA dns.fromlinux.fan root.dns.fromlinux.fan (1; อนุกรม 1D รีเฟรช 1H; ลองอีกครั้ง 1W หมดอายุ 3H); ขั้นต่ำหรือ; เวลาแคชเชิงลบในการใช้งาน @ ใน NS dns.fromlinux.fan. @ IN MX 10 mail.fromlinux.fan. @ IN TXT "FromLinux บล็อกของคุณสำหรับซอฟต์แวร์ฟรี"; sysadmin IN A 192.168.10.1 ad-dc IN A 192.168.10.3 fileserver IN A 192.168.10.4 dns IN A 192.168.10.5 proxyweb IN A 192.168.10.6 blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8 mail IN A 192.168.10.9

เราตรวจสอบ /var/named/dynamic/db.fromlinux.fan

[root @ dns ~] # named-checkzone จาก linux.fan / var / named / dynamic / db. fromlinux.fan
โซนจาก linux.fan/IN: โหลด serial 1 OK

เราสร้างไฟล์ Reverse Zone 10.168.192.in-addr.arpa

  • บันทึก SOA ของโซนนี้เหมือนกับของ Direct Zone โดยไม่ต้องพิจารณาระเบียน MX.
[root @ dns ~] # นาโน /var/named/dynamic/db.10.168.192.in-addr.arpa
$ TTL 3H @ ใน SOA dns.fromlinux.fan root.dns.fromlinux.fan (1; อนุกรม 1D รีเฟรช 1H; ลองอีกครั้ง 1W หมดอายุ 3H); ขั้นต่ำหรือ; เวลาแคชเชิงลบในการใช้งาน @ ใน NS dns.fromlinux.fan. ; 1 ใน PTR sysadmin.fromlinux.fan 3 ใน PTR ad-dc.fromlinux.fan 4 ใน PTR fileserver.fromlinux.fan 5 ใน PTR dns.fromlinux.fan 6 ใน PTR proxyweb.desdelinux.fan 7 ใน PTR blog.desdelinux.fan 8 ใน PTR ftpserver.fromlinux.fan 9 ใน PTR mail.fromlinux.fan

[root @ dns ~] # named-checkzone 10.168.192.in-addr.arpa /var/named/dynamic/db.10.168.192.in-addr.arpa 
โซน 10.168.192.in-addr.arpa/IN: โหลด serial 1 OK

ก่อนที่จะรีสตาร์ทชื่อเราตรวจสอบการกำหนดค่า

  • จนกว่าเราจะแน่ใจว่าไฟล์คอนฟิกูเรชันของ named.conf และไฟล์โซนนั้นไม่ได้ถูกกำหนดค่าอย่างถูกต้องเราขอแนะนำว่าอย่ารีสตาร์ท daemon ที่มีชื่อ หากเราทำเช่นนี้และแก้ไขไฟล์โซนในภายหลังเราต้องเพิ่มหมายเลขซีเรียลของโซนที่แก้ไขด้วย 1.
  • ลองดูที่ "." ที่ส่วนท้ายของโดเมนและชื่อโฮสต์.
[root @ dns ~] # named-checkconf 
[root @ dns ~] # named-checkconf -z
โซน localhost.localdomain / IN: โหลดอนุกรม 0 โซน localhost / IN: โหลดอนุกรม 0 โซน 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa / IN: โหลดอนุกรม 0 โซน 1.0.0.127.in-addr.arpa/IN: โหลดอนุกรม 0 โซน 0.in-addr.arpa/IN: โหลดอนุกรม 0 โซนจาก linux.fan/IN: โหลดอนุกรม 1 โซน 10.168.192.in-addr.arpa/IN: โหลดอนุกรม 1

การกำหนดค่าที่มีชื่อปัจจุบันทั้งหมด

เพื่อให้ได้ความชัดเจนและแม้ว่าบทความจะยาว แต่เราก็ให้ผลลัพธ์ที่สมบูรณ์ของคำสั่ง ชื่อ -checkconf -zp:

[root @ dns ~] # named-checkconf -zp
โซน localhost.localdomain / IN: โหลดอนุกรม 0 โซน localhost / IN: โหลดอนุกรม 0 โซน 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa / IN: โหลดอนุกรม 0 โซน 1.0.0.127.in-addr.arpa/IN: โหลดอนุกรม 0 โซน 0.in-addr.arpa/IN: โหลดอนุกรม 0 โซนจาก linux.fan/IN: โหลดอนุกรม 1 โซน 10.168.192.in-addr.arpa/IN: โหลด serial 1 ตัวเลือก {bindkeys-file "/etc/named.iscdlv.key"; เซสชันคีย์ไฟล์ "/run/named/session.key"; ไดเรกทอรี "/ var / named"; ไฟล์ดัมพ์ "/var/named/data/cache_dump.db"; พอร์ตรับฟัง 53 {127.0.0.1/32; 192.168.10.5/32; }; ฟังบน v6 พอร์ต 53 {:: 1/128; }; จัดการคีย์ไดเร็กทอรี "/ var / named / dynamic"; memstatistics- ไฟล์ "/var/named/data/named_mem_stats.txt"; pid ไฟล์ "/run/named/named.pid"; ไฟล์สถิติ "/var/named/data/named_stats.txt"; dnssec- เปิดใช้งานใช่; dnssec-validation ใช่; เลขเรียกซ้ำ; อนุญาตแบบสอบถาม {"ติด"; }; อนุญาตให้โอน {192.168.10.1/32; }; }; acl "ติด" {127.0.0.0/8; 192.168.10.0/24; }; กำลังบันทึก {channel "default_debug" {file "data / named.run"; พลวัตความรุนแรง }; }; คีย์ "dhcp-key" {อัลกอริทึม "hmac-md5"; ลับ "OI7Vs + TO83L7ghUm2xNVKg =="; }; โซน "." ใน {คำใบ้ประเภท; ไฟล์ "named.ca"; }; โซน "localhost.localdomain" ใน {พิมพ์ master; ไฟล์ "named.localhost"; อนุญาตให้อัปเดต {"none"; }; }; โซน "localhost" ใน {type master; ไฟล์ "named.localhost"; อนุญาตให้อัปเดต {"none"; }; }; โซน "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" ใน {type master; ไฟล์ "named.loopback"; อนุญาตให้อัปเดต {"none"; }; }; โซน "1.0.0.127.in-addr.arpa" IN {type master; ไฟล์ "named.loopback"; อนุญาตให้อัปเดต {"none"; }; }; โซน "0.in-addr.arpa" IN {พิมพ์ master; ไฟล์ "named.empty"; อนุญาตให้อัปเดต {"none"; }; }; zone "desdelinux.fan" {พิมพ์ master; ไฟล์ "ไดนามิก / db.fromlinux.fan"; อนุญาตให้อัปเดต {คีย์ "dhcp-key"; }; }; โซน "10.168.192.in-addr.arpa" {พิมพ์ master; ไฟล์ "ไดนามิก / db.10.168.192.in-addr.arpa"; อนุญาตให้อัปเดต {คีย์ "dhcp-key"; }; }; จัดการคีย์ {"." ที่สำคัญเริ่มต้น-257 3 สิงหาคม "AwEAAagAIKlVZrpC8Ia6gEzahOR + 7W9euxhJhVVLOyQbSEW29O0gcCjF FVQUTf8v6fLjwBd58YI0EzrAcQqBGCzh / RStIoO0g8NfnfL0MTJRkxoX bfDaUeVPQuYEhg2NZWAJQ37VnMVDxP / VHL9M / QZxkjf496 / Efucp5gaD X2RS6CXpoY6LsvPVjR68ZSwzz0apAzvN1dlzEheX9ICJBBtuA7G6LQpz W3hOA5hzCTMjJPJ2LbqF8dsV6DoBQzgul6sGIcGOYl0OyQdXfZ7relS Qageu + ipAdTTJ57AsRTAoub25ONGcLmqrAmRLKBP8dfwhYB1N4knNnulq QXA + Uk7ihz1 ="; };
  • ทำตามขั้นตอนการแก้ไขไฟล์ ชื่อ.conf ตามความต้องการของเราและตรวจสอบและสร้างไฟล์แต่ละโซนและตรวจสอบเราสงสัยว่าเราจะต้องประสบปัญหาการกำหนดค่าที่สำคัญ ในที่สุดเราก็รู้ว่ามันเป็นเกมสำหรับเด็กผู้ชายที่มีแนวคิดมากมายและไวยากรณ์ที่ซับซ้อน,

การตรวจสอบให้ผลลัพธ์ที่น่าพอใจดังนั้นเราจึงสามารถรีสตาร์ท BIND - ชื่อ.

เรารีสตาร์ทชื่อและตรวจสอบสถานะ

[root @ dns ~] # systemctl รีสตาร์ท named.service
[root @ dns ~] # สถานะ systemctl named.service

หากเราได้รับข้อผิดพลาดใด ๆ ในผลลัพธ์ของคำสั่งสุดท้ายเราต้องรีสตาร์ทไฟล์ ชื่อ. บริการ และตรวจสอบไฟล์ สถานะ. หากข้อผิดพลาดหายไปแสดงว่าบริการเริ่มต้นได้สำเร็จ มิฉะนั้นเราจะต้องดำเนินการตรวจสอบไฟล์ที่แก้ไขและสร้างขึ้นทั้งหมดอย่างละเอียดและทำตามขั้นตอนซ้ำ

ผลลัพธ์ที่ถูกต้องของสถานะควรเป็น:

[root @ dns ~] # สถานะ systemctl named.service
● named.service - โหลด Berkeley Internet Name Domain (DNS) แล้ว: โหลดแล้ว (/usr/lib/systemd/system/named.service; เปิดใช้งานพรีเซ็ตผู้ขาย: ปิดใช้งาน) ใช้งาน: ใช้งานอยู่ (วิ่ง) ตั้งแต่อา. 2017-01-29 10:05:32 EST; 2 นาที 57 วินาทีที่แล้วกระบวนการ: 1777 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (code = exited, status = 0 / SUCCESS) กระบวนการ: 1788 ExecStart = / usr / sbin / named -u ชื่อ $ OPTIONS (code = exited, status = 0 / SUCCESS) กระบวนการ: 1786 ExecStartPre = / bin / bash -c ถ้า [! "$ DISABLE_ZONE_CHECKING" == "ใช่"]; จากนั้น / usr / sbin / named-checkconf -z /etc/named.conf; else echo "การตรวจสอบไฟล์โซนถูกปิดใช้งาน"; fi (code = exited, status = 0 / SUCCESS) Main PID: 1791 (named) CGroup: /system.slice/named.service └─1791 / usr / sbin / named -u ชื่อ 29 มกราคม 10:05:32 dns ชื่อ [1791]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0 ม.ค. 29 10:05:32 dns ชื่อ [1791]: zone 10.168.192.in-addr.arpa/IN: โหลด serial 1 ม.ค. 29 10:05:32 dns ชื่อ [1791]: โซน 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN : loaded serial 0 มกราคม 29 10:05:32 dns ชื่อ [1791]: zone desdelinux.fan/IN: loaded serial 1 มกราคม 29 10:05:32 dns ชื่อ [1791]: zone localhost.localdomain / IN: loaded serial 0 29 ม.ค. 10:05:32 dns ชื่อ [1791]: zone localhost / IN: loaded serial 0 29 ม.ค. 10:05:32 dns ชื่อ [1791]: โหลดทุกโซนแล้ว
29 ม.ค. 10:05:32 น. ชื่อ [1791]: วิ่ง
29 มกราคม 10:05:32 dns systemd [1]: เริ่ม Berkeley Internet Name Domain (DNS) 29 ม.ค. 10:05:32 DNS ชื่อ [1791]: โซน 10.168.192.in-addr.arpa/IN: ส่งการแจ้งเตือน (ซีเรียล 1)

ตรวจสอบ

การตรวจสอบสามารถรันบนเซิร์ฟเวอร์เดียวกันหรือบนเครื่องที่เชื่อมต่อกับ LAN เราชอบที่จะทำจากทีม sysadmin.fromlinux.fan ซึ่งเราได้ให้สิทธิ์โดยชัดแจ้งเพื่อให้สามารถโอนโซนได้ ไฟล์ / etc / resolv.conf ของทีมดังต่อไปนี้:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# สร้างโดย NetworkManager ค้นหาจาก linux.fan nameserver 192.168.10.5

buzz @ sysadmin: ~ $ ขุดจาก linux.fan axfr
; << >> DiG 9.9.5-9 + deb8u1-Debian << >> desdelinux.fan axfr ;; ตัวเลือกส่วนกลาง: + cmd จาก linux.fan 10800 ใน SOA dns.fromlinux.fan root.dns.fromlinux.fan 1 86400 3600 604800 10800 จาก linux.fan 10800 ใน NS dns.fromlinux.fan จาก linux.fan 10800 IN MX 10 mail.fromlinux.fan. จาก linux.fan 10800 IN TXT "FromLinux บล็อกของคุณสำหรับซอฟต์แวร์ฟรี" ad-dc.desdelinux.fan 10800 ใน 192.168.10.3 blog.desdelinux.fan 10800 ใน 192.168.10.7 dns.fromlinux.fan 10800 IN A 192.168.10.5 fileserver.fromlinux.fan 10800 IN A 192.168.10.4 ftpserver.fromlinux.fan 10800 ใน 192.168.10.8 mail.fromlinux.fan 10800 ใน 192.168.10.9 proxyweb.fromlinux.fan 10800 IN A 192.168.10.6 sysadmin.fromlinux.fan 10800 IN ถึง 192.168.10.1 จาก linux.fan 10800 ใน SOA dns.fromlinux.fan root.dns.fromlinux.fan 1 86400 3600 604800 10800 ;; เวลาสืบค้น: 0 msec ;; เซิร์ฟเวอร์: 192.168.10.5 # 53 (192.168.10.5) ;; WHEN: อาทิตย์ 29 ม.ค. 11:44:18 EST 2017 ;; ขนาด XFR: 13 เร็กคอร์ด (ข้อความ 1 ไบต์ 385)

buzz @ sysadmin: ~ $ dig 10.168.192.in-addr.arpa axfr
; << >> DiG 9.9.5-9 + deb8u1-Debian << >> 10.168.192.in-addr.arpa axfr ;; ตัวเลือกส่วนกลาง: + cmd 10.168.192.in-addr.arpa 10800 ใน SOA dns.fromlinux.fan.10.168.192.in-addr.arpa root.dns.fromlinux.fan.10.168.192.in-addr.arpa 1 86400 3600 604800 10800 10.168.192.in-addr.arpa 10800 ใน NS dns.fromlinux.fan 1.10.168.192.in-addr.arpa 10800 ใน PTR sysadmin.fromlinux.fan 3.10.168.192.in-addr.arpa 10800 ใน PTR ad-dc.fromlinux.fan 4.10.168.192.in-addr.arpa. 10800 IN PTR fileserver.fromlinux.fan 5.10.168.192.in-addr.arpa 10800 ใน PTR dns.fromlinux.fan 6.10.168.192.in-addr.arpa 10800 ใน PTR proxyweb.fromlinux.fan 7.10.168.192.in-addr.arpa 10800 ใน PTR blog.desdelinux.fan 8.10.168.192.in-addr.arpa. 10800 ใน PTR ftpserver.fromlinux.fan 9.10.168.192.in-addr.arpa 10800 ใน PTR mail.fromlinux.fan 10.168.192.in-addr.arpa. 10800 ใน SOA dns.fromlinux.fan.10.168.192.in-addr.arpa root.dns.fromlinux.fan.10.168.192.in-addr.arpa 1 86400 3600 604800 10800 ;; เวลาสืบค้น: 0 msec ;; เซิร์ฟเวอร์: 192.168.10.5 # 53 (192.168.10.5) ;; WHEN: อาทิตย์ 29 ม.ค. 11:44:57 EST 2017 ;; ขนาด XFR: 11 บันทึก (ข้อความ 1 ไบต์ 352)

buzz @ sysadmin: ~ $ ขุดใน SOA จาก linux.fan
buzz @ sysadmin: ~ $ dig IN MX จาก linux.fan buzz @ sysadmin: ~ $ dig IN TXT จาก linux.fan
buzz @ sysadmin: ~ $ host dns
dns.fromlinux.fan มีที่อยู่ 192.168.10.5
buzz @ sysadmin: ~ $ host sysadmin
sysadmin.desdelinux.fan มีที่อยู่ 192.168.10.1 ... และการตรวจสอบอื่น ๆ ที่เราต้องการ
  • จนถึงตอนนี้เรามีพื้นฐานสำหรับเซิร์ฟเวอร์ DNS ในเครือข่าย SME ของเรา เราหวังว่าคุณจะสนุกกับขั้นตอนทั้งหมดซึ่งค่อนข้างง่ายใช่มั้ย? 😉

เราติดตั้งและกำหนดค่า DHCP

[root @ dns ~] # ยำติดตั้ง dhcp
ปลั๊กอินที่โหลด: fastmirror, centos-base langpacks | 3.4 kB 00:00:00 centos-updates | 3.4 kB 00:00:00 การโหลดความเร็วมิเรอร์จากแคชไฟล์โฮสต์การแก้ไขการอ้างอิง -> การรันการทดสอบธุรกรรม ---> แพ็กเกจ dhcp.x86_64 12: 4.2.5-42.el7.centos ต้องถูกติดตั้ง -> การแก้ไขการอ้างอิง สิ้นสุดการพึ่งพาที่แก้ไขแล้ว ============================================= ================================================= =================================== ขนาดพื้นที่เก็บข้อมูลเวอร์ชันสถาปัตยกรรมแพ็คเกจ =========== ================================================= ================================================= ====================== การติดตั้ง: dhcp x86_64 12: 4.2.5-42.el7.centos-base 511k สรุปธุรกรรม ==== ================================================= ================================================= ============================ ติดตั้ง 1 แพ็คเกจขนาดดาวน์โหลดทั้งหมด: 511k ขนาดที่ติดตั้ง: 1.4 M ใช้ได้ไหม [y / d / N]: y การดาวน์โหลดแพ็คเกจ: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 การเรียกใช้การตรวจสอบธุรกรรมการรันการทดสอบธุรกรรมการทดสอบธุรกรรมประสบความสำเร็จการรันธุรกรรมการติดตั้ง: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 การตรวจสอบ: 12: dhcp-4.2.5-42 el7.centos.x86_64 1/1 ติดตั้งแล้ว: dhcp.x86_64 12: 4.2.5-42.el7.centos เสร็จสิ้น!

[root @ dns ~] # นาโน /etc/dhcp/dhcpd.conf
# # ไฟล์การกำหนดค่าเซิร์ฟเวอร์ DHCP # ดู /usr/share/doc/dhcp*/dhcpd.conf.example # ดู dhcpd.conf (5) man page # ddns-update-style interim; ddns-updates on; ddns-domainname "desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; ละเว้นการอัปเดตไคลเอ็นต์ เผด็จการ; ปิดตัวเลือกการส่งต่อ ip; ชื่อโดเมนตัวเลือก "desdelinux.fan"; # ตัวเลือก ntp-servers 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; รวม "/etc/dhcp.key"; โซนจาก linux.fan {หลัก 127.0.0.1; คีย์ dhcp-key; } โซน 10.168.192.in-addr.arpa {หลัก 127.0.0.1; คีย์ dhcp-key; } redlocal เครือข่ายที่ใช้ร่วมกัน {subnet 192.168.10.0 netmask 255.255.255.0 {เราเตอร์ตัวเลือก 192.168.10.1; ตัวเลือกซับเน็ตมาสก์ 255.255.255.0; ตัวเลือกที่อยู่ออกอากาศ 192.168.10.255; ตัวเลือกโดเมนเนมเซิร์ฟเวอร์ 192.168.10.5; ตัวเลือก netbios-name-servers 192.168.10.5; ช่วง 192.168.10.30 192.168.10.250; }} # END dhcpd.conf

[root @ dns ~] # dhcpd -t
Internet Systems Consortium DHCP Server 4.2.5 ลิขสิทธิ์ 2004-2013 Internet Systems Consortium สงวนลิขสิทธิ์. สำหรับข้อมูลโปรดไปที่ https://www.isc.org/software/dhcp/ ไม่ได้ค้นหา LDAP เนื่องจากไม่ได้ระบุ ldap-server, ldap-port และ ldap-base-dn ในไฟล์ config

[root @ dns ~] # systemctl เปิดใช้งาน dhcpd
สร้าง symlink จาก /etc/systemd/system/multi-user.target.wants/dhcpd.service ไปยัง /usr/lib/systemd/system/dhcpd.service

[root @ dns ~] # systemctl เริ่ม dhcpd

[root @ dns ~] # systemctl สถานะ dhcpd
● dhcpd.service - DHCPv4 Server Daemon Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enable; vendor preset: disabled) Active: active (running) ตั้งแต่ dom 2017-01-29 12:04:59 น. มัน T; 23 วินาทีที่แล้ว Docs: man: dhcpd (8) man: dhcpd.conf (5) Main PID: 2381 (dhcpd) Status: "Dispatching packets ... " CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid 29 ม.ค. 12:04:59 น. dns dhcpd [2381]: Internet Systems Consortium DHCP Server 4.2.5 29 ม.ค. 12 : 04: 59 dns dhcpd [2381]: ลิขสิทธิ์ 2004-2013 Internet Systems Consortium 29 ม.ค. 12:04:59 น. dns dhcpd [2381]: สงวนลิขสิทธิ์ 29 ม.ค. 12:04:59 น. dns dhcpd [2381]: ดูข้อมูลได้ที่ https://www.isc.org/software/dhcp/ 29 ม.ค. 12:04:59 น. dns dhcpd [2381]: ไม่ได้ค้นหา LDAP ตั้งแต่ ldap -server, ldap-port และ ldap-base-dn ไม่ได้ระบุไว้ในไฟล์ config 29 มกราคม 12:04:59 dns dhcpd [2381]: เขียน 0 leases to leases file 29 ม.ค. 12:04:59 น. dns dhcpd [2381]: การฟังบน LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 ม.ค. 12:04:59 dns dhcpd [2381]: ส่งบน LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 ม.ค. 12:04:59 dns dhcpd [2381]: ส่งบน Socket / fallback / fallback-net 29 มกราคม 12:04:59 dns systemd [1]: เริ่มแล้ว DHCPv4 เซิร์ฟเวอร์ Daemon

ยังต้องทำอะไรอีก?

เรียบง่าย เริ่ม Windows 7 หรือไคลเอนต์อื่นด้วยซอฟต์แวร์ฟรีและเริ่มการทดสอบและตรวจสอบ เราทำกับลูกค้าสองราย: seven.fromlinux.fan y suse-desktop.fromlinux.fan. การตรวจสอบมีดังนี้:

buzz @ sysadmin: ~ $ host seven
seven.fromlinux.fan มีที่อยู่ 192.168.10.30

buzz @ sysadmin: ~ $ host seven.fromlinux.fan
seven.fromlinux.fan มีที่อยู่ 192.168.10.30

buzz @ sysadmin: ~ $ dig IN TXT seven.fromlinux.fan
.... ;; ส่วนคำถาม:; seven.fromlinux.fan. ใน TXT ;; ส่วนคำตอบ: seven.desdelinux.fan 3600 ใน TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

เราเปลี่ยนชื่อทีม "เจ็ด" เป็น "LAGER" และเริ่มระบบใหม่ หลังจากรีสตาร์ท LAGER ใหม่เราตรวจสอบ:

buzz @ sysadmin: ~ $ host seven
ไม่พบโฮสต์เจ็ด: 5 (REFUSED)

buzz @ sysadmin: ~ $ host seven.fromlinux.fan
ไม่พบโฮสต์ seven.desdelinux.fan: 3 (NXDOMAIN)

ฉวัดเฉวียน@sysadmin: ~ $ host lager
lager.desdelinux.fan มีที่อยู่ 192.168.10.30

ฉวัดเฉวียน@sysadmin: ~ $ host lager.fromlinux.fan
lager.desdelinux.fan มีที่อยู่ 192.168.10.30

buzz @ sysadmin: ~ $ ขุดใน TXT lager.fromlinux.fan
.... ;; ส่วนคำถาม:; lager.fromlinux.fan ใน TXT ;; ส่วนคำตอบ: lager.fromlinux.fan 3600 ใน TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

เกี่ยวกับไคลเอนต์ suse-desktop:

buzz @ sysadmin: ~ $ host suse-dektop
ไม่พบโฮสต์ suse-dektop: 5 (REFUSED)

buzz @ sysadmin: ~ $ host suse-desktop
suse-desktop.desdelinux.fan มีที่อยู่ 192.168.10.33

buzz @ sysadmin: ~ $ host suse-desktop.fromlinux.fan
suse-desktop.desdelinux.fan มีที่อยู่ 192.168.10.33

buzz @ sysadmin: ~ โฮสต์ $ 192.168.10.33
33.10.168.192.in-addr.arpa ตัวชี้ชื่อโดเมน suse-desktop.desdelinux.fan

buzz @ sysadmin: ~ โฮสต์ $ 192.168.10.30
30.10.168.192.in-addr.arpa ตัวชี้ชื่อโดเมน LAGER.desdelinux.fan
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; ส่วนคำถาม:; 33.10.168.192.in-addr.arpa ใน PTR ;; ส่วนคำตอบ: 33.10.168.192.in-addr.arpa 3600 ใน PTR suse-desktop.fromlinux.fan ;; ส่วนอำนาจ: 10.168.192.in-addr.arpa. 10800 ใน NS dns.fromlinux.fan ;; ส่วนเพิ่มเติม: dns.fromlinux.fan 10800 ใน 192.168.10.5 ....

buzz @ sysadmin: ~ $ ขุดใน TXT suse-desktop.fromlinux.fan ....
; suse-desktop.desdelinux.fan. ใน TXT ;; ส่วนคำตอบ: suse-desktop.desdelinux.fan 3600 ใน TXT "31b78d287769160c93e6dca472e9b46d73"

;; ส่วนอำนาจ: desdelinux.fan 10800 ใน NS dns.fromlinux.fan ;; ส่วนเพิ่มเติม: dns.fromlinux.fan 10800 ใน 192.168.10.5
....

ลองเรียกใช้คำสั่งต่อไปนี้

[root @ dns ~] # ขุดจาก linux.fan axfr
; << >> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 << >> desdelinux.fan axfr ;; ตัวเลือกส่วนกลาง: + cmd จาก linux.fan 10800 ใน SOA dns.fromlinux.fan root.dns.fromlinux.fan 6 86400 3600 604800 10800 จาก linux.fan 10800 ใน NS dns.fromlinux.fan จาก linux.fan 10800 IN MX 10 mail.fromlinux.fan. จาก linux.fan 10800 IN TXT "FromLinux บล็อกของคุณสำหรับซอฟต์แวร์ฟรี" ad-dc.desdelinux.fan 10800 ใน 192.168.10.3 blog.desdelinux.fan 10800 ใน 192.168.10.7 dns.fromlinux.fan 10800 IN A 192.168.10.5 fileserver.fromlinux.fan 10800 IN A 192.168.10.4 ftpserver.fromlinux.fan 10800 ใน 192.168.10.8 LAGER.fromlinux.fan 3600 ใน TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"LAGER.fromlinux.fan.   3600 ในอีเมล 192.168.10.30 mail.fromlinux.fan 10800 ใน 192.168.10.9 proxyweb.fromlinux.fan 10800 IN A 192.168.10.6 suse-desktop.fromlinux.fan 3600 ใน TXT "31b78d287769160c93e6dca472e9b46d73"suse-desktop.desdelinux.fan. 3600 ในระบบ 192.168.10.33 sysadmin.fromlinux.fan 10800 IN ถึง 192.168.10.1 จาก linux.fan 10800 ใน SOA dns.fromlinux.fan root.dns.fromlinux.fan 6 86400 3600 604800 10800

ในผลลัพธ์ด้านบนเราเน้นที่ ตัวหนา ลอส TTL - ในไม่กี่วินาที - สำหรับคอมพิวเตอร์ที่มีที่อยู่ IP ที่ได้รับจากบริการ DHCP ซึ่งมีการประกาศ TTL 3600 อย่างชัดเจนที่กำหนดโดย DHCP IP คงที่ได้รับคำแนะนำจาก $ TTL ของ 3H -3 ชั่วโมง = 10800 วินาทีซึ่งประกาศไว้ในบันทึก SOA ของแต่ละไฟล์โซน

พวกเขาสามารถตรวจสอบโซนย้อนกลับได้ด้วยวิธีเดียวกัน

[root @ dns ~] # ขุด 10.168.192.in-addr.arpa axfr

คำสั่งที่น่าสนใจอื่น ๆ ได้แก่ :

[root @ dns ~] # named-journalprint /var/named/dynamic/db.desdelinux.fan.jnl
[root @ dns ~] # named-journalprint /var/named/dynamic/db.10.168.192.in-addr.arpa.jnl
[root @ dns ~] # journalctl -f

การแก้ไขไฟล์ Zones ด้วยตนเอง

หลังจาก DHCP เข้ามามีส่วนร่วมในการอัปเดตไฟล์โซนของไฟล์ ชื่อหากเราจำเป็นต้องแก้ไขไฟล์โซนด้วยตนเองเราต้องดำเนินการตามขั้นตอนต่อไปนี้ แต่ไม่ทราบข้อมูลเพิ่มเติมเกี่ยวกับการทำงานของยูทิลิตี้ก่อน ร.น.ด สำหรับการควบคุมเซิร์ฟเวอร์ชื่อ

[root @ dns ~] # คน rndc
....
       ตรึง [โซน [คลาส [ดู]]]
           ระงับการอัปเดตโซนไดนามิก หากไม่มีการระบุโซนโซนทั้งหมดจะถูกระงับ สิ่งนี้ช่วยให้สามารถทำการแก้ไขด้วยตนเองในโซนที่อัปเดตตามปกติโดยการอัปเดตแบบไดนามิก นอกจากนี้ยังทำให้เกิดการเปลี่ยนแปลงในไฟล์เจอร์นัลที่จะซิงค์กับไฟล์หลัก ความพยายามในการอัปเดตแบบไดนามิกทั้งหมดจะถูกปฏิเสธในขณะที่โซนถูกระงับ

       ละลาย [โซน [คลาส [ดู]]]
           เปิดใช้งานการอัปเดตโซนไดนามิกที่หยุดนิ่ง หากไม่ได้ระบุโซนโซนแช่แข็งทั้งหมดจะถูกเปิดใช้งาน สิ่งนี้ทำให้เซิร์ฟเวอร์โหลดโซนจากดิสก์อีกครั้งและเปิดใช้งานการอัปเดตแบบไดนามิกอีกครั้งหลังจากการโหลดเสร็จสิ้น หลังจากโซนละลายแล้วการอัปเดตแบบไดนามิกจะไม่ถูกปฏิเสธอีกต่อไป หากโซนมีการเปลี่ยนแปลงและใช้ตัวเลือก ixfr-from-difference ไฟล์เจอร์นัลจะได้รับการอัปเดตเพื่อแสดงการเปลี่ยนแปลงในโซน มิฉะนั้นหากโซนมีการเปลี่ยนแปลงไฟล์เจอร์นัลที่มีอยู่จะถูกลบออก ....

คุณคิดว่าฉันจะถอดเสียงคู่มือทั้งหมดหรือไม่ ... ชิ้นส่วนและพวกเขาไปโดยรถยนต์ ส่วนที่เหลือฉันฝากไว้ให้คุณ 😉

พื้น:

  • rndc ตรึง [โซน [คลาส [ดู]]]ระงับการอัปเดตแบบไดนามิกของโซน หากไม่ได้ระบุไว้ทั้งหมดจะหยุดทำงาน คำสั่งอนุญาตให้แก้ไขโซนแช่แข็งด้วยตนเองหรือทุกโซน การอัปเดตแบบไดนามิกใด ๆ จะถูกปฏิเสธขณะหยุดทำงาน
  • rndc ละลาย [โซน [คลาส [ดู]]]เปิดใช้งานการอัปเดตแบบไดนามิกในโซนที่หยุดนิ่งก่อนหน้านี้ เซิร์ฟเวอร์ DNS จะรีโหลดไฟล์โซนจากดิสก์และเปิดใช้งานการอัปเดตแบบไดนามิกอีกครั้งหลังจากการโหลดเสร็จสมบูรณ์

ข้อควรระวังเมื่อเราแก้ไขไฟล์โซนด้วยตนเอง? เหมือนกับว่าเราสร้างมันขึ้นมาโดยไม่ลืมที่จะเพิ่มหมายเลขซีเรียลขึ้น 1 หรือ อนุกรม ก่อนบันทึกไฟล์ด้วยการเปลี่ยนแปลงขั้นสุดท้าย

ตัวอย่าง:

[root @ dns ~] # rndc ตรึงจาก linux.fan

[root @ dns ~] # นาโน /var/named/dynamic/db.fromlinux.fan
ฉันแก้ไขไฟล์โซนไม่ว่าด้วยเหตุผลใดก็ตามจำเป็นหรือไม่ ฉันบันทึกการเปลี่ยนแปลง

[root @ dns ~] # rndc thaw จาก linux.fan
การรีโหลดโซนและการละลายเริ่มต้นขึ้น ตรวจสอบบันทึกเพื่อดูผลลัพธ์

[root @ dns ~] # journalctl -f
29 ม.ค. 14:06:46 น. ชื่อ [2257]: thawing zone 'desdelinux.fan/IN': success
29 ม.ค. 14:06:46 น. ชื่อ [2257]: โซนจาก linux.fan/IN: zone serial (6) ไม่เปลี่ยนแปลง โซนอาจไม่สามารถโอนไปยังทาสได้
29 มกราคม 14:06:46 dns ชื่อ [2257]: zone desdelinux.fan/IN: โหลด serial 6

ข้อผิดพลาดในเอาต์พุตก่อนหน้าซึ่งแสดงเป็นสีแดงบนคอนโซลเกิดจากการที่ฉัน "ลืม" ที่จะเพิ่มหมายเลขซีเรียลเป็น 1 หากฉันทำตามขั้นตอนอย่างถูกต้องผลลัพธ์จะเป็น:

[root @ dns ~] # journalctl -f
- บันทึกเริ่มวันที่อา. 2017-01-29 08:31:32 น. EST - 29 ม.ค. 14:06:46 dns ชื่อ [2257]: zone desdelinux.fan/IN: loaded serial 6 29 มกราคม 14:10:01 dns systemd [1]: เริ่มเซสชันที่ 43 ของผู้ใช้ root 29 มกราคม 14:10:01 น. systemd [1]: เริ่มเซสชันที่ 43 ของรูทผู้ใช้ 29 ม.ค. 14:10:01 น. CROND [2693]: (root) CMD (/ usr / lib64 / sa / sa1 1 1) 29 ม.ค. 14:10:45 DNS ชื่อ [2257]: ได้รับคำสั่งช่องควบคุม 'หยุดทำงานจาก linux fan '29 มกราคม 14:10:45 dns ชื่อ [2257]: เขตแช่แข็ง' desdelinux.fan/IN ': สำเร็จ 29 ม.ค. 14:10:58 DNS ชื่อ [2257]: ได้รับคำสั่งช่องควบคุม' thaw desdelinux.fan 'ม.ค. 29 14:10:58 dns ชื่อ [2257]: thawing zone 'desdelinux.fan/IN': สำเร็จ 29 มกราคม 14:10:58 dns ชื่อ [2257]: zone desdelinux.fan/IN: ไฟล์เจอร์นัลล้าสมัย: การลบไฟล์เจอร์นัล 29 มกราคม 14:10:58 dns ชื่อ [2257]: zone desdelinux.fan/IN: โหลด serial 7
  • เพื่อนผู้อ่านขอย้ำว่าคุณต้องอ่านผลลัพธ์ของคำสั่งอย่างละเอียด สำหรับบางสิ่งที่นักพัฒนาใช้เวลาเขียนโปรแกรมแต่ละคำสั่งไปมากมายไม่ว่ามันจะง่ายแค่ไหน.

ข้อมูลอย่างย่อ

จนถึงตอนนี้เราได้จัดการกับการใช้งานคู่ DNS - DHCP บริการที่สำคัญและสำคัญเพื่อประสิทธิภาพที่ดีของเครือข่าย SME ของเราโดยอ้างถึงการให้ที่อยู่แบบไดนามิกผ่าน DHCP และการแก้ปัญหาของคอมพิวเตอร์และชื่อโดเมนผ่าน DNS

เราหวังเป็นอย่างยิ่งว่าคุณจะสนุกกับขั้นตอนทั้งหมดเหมือนที่เราทำ แม้ว่าการใช้คอนโซลอาจดูยากกว่า แต่การใช้บริการในUNIX® / Linux นั้นง่ายกว่าและมีการศึกษามากกว่าด้วยความช่วยเหลือ

พวกเขายกโทษให้ฉันสำหรับการตีความแนวคิดที่สร้างขึ้นเขียนปรับปรุงแก้ไขเขียนใหม่และเผยแพร่ในภาษาของเชกสเปียร์ไม่ใช่เซร์บันเตสผิดพลาด 😉

จัดส่งครั้งต่อไป

ฉันคิดว่าเหมือนกันเล็กน้อย - ด้วยการเพิ่มเติมทางทฤษฎีในระเบียน DNS - แต่ใน Debian เราไม่สามารถลืมการแจกจ่ายนั้นได้ใช่ไหม?


15 ความคิดเห็นฝากของคุณ

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   Cristian Mercan dijo

    ขอบคุณมากสำหรับผลงานที่น่ายกย่องของคุณในการเขียนบทความที่มีประโยชน์เช่นนี้ มันจะมีประโยชน์มากสำหรับฉัน

  2.   เฟเดริโก้ dijo

    และขอบคุณมาก Cristian ที่ติดตามฉันและสำหรับการประเมินโพสต์นี้ สำเร็จ!

  3.   อิสมาแอลวาเรซวงศ์ dijo

    หลังจากที่ได้ดูโพสต์ใหม่นี้เป็นครั้งแรกโดยเฟเดริโกความเป็นมืออาชีพที่ยิ่งใหญ่ที่พบเห็นได้ในซีรีส์« PYMES »ก็เป็นที่ประจักษ์อีกครั้ง นอกเหนือจากรายละเอียดที่ยอดเยี่ยมที่แสดงให้เห็นถึงโดเมนของคุณเกี่ยวกับบริการที่สำคัญที่สุดสองอย่าง (DNS และ DHCP) ของเครือข่ายใด ๆ ในโอกาสนี้และแตกต่างจากความคิดเห็นก่อนหน้าของฉันฉันมีความคิดเห็นที่ 2 ที่รอดำเนินการหลังจากได้นำไปปฏิบัติตามที่ฉันได้ระบุไว้ในโพสต์นี้แล้ว

  4.   เครสโป88 dijo

    ไม่มีความคิดเห็น pa '400 !!! Fico ขอบคุณเพราะคุณรู้ดีว่าฉันอ่านโพสต์ของคุณและเราไม่สามารถขออะไรเพิ่มเติมได้ คุณเริ่มต้นด้วยองค์กรที่ดีมากตั้งแต่วิธีการติดตั้งและตั้งค่าเดสก์ท็อปส่วนตัวของผู้ใช้เวิร์กสเตชันเป็นฐานความรู้สึกของการเป็นบริการเครือข่ายที่คุณอธิบายได้เป็นอย่างดี คุณได้รับการปีนขึ้นไปและแม้ว่าจะเป็นเรื่องจริงที่ระดับจะเพิ่มขึ้น แต่ก็เป็นความจริงที่คุณได้เขียนและเผยแพร่สำหรับผู้ที่อายุน้อยกว่าผู้ที่เพิ่งเริ่มต้นสำหรับผู้ที่เคยเป็นเช่นฉันมาระยะหนึ่งและเป็นขั้นสูงสุด
    เมื่อเวลาผ่านไปฉันได้ข้อสรุปว่าฉันรู้ว่าหลายคนได้มาถึงแล้วทฤษฎีที่ทำให้เราต้องได้รับความจริงง่ายๆที่ไม่อยากอ่านเพราะการดำเนินการนั้นง่ายกว่ามากเมื่อเรารู้ว่าเรากำลังทำอะไรทำไม ??? คำถามจะหาได้ที่ไหนและทำอย่างไรจึงจะออกจากข้อผิดพลาดที่ทำให้ปวดหัวมากเมื่อเราไม่รู้ว่ามาจากไหนคุ้มค่ากับการซ้ำซ้อน
    ด้วยเหตุนี้ฉันไม่ต้องการให้คุณทิ้งองค์ประกอบทางทฤษฎีที่คุณจะรวมเกี่ยวกับระเบียน DNS ในการเผยแพร่ครั้งต่อไปตามที่คุณประกาศไว้ซึ่งน้อยกว่ามากเมื่อพูดถึง DEBIAN ที่รักและเป็นที่รัก
    ขอบคุณมากและเรากำลังรอ

  5.   นักล่า dijo

    ยอดเยี่ยมเช่นเคย Fico! ฉันรอรุ่น Debian ฉันเล่นทุกอย่างกับ distro มาหลายปีแล้ว

  6.   เฟเดริโก้ dijo

    Wong: ความคิดเห็นของคุณหลังจากอ่านแล้วคุ้มค่ามาก ฉันรอความคิดเห็นของคุณเมื่อคุณทดสอบเนื้อหาเพราะฉันรู้ว่าคุณชอบที่จะทำมัน 😉

  7.   เฟเดริโก้ dijo

    Crespo: เช่นเคยความคิดเห็นของคุณได้รับการตอบรับเป็นอย่างดี ฉันเห็นว่าคุณจับเส้นทั่วไปที่ฉันยกขึ้นมาเป็นส่วนประกอบของซีรีส์นี้ได้ ฉันหวังว่าเช่นคุณหลายคนคงสังเกตเห็นแล้ว ขอบคุณสำหรับความคิดเห็นของคุณ

  8.   เฟเดริโก้ dijo

    Dhunter: ยินดีที่ได้อ่านอีกครั้ง! คุณจะไม่ต้องรอนาน ภายในวันจันทร์อย่างช้าที่สุดหรือก่อนหน้านี้จะเสร็จสิ้นเพื่อเผยแพร่ อย่าคิดว่ามันเป็นเรื่องง่ายสำหรับฉันที่จะครอบคลุมทั้งสามสิ่งที่แตกต่างกัน แต่ผู้อ่านที่นับถือขอให้ ไม่เพียง แต่ Debian และ Ubuntu เท่านั้น แต่ยังมี Three Oriented to SMEs

  9.   เครสโป88 dijo

    หากคุณเผยแพร่นั่นเป็นเพราะคุณทำได้เราสนับสนุนคุณและเรารู้ว่าคุณจะปฏิบัติตามบรรทัดนั้น
    ในฐานะนักล่าฉันรอการเปิดตัว Debian ด้วยฟันอันแหลมคม คงจะดีไม่น้อยหากคุณพูดถึง NTP สักเล็กน้อย Sl2 และกอดใหญ่ ถ้าครูของฉันสอนฉันทุกอย่างแบบนั้นฮ่าฮ่าฮ่าปริญญาแพลตตินั่ม HAHAJJA

  10.   เฟเดริโก้ dijo

    ระดับของรายละเอียดในเอาต์พุตคำสั่งเป็นสิ่งจำเป็นเพื่อแสดงความสำคัญ พวกเขาพูดมาก เป็นเรื่องจริงที่มีเพียงไม่กี่บทความที่กล่าวถึงรายละเอียดในระดับนี้เนื่องจากพวกเขาคิดว่าจะเป็นบทความที่ยาวและมีน้ำหนักมากในการอ่าน หน้าที่ส่วนหนึ่งของ SysAdmin คือการอ่านผลลัพธ์ที่หนักและละเอียดเหล่านั้นไม่เพียง แต่เผชิญกับปัญหาเท่านั้น แต่ยังต้องเผชิญกับการตรวจสอบด้วย

  11.   อิสมาแอลวาเรซวงศ์ dijo

    สวัสดี Federico ฉันเคยสัญญาไว้ก่อนหน้านี้ว่าจะเขียนความคิดเห็นหลังจากศึกษาโพสต์ที่เป็นปัญหาอย่างถี่ถ้วนแล้ว พวกเขาไปที่นี่ต่อไป:
    - เทคนิคที่ยอดเยี่ยมในการแทนที่จะสร้างคีย์ TSIG สำหรับการอัปเดต DNS แบบไดนามิกโดย DHCP การคัดลอกคีย์ rndc.key เดียวกันกับ dhcp.key ซึ่งดูเหมือนว่า "ง่ายมาก" แสดงให้เห็นว่าเป้าหมายไม่ได้เป็นเพียงด้านเทคนิคเท่านั้น ของ HOWTO-INSTALL-DNS - & - DHCP แต่สอนให้เราคิด 5 ดาวสำหรับผู้แต่ง
    - น่าสนใจมากในไฟล์คอนฟิก DNS ชื่อ .conf การมีอยู่ของบรรทัด« allow-transfer {localhost; 192.168.10.1; }; » เพื่อทดสอบโดเมน« desdelinux.fan »จากเวิร์กสเตชัน SysAdmin และ localhost เท่านั้น (เซิร์ฟเวอร์ DNS เอง) และใส่คีย์ TSIG เพื่ออัปเดต DNS จาก DHCP
    - สร้างโซนตรงและผกผันของ DNS ได้ดีมากพร้อมกับคำอธิบาย "โดยละเอียด" ของประเภทของระเบียนนอกเหนือจากการดำเนินการคำสั่ง "# named-checkconf -zp" เพื่อตรวจสอบไวยากรณ์ทั้งหมดของชื่อก่อนหน้า ฮาร์ดรีเซ็ตตลอดจนตัวอย่างของการเรียกใช้คำสั่ง "ขุด" เพื่อตรวจสอบระเบียน DNS ประเภทต่างๆ
    . ในการกำหนดค่า DHCP (โดยใช้ไฟล์ /etc/dhcp/dhcpd.conf):
    - วิธีเพิ่มเครือข่ายท้องถิ่นของเราด้วยช่วงสำหรับที่อยู่ IP แบบไดนามิกที่จะกำหนดคำจำกัดความของเซิร์ฟเวอร์ชื่อ ฯลฯ ตลอดจนวิธีแจ้งให้ DHCP อัปเดตระเบียน DNS ผ่านการใช้บรรทัด "ddns- ... " ในการกำหนดค่า
    . เมื่อทุกอย่างใช้งานได้แล้ว 5 STARS FOR THE AUTHOR ในการดำเนินการคำสั่ง "# dig desdelinux.fan axfr" เพื่อตรวจสอบ TTL ของคอมพิวเตอร์บน LAN ที่มี IP แบบคงที่ของเครื่องที่กำหนด IP แบบไดนามิก
    . สุดท้ายยอดเยี่ยมการแก้ไขไฟล์ Zones ด้วยตนเองโดยการแช่แข็งก่อนด้วย "# rndc freeze desdelinux.fan" จากนั้นทำการปรับเปลี่ยนและยกเลิกการทำให้เป็นอิสระด้วย "# rndc thaw desdelinux.fan"
    . และสิ่งที่ดีที่สุดทุกอย่างทำได้จากเทอร์มินัล
    ให้มันขึ้น Fico

    1.    ความปิติยินดี dijo

      สวัสดี
      Ik kom net kijken, dit omdat ik probeer te achterhalen hoe het kan dat alles gedeeld en verwijderd wordt op mijn computer zelfs mijn foto's. Ik heb totaal geen ควบคุม meer over mijn eigen computer บน mobiel
      Het zit m dus ook in het dns in dhcp. Ik weet echt niet hoe ik dit moet oplossen en het kan verwijderen. Misschien dat iemand mij wilt helpen? ดิทคือ namelijk buiten mij om geinstalleerd Walgelijk gedrag vind ik het.

  12.   เฟเดริโก้ dijo

    Wong: ความคิดเห็นของคุณเติมเต็มบทความ อย่างจริงจังแสดงว่าคุณได้ศึกษาอย่างละเอียดแล้ว มิฉะนั้นคุณจะไม่สามารถแสดงความคิดเห็นในระดับรายละเอียดที่คุณทำ เพียงแค่เพิ่มสิ่งนั้น อนุญาตให้โอน ส่วนใหญ่จะใช้สำหรับเมื่อเรามี DNS Slave และเราอนุญาตให้โอนโซนจากต้นแบบไปยังมันได้ ฉันใช้วิธีนี้เพราะเป็นกลไกที่ใช้งานง่ายสำหรับการตรวจสอบที่ไม่เป็นอันตรายจากคอมพิวเตอร์เครื่องเดียว ขอบคุณมากสำหรับการประเมิน 5 ทักทาย! และฉันจะรอคุณอยู่ในบทความต่อไป

  13.   อิกนาซิโอ dijo

    สวัสดี Federico ฉันรู้ว่าฉันมาช้าไปหน่อย แต่ฉันอยากจะถามคุณ
    ขั้นตอนนี้จะช่วยฉันได้หรือไม่หากฉันต้องการชี้โดเมนไปยังเซิร์ฟเวอร์ vps ของฉัน

    ทุกๆ 15 นาทีฉันจะได้รับข้อความระบบเหล่านี้:

    DHCPREQUEST บน eth0 ถึงพอร์ต 67 (xid = …)
    DHCPACK จาก (xid = …)
    ผูกพันกับ - ต่ออายุใน 970 วินาที

    และจากสิ่งที่ฉันเข้าใจฉันควรสร้างระเบียน A ด้วยโดเมนของฉันและ ip ของเซิร์ฟเวอร์เฉพาะของฉัน

    * ฉันขอแสดงความยินดีและขอบคุณสำหรับบทความนี้ฉันไม่รู้ว่ามันคือสิ่งที่ฉันกำลังมองหาหรือไม่ แต่ฉันพบว่ามันน่าสนใจและอธิบายได้ดี นอกจากนี้ฉันใช้คำแนะนำของ "DNS and BIND" ที่ฉันได้นินทาไปแล้วและดูเหมือนว่าน่าสนใจมาก

    คำทักทายจากอาร์เจนตินา!

    1.    อันโตนิโอวัลเดสทูจาก dijo

      โปรดติดต่อฉันผ่าน valdestoujague@yandex.com