ฉันต้องการคำแนะนำทีละขั้นตอนที่สมบูรณ์เกี่ยวกับวิธีการสร้างการกำหนดค่าเซิร์ฟเวอร์ดังกล่าว
ใครช่วยฉันได้บ้าง
ฉันต้องการคำแนะนำทีละขั้นตอนที่สมบูรณ์เกี่ยวกับวิธีการสร้างการกำหนดค่าเซิร์ฟเวอร์ดังกล่าว
ใครช่วยฉันได้บ้าง
คำตอบ:
ก่อนอื่นให้เปลี่ยนที่อยู่ IP ของเซิร์ฟเวอร์ของคุณในรูปแบบ DHCP เป็น STATIC เพื่อใช้คำสั่งต่อไปนี้
sudo nano /etc/network/interfaces
และเพิ่ม:
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-nameservers
รีสตาร์ท daemons เครือข่าย
sudo /etc/init.d/networking restart
ก่อนที่จะกำหนดค่าเซิร์ฟเวอร์ DNS ใน linux Ubuntu คุณต้องตั้งชื่อโดเมนก่อนจากนั้นคุณจะดำเนินการต่อ ก่อนอื่นคุณจะตรวจสอบคำสั่ง hostname ของคุณสำหรับสิ่งนี้
sudo nano /etc/hostname
nefitari
(นี่คือชื่อโฮสต์เซิร์ฟเวอร์ Ubuntu ของฉันคุณอาจแตกต่างกันคุณสามารถเปลี่ยนแปลงได้ตามความต้องการของคุณ)
หลังจากชื่อโฮสต์คุณต้องสร้างชื่อโดเมนสำหรับเซิร์ฟเวอร์ของคุณ สมมติว่า servername.domain.com เป็นวิธีปฏิบัติที่ดีกว่าว่าเมื่อใดก็ตามที่คุณกำหนดค่าเซิร์ฟเวอร์สำหรับใช้ในบ้านหรือดังนั้นอย่าใช้. com แต่เป็น. com หรือ. net หรือ. net หรือสิ่งที่คุณต้องการ ให้คำสั่งด้านล่าง
sudo nano /etc/hosts
เพิ่มถ้ามันไม่มี:
127.0.0.1 localhost
192.168.1.5 nefitari.autun.hom nefitari
ในไฟล์ของฉัน 127.0.0.1 สำหรับ localhost และฉันได้เปลี่ยนที่อยู่ IP ที่สอง 127.0.1.1 ด้วยเซิร์ฟเวอร์ IP ของฉันที่เป็น 192.168.1.5 ตอนนี้ฉันป้อนชื่อโดเมนของฉันที่มีชื่อโฮสต์nefitariของฉันก่อนจากนั้นชื่อโดเมนของฉันautun.homและนามแฝงหนูน้อย คุณสามารถเลือกของคุณเอง, hostname.abc.net หรือ hostname.home.lan เป็นต้น แต่จำไว้ว่าการเปลี่ยนเป็นไฟล์นี้จำเป็นต้องรีสตาร์ทเซิร์ฟเวอร์ของคุณจากนั้นเข้าสู่ระบบ ต้องเริ่มต้นใหม่
sudo apt-get install bind9
หลังจากติดตั้งเพียงกำหนดค่าไฟล์ด้านล่างทีละขั้นตอน
ตอนนี้กำหนดค่าไฟล์ named.conf.options ไฟล์นี้ใช้สำหรับ DNS IP นั่นหมายความว่าเซิร์ฟเวอร์ของคุณต้องเชื่อมต่อกับ DNS ภายนอกบางตัว เมื่อคุณซื้อชื่อโดเมนจาก ISP พวกเขามักจะให้ DNS IP ของตนเองแก่คุณ คุณสามารถใช้ DNS IP แบบเปิดของ google ได้ ในกรณีของฉันฉันใช้ ISP DNS IP ของฉันเอง
sudo nano /etc/bind/named.conf.options
forwarders {
# Give here your ISP DNS IP’s
192.168.1.1; # gateway or router
182.176.39.23;
182.176.18.13;
68.87.76.178;
};
*** บันทึกไฟล์และออก *** โดยใช้การควบคุม x กด y และเขียนทับไฟล์
ตอนนี้แก้ไขไฟล์ named.conf.local นี่คือไฟล์ที่เรากำหนดไปข้างหน้าโซนและโซนย้อนกลับ หมายความว่าเมื่อเราป้อนชื่อโดเมนมันจะแปลเป็นที่อยู่ IP และเมื่อเราป้อนที่อยู่ IP ก็จะแปลงเป็นชื่อ
sudo nano /etc/bind/named.conf.local
จะแสดง:
# Our forward zone
zone "autun.hom" {
type master;
file "/etc/bind/zones/db.autun.hom";
};
# Our reverse Zone
# Server IP 192.168.1.5
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.192";
};
*** บันทึกไฟล์และออก *** โดยใช้การควบคุม x กด y และเขียนทับไฟล์
ตอนนี้เราจะสร้างไฟล์ฐานข้อมูลสองไฟล์เหล่านี้db.autun.homและdb.192ในโฟลเดอร์โซน
ก่อนอื่นให้ทำไดเรกทอรีโซนใน / etc / bind /
sudo mkdir /etc/bind/zones
ก่อนที่จะสร้างไฟล์ให้ฉันบอกคุณว่ามีอุปกรณ์ต่าง
อุปกรณ์ IP
ตอนนี้ในไดเรกทอรีโซนเราจะสร้างสองไฟล์แรกdb.autun.hom ฉันเพียงแค่คัดลอกdb.localแล้วใน/ etc / ผูกโฟลเดอร์ไปยังโฟลเดอร์โซนโดยการเปลี่ยนชื่อเป็นdb.autun.hom ฉันจะใส่ IP เหล่านี้ในไฟล์ db.autun.hom ของฉัน เริ่มกันเลย
sudo cp /etc/bind/db.local /etc/bind/zones/db.autun.hom
ตอนนี้ใช้คำสั่งด้านล่างเพื่อแก้ไขไฟล์
sudo nano /etc/bind/zones/db.autun.hom
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
autun.hom. IN NS nefitari.autun.hom.
autun.hom. IN A 192.168.1.5
;@ IN A 127.0.0.1
;@ IN AAAA ::1
nefitari IN A 192.168.1.5
gateway IN A 192.168.1.1
win7pc IN A 192.168.1.50
www IN CNAME autun.hom.
บันทึกและออก
ตอนนี้สร้างไฟล์โซนค้นหาแบบย้อนกลับ
sudo cp /etc/bind/db.127 /etc/bind/zones/db.192
ตอนนี้ใช้คำสั่งด้านล่างเพื่อแก้ไขไฟล์
sudo nano /etc/bind/zones/db.192
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS nefitari.
1 IN PTR gateway.autun.hom.
5 IN PTR nefitari.autun.hom.
50 IN PTR win7pc.autun.hom.
บันทึกและออก
ตอนนี้เมื่อคุณทำไฟล์โซนเสร็จแล้วคุณต้องตรวจสอบว่ามันทำงานถูกต้องหรือไม่โดยการป้อนคำสั่งด้านล่างสำหรับไฟล์โซนเดินหน้า
named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial 2
Ok
ตอนนี้ตรวจสอบไฟล์โซนย้อนกลับ
named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial 2
Ok
หากเอาต์พุตของ named-checkzone ของคุณเหมือนกับด้านบนแสดงว่าทำงานได้ดีมิฉะนั้นคุณอาจทำผิดพลาดในไฟล์
ตอนนี้แก้ไขไฟล์ resolv.conf
sudo nano /etc/resolv.conf
nameserver 192.168.1.5
domain autun.hom
search autun.hom
ป้อนบรรทัดต่อไปนี้ลงในไฟล์ resolv.conf ของคุณและบันทึก
รีสตาร์ทการเชื่อม
sudo /etc/init.d/bind9 restart
หลังจากผูกเริ่มตรวจสอบการตั้งค่าของคุณในล็อกไฟล์
tail -f /var/log/syslog
ต้องไม่มีข้อผิดพลาดในบันทึก
host –l autun.hom
ผลลัพธ์ควรเป็นเช่นนี้
autun.hom name server nefitari.autun.hom.
autun.hom has address 192.168.1.5
gateway.autun.hom has address 192.168.1.1
nefitari.autun.hom has address 192.168.1.5
win7pc.autun.hom has address 192.168.1.50
ตอนนี้ใช้NSLOOKUP
nslookup autun.hom
เอาท์พุท
Server: 192.168.1.5
Address: 192.168.1.5#53
Name: autun.hom
Address: 192.168.1.5
ใช้DIG
dig gateway.autun.hom
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35612
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;gateway.autun.hom IN A
;; ANSWER SECTION:
gateway.autun.hom 604800 IN A 192.168.1.1
;; AUTHORITY SECTION:
Autun.hom. 604800 IN NS nefitari.autun.hom.
;; ADDITIONAL SECTION:
Nefitari.autun.hom. 604800 IN A 192.168.1.5
;; Query time: 12 msec
;; SERVER: 192.168.1.5#53(192.168.1.5)
;; WHEN: Thu Aug 8 01:56:25 2013
;; MSG SIZE rcvd: 90
ผลลัพธ์ควรคล้ายกับข้างต้นสถานะการตรวจสอบ: NOERRORหมายความว่าแก้ไขการตรวจสอบคำตอบส่วน: gateway.autun.hom แก้ไขเป็น 192.168.1.1
host 192.168.1.1
เอาท์พุต
1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom
ถ้ามันทำให้คุณมีข้อผิดพลาดเช่นด้านล่าง
host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
ซึ่งหมายความว่าคุณทำผิดพลาดในไฟล์/etc/bind/named.conf.localในโซนย้อนกลับหาก IP ของเซิร์ฟเวอร์ของคุณคือ192.168.1.5โซนย้อนกลับของคุณจะมีลักษณะเช่นนี้
zone "**1.168.192**.in-addr.arpa" {
correct ip reversing
};
บางครั้งคนทำผิดพลาดในการย้อนกลับของไอพีที่ชอบ (เพียงตัวอย่าง)
zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};
ใช้NSLOOKUP
nslookup 192.168.1.1
Server: 192.168.1.5
Address: 192.168.1.5#53
1.1.168.192.in-addr.arpa name=gateway.autun.hom
หากคุณได้รับ NXDOMAIN หรือ SERVFAIL เช่นข้อผิดพลาดแสดงว่าไฟล์โซนหนึ่งของคุณทำงานไม่ถูกต้อง
ตอนนี้คุณสามารถping ubuntu.comหรือขุด ubuntu.comเป็นครั้งแรกมันจะใช้เวลาหลายสิบวินาทีในการแก้ไขชื่อ ubuntu.com แต่เมื่อคุณเรียกใช้ครั้งที่สองมันจะใช้เวลา1, 2 หรือ 3 วินาทีโดยปกติจะใช้เวลา1 ถึง 10 mili วินาทีเป็นปกติและหมายความว่า DNS ของคุณทำงานอย่างถูกต้อง
หน้าต่างด้านข้าง
และที่นี่ให้ที่อยู่ IP (ในกรณีของฉันมันคือ 192.168.1.50 คุณจำ win7pc ได้ไหม)
และคุณก็ทำได้ด้วยการเปิด CMD
ping gateway
มันต้องให้คำตอบบ้าง
เหมือนกับ
ping 192.168.1.1 or 5
มันต้องให้คำตอบบ้าง
ทดสอบเซิร์ฟเวอร์ของคุณสู่โลกภายนอก
ตอนนี้คุณสามารถ ping ubuntu.com หรือขุด ubuntu.com เป็นครั้งแรกมันจะใช้เวลาหลายสิบวินาทีในการแก้ไขชื่อ ubuntu.com แต่เมื่อคุณเรียกใช้ครั้งที่สองมันจะใช้เวลา 1 ถึง 10 mili วินาทีเวลาปกติและ หมายความว่า DNS ของคุณทำงานอย่างถูกต้องการกำหนดค่าไคลเอนต์
หน้าต่างด้านข้าง
เปิดการเชื่อมต่อเครือข่ายเลือกเปลี่ยนการตั้งค่าอะแดปเตอร์เลือกคุณสมบัติเลือกรุ่นอินเทอร์เน็ตโปรโตคอล IPv4
และที่นี่ให้ที่อยู่ IP (ในกรณีของฉันมันคือ 192.168.1.50 คุณจำ win7pc ได้ไหม)
ที่อยู่ IP 192.168.1.50
Subnet Mask 255.255.255.0
เกตเวย์เริ่มต้น 192.168.1.1
DNS หลัก 192.168.1.5 (เซิร์ฟเวอร์ BIND DNS ใหม่ของฉัน)
เลือก Advance (ในหน้าต่างเดียวกัน)
เลือกแท็บDNS
พิมพ์ในกล่องข้อความด้านล่างที่นี่ในส่วนต่อท้าย DNS สำหรับการเชื่อมต่อนี้: autun.hom
คลิกตกลง
คลิกที่การตั้งค่าตรวจสอบเมื่อออก
คลิกตกลง
และคุณก็ทำได้ด้วยการเปิดCMD
รหัส:
ping gateway
มันต้องให้คำตอบบ้าง
เหมือนกับ
รหัส:
ping 192.168.1.1 or 5
มันจะต้องให้คำตอบบางอย่างคุณสามารถใช้รหัสNSLOOKUP :
nslookup gateway
ลูกค้าลินุกซ์
รหัส:
sudo nano /etc/network/interfaces
พิมพ์บรรทัดต่อไปนี้
รหัส:
auto eth0
iface eth0 inet dhcp
ตอนนี้เริ่ม Network Deamons
รหัส:
sudo /etc/init.d/networking restart
เพื่อบังคับให้ลูกค้าต่ออายุคำสั่ง IP
รหัส:
sudo dhclient -r
ตอนนี้รับ IP สด:
รหัส:
sudo dhclient
หากคุณใช้เซิร์ฟเวอร์ DHCP บนเครือข่ายของคุณให้ป้อนชื่อโดเมนและเซิร์ฟเวอร์ชื่อในไฟล์ dhcpd.conf ตัวอย่างเช่นฉันมีเซิร์ฟเวอร์ DNS ชื่อ nefitari.autun.hom และที่อยู่ IP คือ 192.168.1.5 เช่นเดียวกับที่อยู่ภายใต้
รหัส:
option domain-name "nefitari.autun.hom";
option domain-name-server 192.168.1.5;
../run/resolvconf/resolv.conf
ไป
(network unreachable) resolving './NS/IN': 2001:500:3::42#53
มาจากการพยายามแก้ไขเคียวรีซ้ำโดยใช้ ipv6 การแก้ไข/etc/default/bind9
และการใช้การOPTIONS="-u bind -4"
แก้ไข ข้อมูลเพิ่มเติม: serverfault.com/questions/77325/unreachable-resolving-domain
db.192
ก่อนIN NS nefitari.
จะ@
หายไป นอกจากนี้ฉันต้องเพิ่ม FQDN ดังนั้นสายงานของฉันจึงดูเหมือนว่า@ IN NS nefitari.autun.hom.
ฉันไม่สนใจส่วน resolv.conf และทำตามคำแนะนำจาก jdthood ลิงค์มีอยู่แล้วจากการติดตั้งเซิร์ฟเวอร์เริ่มต้น
คำตอบเป็นเพียงส่วนเพิ่มเติมของคำอธิบายที่ดีข้างต้น
เคล็ดลับการแก้ไขปัญหา
ระวังให้มากกับหลาย ๆ ในไฟล์การกำหนดค่าเนื่องจากแต่ละไฟล์มีความสำคัญ หายไปเดียว '.' สามารถหยุดเซิร์ฟเวอร์ DNS ไม่ให้ทำงาน คุณไม่ควรนับข้อความผิดพลาดที่ชัดเจน
ฉันเรียนรู้วิธีปฏิบัติที่ดีในการใช้หมายเลขซีเรียลที่บอกได้มากขึ้น มันสำคัญมากที่จะต้องเพิ่มหมายเลขซีเรียลทุกครั้งที่มีการแก้ไขการตั้งค่าเช่นการเพิ่มรายการใหม่ หากไม่เพิ่ม DNS รองจะไม่สามารถซิงโครไนซ์การตั้งค่าใหม่ได้ รูปแบบที่แนะนำคือYYYYMMDDss
โดยที่ss
เป็นหมายเลข "เก่า" ดังนั้นเมื่อเพิ่มขึ้นคุณควรเพิ่มขึ้นss
+1 และตั้งค่าวันที่เป็นวันที่ปัจจุบัน ฉันพบสิ่งนี้มีประโยชน์มากในการแก้ไขปัญหาการตั้งค่า ใน syslog คุณจะเห็นวันที่และซีเรียลของไฟล์ที่ใช้อย่างชัดเจน
ใน Ubuntu 16.04 การเปลี่ยน resolv.conf นั้นไม่รองรับ ในฐานะที่เป็นjdthoodเขียนในความคิดเห็นของเขาแทนที่ขั้นตอนด้วยขั้นตอนต่อไปนี้: - เปลี่ยน / etc / default / bind9: ใหม่จะมีลักษณะเช่นนี้:
# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-u bind"
# use this when you have trouble with IPV6
#OPTIONS="-u bind -4"
ดูความคิดเห็นจากnot-a-patchสำหรับปัญหา IPV6
ใส่ symlink ของ /etc/resolv.conf ลงใน /run/resolvconf/resolv.conf
cd /etc
sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
ตั้งค่าออฟไลน์
การตั้งค่าเหมือนกันและง่ายขึ้นอีกเล็กน้อยเนื่องจากคุณสามารถข้ามส่วนการส่งต่อได้ /etc/bind/names.con.options
พวกเขาไม่ได้ที่จะนำเสนอจึงมีความจำเป็นที่จะต้องแก้ไข
เครือข่ายคลาส B
มีการเปลี่ยนแปลงเล็กน้อยบางอย่างที่จำเป็นในการทำให้งานนี้สำหรับเครือข่ายคลาส B (ก่อนที่จะมีความคิดเห็นไม่มีเหตุผลว่าทำไมเครือข่ายท้องถิ่นแม้ที่บ้านไม่สามารถเป็นคลาส B แทนเครือข่ายคลาส C ได้) . ในตัวอย่างนี้ฉันใช้หมายเลขเครือข่าย 172.20.xx (ฉันคิดว่าสัญลักษณ์อย่างเป็นทางการคือ 172.20.0.0 สำหรับข้อมูลเพิ่มเติม google rfc1918)
ใช้คำอธิบายจากคำตอบแรกแทนที่ IP ทั้งหมด 192.168.xx ด้วย 172.20.xx ใช้สำหรับเซิร์ฟเวอร์ IP 172.20.0.100 และแก้ไขไฟล์ดังต่อไปนี้:
db.192
db.172
ไฟล์named.conf.local
ได้รับส่วนโซนย้อนกลับที่แตกต่างกัน:
zone "20.172.in-addr.arpe" {
type master;
file "/etc/bind/zones/db.172";
}
ไฟล์โซนย้อนกลับเปลี่ยนเป็น:
;
; BIND reverse data file for 172.20.x.x
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2017022102 ; more intuitive serial YYYYMMDDss, here ss=02
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; note: the '@'was missing from in the initial description
@ IN NS nefitari.autun.hom.
100.0 IN PTR nefitari.autun.hom.
121.0 IN PTR client1.autun.hom.
130.0 IN PTR client2.autun.hom.
33.0 IN PTR client3.autun.hom.
ที่เหลือก็เหมือนกัน
หวังว่ามันมีประโยชน์สำหรับใครบางคน