כיצד להגדיר את dnsmasq ב- Ubuntu Server 18.04 LTS

How Configure Dnsmasq Ubuntu Server 18



dnsmasq הוא שרת DNS מקומי קל מאוד. ניתן להגדיר את dnsmasq גם כשרת מטמון DNS ושרת DHCP. ל- dnsmasq יש תמיכה ב- IPv4 ו- IPv6 כולל DHCPv4 ו- DHCPv6. dnsmasq הוא אידיאלי עבור רשת קטנה.

במאמר זה, אני הולך להראות לך כיצד להשתמש ב- dnsmasq להגדרת שרת DNS מקומי, שמירת שרת DNS ושרת DHCP. אז בואו נתחיל.







טופולוגיית רשת:

זוהי טופולוגית הרשת של מאמר זה. כאן, אני אגדיר נתב כשרת DNS ו- DHCP עם dnsmasq. נתב יש 2 ממשקי רשת, אחד ( ens33 ) מתחבר ל מרשתת והאחר ( ens38 ) מתחבר לא רשת swtich . כל שאר המארחים ( מארח 1 , מארח 2 , מארח 3 ) ברשת משתמש בשרת DHCP שהוגדר ב- נתב להקצאה אוטומטית של כתובות IP ושרת ה- DNS לרזולוציית שמות.





הגדרת IP סטטי:

בטופולוגיה של הרשת שלי, ראית, שלי נתב בעל שני ממשקים ens33 ו ens38 . ens33 מחבר נתב לאינטרנט ו ens38 מחובר לא החלפת רשת , שאליו מתחברים מחשבים אחרים ברשת. אצטרך להשתמש ב- DHCP כדי לקבל כתובת IP עבור ens33 ממשק מספק האינטרנט שלי לחיבור אינטרנט. אבל ה ens38 יש להגדיר את הממשק באופן ידני.





בואו נשתמש ברשת 192.168.10.0/24 עבור ממשק ens38 ומחשבים אחרים ברשת. אם אני משתמש ברשת 192.168.10.0/24, כתובת ה- IP של ens38 הממשק של הנתב צריך להיות 192.168.10.1/24. זוהי כתובת ה- IP של שרת DNS dnsmasq ושרת DHCP.

הערה: שם ממשק הרשת שלך עשוי להיות שונה. אתה יכול לגלות מה זה בשבילך עם ip א פקודה.



ב- Ubuntu Server 18.04 LTS, אתה יכול להשתמש netplan כדי להגדיר את ממשקי הרשת. קובץ ברירת המחדל של netplan הוא /etc/netplan/50-cloud-init.yaml .

ראשית, פתח את קובץ התצורה /etc/netplan/50-cloud-init.yaml עם הפקודה הבאה:

$סודו ננו /וכו/netplan/חמישים-cloud-init.yaml

כעת, הקלד את השורות הבאות ושמור את הקובץ על ידי לחיצה על + איקס בא אחריו ו ו .

עכשיו, הפעל מחדש את שלך נתב עם הפקודה הבאה:

$סודולְאַתחֵל

פעם ה נתב מגפיים, יש להקצות כתובות IP כצפוי.

התקנת dnsmasq:

dnsmasq זמין במאגר החבילות הרשמי של אובונטו. אז אתה יכול להתקין אותו בקלות באמצעות מנהל החבילות APT.

אובונטו משתמש נפתר על ידי המערכת כברירת מחדל לניהול שרתי DNS ומטמון DNS. לפני שתתקין dnsmasq, עליך לעצור ולהשבית נפתר על ידי המערכת שירותים. אחרת, לא תוכל להריץ dnsmasq בכלל.

כדי לעצור את נפתר על ידי המערכת שירות, הפעל את הפקודה הבאה:

$סודוsystemctl stop נפתרה systemd

כדי להשבית את נפתר על ידי המערכת שירות, הפעל את הפקודה הבאה:

$סודוsystemctl השבת מערכת נפתרה

כברירת מחדל, /etc/resolv.conf הקובץ מקושר לקובץ תצורה אחר של systemd כפי שאתה יכול לראות בצילום המסך למטה. אבל, אנחנו לא רוצים את זה יותר.

אז, הסר את /etc/resolv.conf קישור עם הפקודה הבאה:

$סודו rm -v /וכו/resolv.conf

עכשיו, צור חדש /etc/resolv.conf קובץ והגדר את שרת ה- DNS של google כשרת DNS המוגדר כברירת מחדל עם הפקודה הבאה:

$זרק 'שרת שמות 8.8.8.8' | סודו טי /וכו/resolv.conf

כעת, עדכן את מטמון מאגר החבילות APT בפקודה הבאה:

$סודועדכון מתאים

כעת, התקן את dnsmasq עם הפקודה הבאה:

$סודומַתְאִיםלהתקיןdnsmasq

יש להתקין את dnsmasq.

הגדרת שרת DNS של dnsmasq:

קובץ התצורה של dnsmasq הוא /etc/dnsmasq.conf . על מנת להגדיר את dnsmasq כשרת DNS, עליך לשנות קובץ זה.

ברירת המחדל /etc/dnsmasq.conf הקובץ מכיל הרבה תיעוד ואפשרויות להערה. לכן, אני חושב שעדיף לשנות את שם ה- /etc/dnsmasq.conf קובץ אל /etc/dnsmasq.conf.bk וליצור אחד חדש.

באפשרותך לשנות את שם קובץ התצורה באמצעות הפקודה הבאה:

$סודו mv -v /וכו/dnsmasq.conf/וכו/dnsmasq.conf.bk

כעת, צור את קובץ התצורה /etc/dnsmasq.conf כדלהלן:

$סודו ננו /וכו/dnsmasq.conf

כעת, הקלד את השורות הבאות ושמור את הקובץ על ידי לחיצה על + איקס בא אחריו ו ו .

# תצורת DNS
נמל=53

דרוש דומיין
מזויף-פרטי
סדר קפדני

הרחב מארחים
תְחוּם= example.com

הערה: שינוי example.com לשם הדומיין שלך.

כעת, הפעל מחדש את שירות dnsmasq עם הפקודה הבאה:

$סודוsystemctl הפעלה מחדש של dnsmasq

ללא שגיאות. גדול!

עכשיו, אתה צריך להגדיר 192.168.10.1 ככתובת ברירת המחדל של שרת ה- DNS ב /etc/resolv.conf .

לשם כך, פתח /etc/resolv.conf קובץ עם הפקודה הבאה:

$סודו ננו /וכו/resolv.conf

עכשיו, הקלד שרת שמות 192.168.10.1 לפני השורה שרת שמות 8.8.8.8 כפי שמוצג בצילום המסך למטה. לאחר מכן שמור את הקובץ.

זהו זה.

הוספת רשומות DNS:

כעת תוכל להוסיף את ערכי ה- DNS שלך ל- /etc/hosts קוֹבֶץ.

ראשית, פתח את /etc/hosts קובץ עם הפקודה הבאה:

$סודו ננו /וכו/מארחים

כעת, הקלד את ערכי ה- DNS שלך בפורמט הבא:

IP_ADDR DOMAIN_NAME

הוספתי 4 ערכים router.example.com (192.168.10.1) , host1.example.com (192.168.10.51) , host2.example.com (192.168.10.52) , ו host3.example.com (192.168.10.53) כפי שמסומן בצילום המסך למטה. אתה יכול להוסיף כמה רשומות DNS שאתה רוצה.

לאחר שתסיים, שמור את הקובץ על ידי לחיצה על + איקס בא אחריו ו ו .

כעת, הפעל מחדש את שירות dnsmasq עם הפקודה הבאה:

$סודוsystemctl הפעלה מחדש של dnsmasq

בודק שרת DNS:

כפי שאתה יכול לראות, רזולוציית ה- DNS המקומית פועלת.

$אתהנתב.example.com

רזולוציית שם האינטרנט פועלת גם היא.

$אתהGoogle com

הגדרת שרת DHCP:

כדי להגדיר את שרת DHCP, פתח את קובץ התצורה dnsmasq /etc/dnsmasq.conf שוב כדלקמן:

$סודו ננו /וכו/dnsmasq.conf

כעת, הוסף את השורות המסומנות לסוף הקובץ. לאחר מכן שמור את הקובץ.

# תצורת DHCP
dhcp-range = 192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option = option: נתב, 192.168.10.1
dhcp-option = option: dns-server, 192.168.10.1
dhcp-option = option: netmask, 255.255.255.0

dhcp-host = 00: 0C:29: A5: BD: 4A, 192.168.10.51
dhcp-host = 00: 0C:29: A5: BD: 5B, 192.168.10.52
dhcp-host = 00: 0C:29A5: BD: 6C, 192.168.10.53

פה, טווח dhcp משמש להגדרת טווח כתובות ה- IP ששרת DHCP יקצה למארחים.

dhcp-option משמש להגדרת השער ( אופציה: נתב ), כתובת שרת DNS ( אופציה: dns-server ) ו- netmask ( אופציה: רשת מסכה )

dhcp-host משמש להגדרת כתובות IP ספציפיות למארחים בהתאם לכתובות ה- MAC שצוינו.

כעת, הפעל מחדש את שירות dnsmasq עם הפקודה הבאה:

$סודוsystemctl הפעלה מחדש של dnsmasq

בדיקת שרת DHCP:

כפי שאתה יכול לראות, המחשב מארח 1 קיבל את כתובת ה- IP 192.168.10.51/24 משרת DHCP.

רזולוציית DNS פועלת גם מ מארח 1 .

בְּאוֹתָה צוּרָה, מארח 2 ו מארח 3 מקבל גם את כתובת ה- IP הנכונה משרת DHCP ורזולוציית DNS פועלת על כל אחד מהם.

לאן ללכת הלאה:

אם אתה רוצה ללמוד עוד על dnsmasq, בדוק את קובץ התצורה המוגדר כברירת מחדל /etc/dnsmasq.conf (שונה שם ל /etc/dnsmasq.conf.bk ). יש לו תיאור מפורט של כל אפשרויות התצורה של dnsmasq.

$פָּחוּת /וכו/dnsmasq.conf.bk

קובץ ברירת מחדל של dnsmasq של שרת אובונטו 18.04 LTS.

אז ככה אתה מגדיר dnsmasq ב- Ubuntu Server 18.04 LTS. תודה שקראת מאמר זה.