DNS דינמי

עם DNS דינמי, אפשר לנתב דומיין או תת-דומיין למשאב שנמצא מאחורי שער עם כתובת IP המוקצית באופן דינמי.

כדי להשתמש ב-DNS דינמי ב-Google Domains, צריך להגדיר רשומה סינתטית מסוג DNS דינמי. רשומה סינתטית זו:

  • מגדירה רשומת A עבור הדומיין או תת-הדומיין המיידעת את שרתי השמות של Google כי עליהם לצפות לכתובת IP דינמית.
  • יוצרת שם משתמש וסיסמה שהמארח או השרת ישתמשו בהם כדי להעביר את כתובת ה-IP החדשה לשרתי השמות של Google.

לאחר הגדרת הרשומה הסינתטית מסוג DNS דינמי, יש להגדיר תוכנית לקוח במארח או בשרת (המשאב שמאחורי השער) או בשער עצמו. תוכנית זו תזהה שינויים בכתובת ה-IP, ותשתמש בשם המשתמש ובסיסמה שנוצרו כדי להעביר את הכתובת החדשה לשרתי השמות של Google.

הערה: DNS דינמי פועל רק עם כתובות IPv4. כתובות IPv6 בדרך כלל אינן מוקצות באופן דינמי.

הגדרת רשומה סינתטית מסוג DNS דינמי

  1. נכנסים ל-Google Domains: ‏domains.google.com/registrar 
  2. לוחצים על הכרטיסייה DNS של שם הדומיין.
  3. גוללים מטה אל רשומות סינתטיות.
  4. מרשימת הסוגים של רשומות סינתטיות, בוחרים באפשרות DNS דינמי.
  5. מזינים את שם המשאב המיועד לקבל הקצאה של כתובת IP דינמית. זה יכול להיות תת-דומיין או הסימן @ לדומיין ברירת המחדל ("דומיין הבסיס" או "הדומיין ללא קידומת").
  6. אם בחרתם להזין תת-דומיין, צריך להזין את השם של תת-הדומיין.
  7. לוחצים על הוספה.
  8. רשומת ה-DNS הדינמי תיווצר ברשימת הרשומות הסינתטיות. לוחצים על משולש ההרחבה שמימין לרשומה כדי להציג את הערכים שלה.
  9. לוחצים על הצגת פרטי כניסה כדי להציג את שם המשתמש ואת הסיסמה שנוצרו עבור רשומה זו.
  10. חשוב לרשום לפניכם את שם המשתמש ואת הסיסמה שנוצרו עבור הרשומה הסינתטית. הם ישמשו אתכם כדי להגדיר את השער או את תוכנת הלקוח ליצירת קשר עם שרתי השמות של Google.

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

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

יש כמה לקוחות DNS דינמי הנפוצים בשימוש, כגון DDclient ו-INADYN. בנוסף, רוב הנתבים כוללים תוכנה מובנית לזיהוי שינויים בכתובות IP ולהעברת הכתובות החדשות לשרתי השמות.

הערה: מערכת Google Domains משתמשת בפרוטוקול dyndns2.

כדי להגדיר את לקוח ה-DNS הדינמי יש להזין את הפרטים הבאים:

  • ספק (או שירות DNS): השם של ספק ה-DNS.
  • שם משתמש (או פרטי כניסה): שם המשתמש שנוצר ברשומת ה-DNS הדינמי.
  • סיסמה (או פרטי כניסה): הסיסמה שנוצרה ברשומת ה-DNS הדינמי.

לאחר יצירת הרשומה והגדרת תוכנת הלקוח, מומלץ לבצע בדיקה. לשם כך, צריך להזין את תת-הדומיין ואת הדומיין בדפדפן אינטרנט (או בלקוח מתאים) ולבדוק אם הוא מתחבר למשאב הנכון.

דוגמאות

DDclient כולל עכשיו תמיכה ב-Google Domains.

DDclient עם תמיכה ב-Google Domains

הערכים של ddclient.conf:

ssl=yes

protocol=googledomains

login=generated_username

password=generated_password

your_resource.your_domain.tld

דוגמאות להגדרות לקוח כלליות:

DDclient
ללא תמיכה ב-Google Domains
INADYN

ערכים של ddclient.conf לדוגמה:

protocol=dyndns2

use=web

server=domains.google.com

ssl=yes

login=generated_username

password=generated_password

your_resource.your_domain.tld

צריך להוסיף את הערכים הבאים ל-inadyn.conf

system default@domains.google.com

username generated_username

password generated_password

alias sub.domain.tld

שימוש ב-API לעדכון רשומת ה-DNS הדינמי

תוכנת לקוח של DNS דינמי מעדכנת אוטומטית את רשומת ה-DNS הדינמי. אפשר לבצע עדכונים באופן ידני באמצעות ה-API. לשם כך יש לשלוח בקשת POST (אפשר גם בקשת GET) לכתובת הבאה:
https://domains.google.com/nic/update

כדי לבצע בקשות באמצעות ה-API יש להשתמש ב-HTTPS. לפניכם בקשה לדוגמה:
https://username:password@domains.google.com/nic/update?hostname=subdomain.yourdomain.com&myip=1.2.3.4

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

שאילתת HTTP לדוגמה:
hostname=subdomain.yourdomain.com&myip=1.2.3.4 HTTP/1.1‏?‏POST /nic/update‏
Host: domains.google.com
Authorization: Basic base64-encoded-auth-string User-Agent: Chrome/41.0 your_email@yourdomain.com

הפרמטרים של הבקשה:

פרמטר חובה/אופציונלי תיאור
username:password חובה שם המשתמש והסיסמה שנוצרו המשויכים למארח שאמור להתעדכן.
hostname חובה שם המארח שאמור להתעדכן.
myip אופציונלי
(חובה אם יש לכם כתובת IPv6)
כתובת ה-IP שאליה יוגדר המארח. אם לא תסופק כתובת, נשתמש בכתובת ה-IP של הסוכן ששלח את הבקשה.

הערה: מכיוון שהכתובת צריכה להיות כתובת IPv4, אם הסוכן משתמש בכתובת IPv6, חובה לספק את הפרמטר myip. כדי לבדוק את כתובת ה-IP של הסוכן, יש לעבור לכתובת https://domains.google.com/checkip.

offline אופציונלי פרמטר זה מגדיר את המארח הנוכחי לסטטוס לא מקוון. אם תתבצע בקשת עדכון במארח לא מקוון, המארח יוסר מהמצב הלא מקוון.
הערכים המותרים הם:
  • yes
  • no

לאחר עיבוד הבקשה תוחזר אחת מהתגובות הבאות.

חשוב לפרש את התגובה נכון - אחרת, הלקוח עלול להיחסם במערכת שלנו.
תגובה סטטוס תיאור
good 1.2.3.4 בוצע בהצלחה העדכון בוצע בהצלחה. לאחר התגובה יופיעו רווח וכתובת ה-IP המעודכנת. עד שכתובת ה-IP תשתנה, אין לנסות לבצע עדכון נוסף.
nochg 1.2.3.4 בוצע בהצלחה כתובת ה-IP שסופקה כבר מוגדרת למארח זה. עד שכתובת ה-IP תשתנה, אין לנסות לבצע עדכון נוסף.
nohost שגיאה שם המארח אינו קיים, או שהאפשרות של DNS דינמי אינה מופעלת אצלו.
badauth שגיאה השילוב של שם המשתמש והסיסמה אינו חוקי אצל המארח שצוין.
notfqdn שגיאה שם המארח שסופק אינו שם דומיין בעל הרשאות מלאות.
badagent שגיאה לקוח ה-DNS הדינמי מבצע בקשות שגויות. יש לוודא כי הבקשה כוללת הגדרה של סוכן המשתמש, ושאתם מנסים להגדיר כתובת IPv4 בלבד. כתובת IPv6 אינה נתמכת.
abuse שגיאה הגישה של ה-DNS הדינמי לשם המארח נחסמה מכיוון שתגובות קודמות לא פורשו נכון.
911 שגיאה אירעה שגיאה בצד שלנו. יש להמתין חמש דקות ולנסות שוב.
האם המאמר היה מועיל?
איך נוכל לשפר את המאמר?