\[
\text{שם הדומיין (DNS) הוא רכיב קריטי בתשתיות האינטרנט, ובניית שרת DNS יכולה להיות אתגר. אבל אל תדאג, לא עם BIND, שבו תוכל ליצור את שרת ה-DNS שלך בקלות. BIND יש לו שם טוב מאוד בקרב מנהלי המערכת על גבי הגמישות ותמיכה בזמינות גבוהה.
במאמר זה, תלמד כיצד להתקין ולהגדיר שרת BIND DNS מאובטח ולוודא שתתי-דומיינים נפתרים לכתובת ה-IP הנכונה.
קרא הלאה וצור את שרת ה-DNS שלך בקלות!
דרישות מוקדמות
המדר הזה יהיה הדגמה של ידי ידי. כדי להמשיך, וודא שיש לך את הפריטים הבאים.
- A Linux server – This example uses the Ubuntu 20.04 server.
- A non-root user with root privileges or root/administrator user.
- A domain name pointed to the server IP address – This demo uses the atadomain.io domain and server IP address 172.16.1.10.
התקנת חבילות BIND
מאגר החבילות של Ubuntu ברירת המחדל מספק חבילות BIND אך אינו מותקן במערכת שלך. תוכל להתקין את BIND כשרת DNS הראשית או בלבד. BIND מספק לך יכולות עוצמתיות, כמו תמיכה בהתקנת שרת ראשי-עבד, תמיכה ב-DNSSEC, ובכללי יכולת להגדרת רשימות בקרת גישה (ACL) מובנות.
כדי להתחיל עם BIND DNS, תצטרך תחילה להתקין את חבילות BIND במכשיר שלך עם מנהל החבילות apt.
1. פתח את הטרמינל שלך והתחבר לשרת שלך.
\]
2. הרץ את הפקודה apt update
למטה כדי לעדכן ולרענן את אינדקס החבילות של המאגר. פקודה זו מבטיחה שתתקין את גרסת החבילות העדכנית ביותר.

3. לאחר העדכון, הרץ את הפקודה apt install
למטה כדי להתקין את חבילות ה-BIND עבור שרת ה-Ubuntu.
חבילות ה-bind9-utils וה-bind9-dnsutils מספקות כלים נוספים לשורת פקודה עבור BIND. חבילות אלו שימושיות לבדיקה ולניהול שרת ה-DNS של BIND.

4. לבסוף, הרץ את הפקודה systemctl
למטה כדי לוודא את שירות ה-BIND.
חבילת ה-BIND מגיעה עם השירות named ומתחילה ומופעלת אוטומטית במהלך ההתקנה של חבילת ה-BIND.
כעת עליך לראות ששירות ה-named של BIND מופעל והסטטוס הוא פעיל (רץ). בנקודה זו, השירות BIND יפעל אוטומטית באתחול המערכת.

הגדרת שרת DNS BIND
כעת התקנת את חבילות BIND על השרת שלך ב- Ubuntu, אז זה הזמן להגדיר את ההתקנה של BIND על השרת שלך ב- Ubuntu. איך? על ידי עריכת התצורות של BIND והשירות named
.
כל ההגדרה עבור BIND זמינה בתיקיית ה- /etc/bind/, והגדרות עבור שירות ה- named
בתיקיית /etc/default/named.
1. ערוך את ההגדרה של /etc/default/named באמצעות העורך שלך המועדף והוסף את האפשרות -4
בשורת ה- OPTIONS
, כפי שמוצג למטה. אפשרות זו תפעיל את שירות ה- named
רק על IPv4.
שמור את השינויים שביצעת וסגור את הקובץ.

2. לאחר מכן, ערוך את הקובץ /etc/bind/named.conf.options ומלא את ההגדרה הבאה מתחת לשורת ה- directory "/var/cache/bind";
.
ההגדרה הזו מגדירה את שירות BIND לרוץ על פורט UDP ברירת מחדל 53 על localhost של השרת וכתובת ה- IP הציבורית (172.16.1.10). באותו זמן, היא מאפשרת שאילתות מכל מארח לשרת DNS BIND באמצעות הפורוורדר של Cloudflare DNS 1.1.1.1.
בתחתית הקובץ, הער את השורה listen-on-v6 { any; }; כמוצג למטה, כדי להשבית את השירות named מהרצת IPv6.

3. לבסוף, הרץ את הפקודה הבאה כדי לאמת את התצורה של BIND.
אם אין פלט, הגדרות ה- BIND נכונות בלי שגיאות.

הגדרת אזורי DNS
בנקודה זו, הגדרת את התצורה הבסיסית של שרת ה- BIND DNS. אתה מוכן ליצור שרת DNS עם הדומיין שלך ולהוסיף תתי-דומיינים אחרים ליישומים שלך. עליך להגדיר וליצור הגדרת אזורי DNS חדשות כדי לעשות זאת.
במדריך זה, תיצור שרת שם חדש (ns1.atadomain.io) ותתי-דומיינים (www.atadomain.io, mail.atadomain.io, vault.atadomain.io).
1. ערוך את הקובץ /etc/bind/named.conf.local באמצעות העורך המועדף עליך והוסף את ההגדרה הבאה.
ההגדרה הזו מגדירה את אזור הקדימה (/etc/bind/zones/forward.atadomain.io) ואת אזור ההיפוך (/etc/bind/zones/reverse.atadomain.io) עבור השם הדומיין atadomain.io.
שמור את השינויים וסגור את הקובץ.

2. לאחר מכן, הרץ את הפקודה הבאה כדי ליצור ספריית חדשה (/etc/bind/zones
) עבור הגדרות אזורי DNS.
3. הרץ כל פקודה מתחת כדי להעתיק את ההגדרות הברירת מחדל של אזורי הקדימה וההיפוך לתיקייה /etc/bind/zones
.

4. עכשיו, ערוך את ההגדרה של אזור הקדימה (/etc/bind/zones/forward.atadomain.io) באמצעות העורך המועדף עליך ומלא את ההגדרה שלהלן.
הגדרת אזור הפורוורד היא המקום בו אתה מגדיר את שם הדומיין שלך וכתובת ה-IP של השרת. הגדרה זו תתרגם את שם הדומיין לכתובת ה-IP הנכונה של השרת.
התצורה למטה יוצרת את השרת שם ותתי-דומיינים הבאים:
ns1.atadomain.io
– השרת שם הראשי עבור הדומיין שלך עם כתובת ה-IP172.16.1.10
.
- רשומת MX עבור הדומיין
atadomain.io
המטופלת על ידיmail.atadomain.io
. רשומת ה-MX משמשת עבור שרת הדואר.
- תתי-דומיינים עבור יישומים:
www.atadomain.io
,mail.atadomain.io
, ו-vault.atadomain.io
.
שמור את השינויים וסגור את הקובץ.

5. כמו באזור הפורוורד, ערוך את קובץ התצורה של אזור הרוורס (/etc/bind/zones/reverse.atadomain.io) ומלא את התצורה הבאה.
אזור הרוורס מתרגם את כתובת ה-IP של השרת לשם הדומיין. אזור הרוורס או רשומת PTR חיוניים עבור שירותים כמו שרת הדואר, המשפיעים על המוניטין של שרת הדואר.
רשומת PTR משתמשת בבלוק האחרון של כתובת ה-IP, כמו רשומת PTR עם המספר 10 עבור כתובת ה-IP של השרת 172.16.1.10.
התצורה הזו יוצרת את אזור הרוורס או רשומת PTR עבור הדומיינים הבאים:
- שרת שם
ns1.atadomain.io
עם אזור הרוורס או רשומת PTR172.16.1.10
.
- רשומת PTR עבור הדומיין
mail.atadomain.io
לכתובת ה-IP של השרת172.16.1.20
.
שמור את השינויים וסגור את הקובץ.

6. כעת, הפעל את הפקודות הבאות כדי לבדוק ולאמת את הגדרות BIND.
כאשר ההגדרות שלך נכונות, תראה פלט דומה למצורף למטה.

7. לבסוף, הפעל את הפקודה systemctl
למטה כדי לאתחל ולאמת את השירות named
. על ידי כך, השינויים החדשים ייחודשו לשירות named
.
למטה, ניתן לראות שהשירות named פעיל (רץ).

פתיחת פתח DNS עם חומת אש UFW
בנקודה זו, התקנת את שרת ה-DNS של BIND הושלמה. אך עדיין עליך לאבטח את שרת ה-DNS שלך. יש להגדיר את חומת האש UFW ולפתוח את פתח ה-DNS עבור כל שאילתה לשרת. בכך תאפשר ללקוחות לבצע שאילתה לשרת DNS של BIND.
מסיבות אבטחה, מומלץ להפעיל ולאפשר את חומת האש UFW על שרת ה-Ubuntu שלך.
1. הפעל את הפקודה ufw
למטה כדי לבדוק את היישומים הזמינים בחומת האש UFW.
עליך לראות את ה-Bind9 ברשימת היישומים של היישום UFW למטה.

2. כעת הפעל את הפקודה הבאה כדי לאפשר את ה-Bind9 לגישה לקיר אש ה-UFW.

3. לבסוף, הפעל את הפקודה הבאה כדי לבדוק את החוקים שמאופשרים בקיר האש של ה-UFW.
עליך לראות את היישום Bind9 ברשימה כמו בתמונת המסך למטה.

אימות התקנת שרת ה-DNS BIND
עכשיו הסתיימה התקנת ה-DNS BIND והגדרת קיר האש של ה-UFW. אך איך ניתן לוודא את ההתקנה של שרת ה-DNS שלך? הפקודה dig תבצע את העבודה.
Dig היא כלי שורת פקודה לטיפול בתקלות בהתקנת שרת DNS. dig מבצע חיפוש DNS עבור שם הדומיין הנתון ומציג תשובות מפורטות עבור המטרה של שם הדומיין. במערכת Ubuntu, dig הוא חלק מחבילת bind9-dnsutil.
כדי לאמת את ההתקנה של שרת ה-DNS שלך BIND:
1. הפעל את כל הפקודות dig למטה כדי לאמת את התת-דומיינים www.atadomain.io, mail.atadomain.io, ו-vault.atadomain.io.
אם התקנת השרת DNS שלך הצליחה, כל תת־דומיין יתבטא לכתובת ה־IP הנכונה בהתבסס על הגדרת ההעברה של forward.atadomain.io.
להלן פלט התבטאות התת־דומיין www.atadomain.io לכתובת ה־IP של השרת 172.16.1.10.

להלן התת־דומיין mail.atadomain.io לכתובת ה־IP של השרת 172.16.1.20.

ולהלן התת־דומיין vault.atadomain.io לכתובת ה־IP של השרת 172.16.1.50.

2. לאחר מכן, הפעל את הפקודה dig
למטה כדי לאמת את רשומת ה־MX עבור דומיין atadomain.io
.
תראה כי לדומיין atadomain.io יש רשומת MX של mail.atadomain.io.

3. לבסוף, הפעל את הפקודות הבאות כדי לאמת את רשומת ה־PTR או אזור הפוך עבור כתובות ה־IP של השרת 172.16.1.10
ו־172.16.1.20
.
אם ההתקנה של BIND שלך הצליחה, כל כתובת IP תתבטא לשם הדומיין המוגדר בהגדרת ההפוך של reverse.atadomain.io.
תוכל לראות מטה, כי כתובת ה־IP של השרת 172.16.1.10 מתבטאת לשם הדומיין ns1.atadomain.io.

כפי שאתה רואה למטה, כתובת ה־IP של השרת 172.16.1.20 מתבטאת לשם הדומיין mail.atadomain.io.

מסקנה
במהלך המדריך הזה, למדת כיצד ליצור ולהגדיר שרת DNS BIND מאובטח על שרת ה-Ubuntu שלך. כמו כן, יצרת את אזורי ההעברה וההיפוך כדי להוסיף את הדומיין שלך ואימתת שרתי DNS על ידי הרצת פקודות dig
.
עכשיו, איך ניתן ליישם שרת DNS BIND בסביבתך? אולי ליישם את BIND כשרת מורשה? או להקים זמינות גבוהה עם התקנת BIND ראשי-עבד?