محتوا
- مرحله 1: بسته های مورد نیاز را نصب کنید
- مرحله 2: پیکربندی سرور DNS در سطح جهانی
- مرحله 3: یک منطقه جلو و عقب ایجاد کنید
- مرحله 4: راه اندازی سرور DNS
- مرحله 5: تنظیمات فایروال را تغییر دهید
- مرحله ششم: تنظیم حقوق دسترسی
- مرحله 7: آزمایش خطاها و اتمام پیکربندی
- مرحله 8: بررسی سرور DNS نصب شده
- پیکربندی سمت مشتری سرور DNS
- تست سرور DNS
- پرسش و پاسخ
مرحله 1: بسته های مورد نیاز را نصب کنید
قبل از شروع به بررسی دستورالعمل های زیر ، می خواهیم توجه داشته باشیم که سایت ما از قبل دارای یک راهنمای کلی برای پیکربندی DNS استاندارد در Linux است. اگر لازم است تنظیمات بازدیدهای منظم از سایت های اینترنتی را تنظیم کنید ، توصیه می کنیم دقیقاً از آن مطالب استفاده کنید. در مرحله بعدی ، نحوه نصب یک سرور محلی اصلی DNS با سمت سرویس گیرنده به شما نشان داده می شود.
همچنین بخوانید: پیکربندی DNS در Linux
به عنوان ابزاری برای ایجاد یک سرور محلی DNS ، ما توصیه می کنیم از آن استفاده کنید اتصال 9... تنظیم پرونده های پیکربندی بعدی نیز براساس اصول کلی رفتار این م componentلفه انجام خواهد شد. پیش فرض اتصال 9 در سیستم عامل وجود ندارد ، بنابراین بیایید با اضافه کردن آن شروع کنیم.
- کنسول را به روشی که برای شما مناسب است راه اندازی کنید. در بخش است "برنامه های کاربردی" — موارد دلخواه یا می توان آن را از طریق میانبر صفحه کلید استاندارد باز کرد Ctrl + Alt + T.
- در اینجا باید دستور را وارد کنید
sudo yum نصب bind bind-utils -y
و کلیک کنید وارد برای فعال سازی آن - این عمل از طرف مدیر فوق العاده انجام می شود (سودو) ، بنابراین شما باید حساب را با وارد کردن رمز عبور در خط ظاهر شده تأیید کنید.
- منتظر بمانید تا بارگیری و نصب بسته ها کامل شود.
در پایان این فرآیند ، به شما اطلاع داده می شود که همه بسته ها با موفقیت به سیستم اضافه شده اند. سپس به مرحله بعدی بروید.
مرحله 2: پیکربندی سرور جهانی DNS
حال می خواهیم نحوه ویرایش دقیق فایل پیکربندی و همچنین خطوط اضافه شده در آن را نشان دهیم. ما به طور جداگانه در مورد هر خط صحبت نخواهیم کرد ، زیرا زمان زیادی طول خواهد کشید ، علاوه بر این ، تمام اطلاعات لازم در اسناد رسمی موجود است.
- از هر ویرایشگر متن می توان برای ویرایش اشیا conf پیکربندی استفاده کرد. پیشنهاد ما نصب راحت است نانوبا تایپ کردن در کنسول
sudo yum نصب nano
. - همه بسته های مورد نیاز بارگیری می شوند و اگر قبلاً در توزیع وجود داشته باشند ، اعلانی دریافت می کنید "کاری برای انجام دادن نیست".
- بیایید ویرایش فایل را شروع کنیم. آن را از طریق باز کنید
sudo nano /etc/named.conf
... در صورت لزوم ، ویرایشگر متن مورد نظر را جایگزین کنید ، سپس خط به صورت زیر خواهد بود:sudo vi /etc/named.conf
. - در زیر محتوایی را که باید در پرونده باز شده وارد کنید یا با اضافه کردن خطوط گمشده آن را با محتوای موجود مقایسه کنید ، ارائه خواهیم داد
- پس از آن بر روی کلیک کنید Ctrl + Oبرای ثبت تغییرات
- نیازی به تغییر نام پرونده نیست ، فقط روی کلیک کنید وارد.
- ویرایشگر متن را از طریق بگذارید Ctrl + X.
همانطور که قبلاً ذکر شد ، شما باید خطوط خاصی را در پرونده پیکربندی وارد کنید که قوانین کلی رفتار سرور DNS را تنظیم می کند.
//
// نامگذاری شده
//
// تهیه شده توسط بسته Red Hat bind برای پیکربندی ISC BIND به نام (8) DNS
// سرور فقط به عنوان حافظه پنهان فقط سرور نام (فقط به عنوان یک حلکننده DNS localhost).
//
// برای مثال پرونده های پیکربندی شده / usr / share / doc / bind * / sample / را ببینید.
//
گزینه ها {
گوش دادن در پورت 53 {127.0.0.1؛ 192.168.1.101؛}؛ ### Master DNS IP ###
# listen-on-v6 port 53 {:: 1؛ }؛
فهرست "/ var / نامگذاری شده"؛
dump-file "/var/named/data/cache_dump.db"؛
statistics-file "/var/named/data/named_stats.txt"؛
memstatistics-file "/var/named/data/named_mem_stats.txt"؛
allow-query {localhost؛ 192.168.1.0/24؛}؛ ### محدوده IP ###
allow-transfer {localhost؛ 192.168.1.102؛ }؛ ### Slave DNS IP ###
/*
- اگر در حال ساخت یک سرور معتبر DNS هستید ، بازگشت را فعال نکنید.
- اگر در حال ساخت یک سرور RECURSIVE (حافظه پنهان) DNS هستید ، باید فعال کنید
بازگشت
- اگر سرور بازگشتی DNS شما دارای آدرس IP عمومی است ، شما باید دسترسی را فعال کنید
کنترل را محدود کنید تا درخواستها را به کاربران مجاز خود محدود کنید. عدم انجام این کار باعث خواهد شد
باعث شود سرور شما بخشی از تقویت DNS در مقیاس بزرگ شود
حملات پیاده سازی BCP38 در داخل شبکه شما بسیار مثر است
سطح حمله را کاهش دهید
*/
بازگشت بله
فعال کردن dnssec بله؛
اعتبار سنجی dnssec بله؛
dnssec-lookaside خودکار؛
/ * مسیر دسترسی به کلید ISC DLV * /
bindkeys-file "/etc/named.iscdlv.key"؛
مدیریت-کلید-دایرکتوری "/ var / نامگذاری / پویا"؛
pid-file "/run/named/named.pid"؛
session-keyfile "/run/named/session.key"؛
};
ورود به سیستم {
کانال default_debug {
پرونده "data / named.run" ؛
شدت پویا ؛
};
};
منطقه "". که در {
اشاره نوع
پرونده "names.ca" ؛
};
منطقه "unixmen.local" IN {
استاد تایپ
پرونده "forward.unixmen"؛
allow-update {none؛ }؛
};
منطقه "1.168.192.in-addr.arpa" IN {
استاد تایپ
پرونده "reverse.unixmen"؛
allow-update {none؛ }؛
};
شامل "/etc/named.rfc1912.zones"؛
شامل "/etc/named.root.key"؛
اطمینان حاصل کنید که همه چیز دقیقاً مطابق شکل بالا تنظیم شده است و فقط سپس به مرحله بعدی بروید.
مرحله 3: یک منطقه جلو و عقب ایجاد کنید
سرور DNS از مناطق جلو و معکوس برای بدست آوردن اطلاعات منبع استفاده می کند. Forward به شما امکان می دهد تا با استفاده از نام میزبان آدرس IP دریافت کنید ، و برعکس IP بیش از حد نام دامنه را به شما می دهد. عملکرد صحیح هر منطقه باید با قوانین خاصی ارائه شود ، ما پیشنهاد می کنیم که برای ایجاد این قوانین بیشتر کار کنیم.
- با استفاده از همان ویرایشگر متن ، یک فایل جداگانه برای منطقه مستقیم ایجاد می کنیم.سپس خط به صورت زیر خواهد بود:
sudo nano /var/named/forward.unixmen
. - به شما اطلاع داده می شود که این یک شی خالی است. محتوای زیر را در آنجا جای گذاری کنید:
86400 دلار TTL
@ IN SOA masterdns.unixmen.local. root.unixmen.local. (
2011071001؛ سریال
3600 ؛ تازه کردن
1800 ؛ دوباره امتحان کنید
604800 ؛ منقضی شود
86400 ؛ حداقل TTL
)
@ IN NS masterdns.unixmen.local.
@ در NS seconddns.unixmen.local.
@ IN A 192.168.1.101
@ IN A 192.168.1.102
@ IN A 192.168.1.103
masterdns IN A 192.168.1.101
Secondarydns IN A 192.168.1.102
مشتری IN A 192.168.1.103 - تغییرات خود را ذخیره کرده و ویرایشگر متن را ببندید.
- حالا بیایید به منطقه معکوس برویم. به یک پرونده احتیاج دارد
/var/named/reverse.unixmen
. - این نیز یک پرونده خالی جدید خواهد بود. درج کنید:
86400 دلار TTL
@ IN SOA masterdns.unixmen.local. root.unixmen.local. (
2011071001؛ سریال
3600 ؛ تازه کردن
1800 ؛ دوباره امتحان کنید
604800 ؛ منقضی شود
86400 ؛ حداقل TTL
)
@ IN NS masterdns.unixmen.local.
@ در NS seconddns.unixmen.local.
@ IN PTR unixmen.local.
masterdns IN A 192.168.1.101
Secondarydns IN A 192.168.1.102
مشتری IN A 192.168.1.103
101 در PTR masterdns.unixmen.local.
102 در PTR seconddns.unixmen.local.
103 در PTR client.unixmen.local. - هنگام ذخیره نام شی را تغییر ندهید ، بلکه کلید را فشار دهید وارد.
اکنون از پرونده های مشخص شده برای مناطق جلو و عقب استفاده خواهد شد. در صورت لزوم ، باید آنها را ویرایش کنید تا برخی از پارامترها را تغییر دهید. همچنین می توانید در این مورد در اسناد رسمی بخوانید.
مرحله 4: راه اندازی سرور DNS
پس از دنبال کردن تمام دستورالعمل های قبلی ، می توانید سرور DNS را شروع کنید تا در آینده بررسی عملکرد آن آسان باشد و پیکربندی پارامترهای مهم ادامه یابد. این کار به شرح زیر انجام می شود:
- در کنسول وارد شوید
sudo systemctl فعال شده به نام
برای اضافه کردن یک سرور DNS به شروع کار برای راه اندازی خودکار در هنگام راه اندازی سیستم عامل. - با وارد کردن رمز ورود کاربر فوق ، این عمل را تأیید کنید.
- در مورد ایجاد پیوند نمادین به شما اطلاع داده می شود ، این بدان معنی است که این اقدام با موفقیت انجام شده است.
- برنامه را از طریق اجرا کنید
systemctl شروع نامگذاری شده است
... فقط با جایگزینی گزینه می توانید آن را به همان روش متوقف کنید شروع کنید برمتوقف کردن
. - هنگامی که پنجره بازشو احراز هویت ظاهر شد ، رمز عبور اصلی را وارد کنید.
همانطور که مشاهده می کنید ، مدیریت سرویس مشخص شده طبق همان اصل سایر سرویس های استاندارد انجام می شود ، بنابراین حتی برای کاربران تازه کار نیز مشکلی در این مورد وجود ندارد.
مرحله 5: تنظیمات فایروال را تغییر دهید
برای عملکرد صحیح سرور DNS ، باید پورت 53 را باز کنید که از طریق فایروال استاندارد FirewallD انجام می شود. که در "پایانه" شما فقط باید سه دستور ساده وارد کنید:
- اولی فرم دارد
firewall-cmd - دائمی --add-port = 53 / tcp
و مسئول افتتاح درگاه TCP است. آن را وارد کنسول کرده و روی آن کلیک کنید وارد. - باید به شما اطلاع داده شود "موفقیت"، که نشان دهنده کاربرد موفقیت آمیز قانون است. بعد از آن خط را وارد کنید
firewall-cmd - دائمی --add-port = 53 / udp
برای باز کردن درگاه UDP. - همه تغییرات فقط پس از راه اندازی مجدد فایروال اعمال می شود ، که از طریق دستور انجام می شود
دیوار آتش-cmd - بارگیری مجدد
.
دیگر نیازی به تغییر در دیوار آتش ندارید. آن را همیشه روشن نگه دارید تا از دسترسی به مشکلی جلوگیری کنید.
مرحله ششم: تنظیم حقوق دسترسی
اکنون برای اینکه بتوانید عملکرد سرور DNS را کمی ایمن کرده و از کاربران عادی در برابر تغییر پارامترها محافظت کنید ، باید مجوزهای اساسی و حقوق دسترسی را تنظیم کنید. بیایید این کار را به روش استاندارد و از طریق SELinux انجام دهیم.
- تمام دستورات بعدی باید از طرف مدیر مسئول فعال شوند. برای اینکه مدام رمز عبور وارد نشود ، به شما توصیه می کنیم دسترسی ریشه دائمی را برای جلسه ترمینال فعلی فعال کنید. برای این کار ، وارد کنسول شوید
سو
. - رمز ورود را وارد کنید.
- برای ایجاد تنظیمات دستیابی بهینه ، دستورات زیر را یکی یکی وارد کنید:
chgrp به نام -R / var / به نام
ریشه chown -v: به نام /etc/named.conf
restorecon -rv / var / به نام
restorecon /etc/named.conf
این تنظیمات کلی سرور اصلی DNS را کامل می کند. تنها چیزی که باقی مانده ویرایش چند فایل پیکربندی و آزمایش خطاها است. با همه اینها ، ما پیشنهاد می کنیم که در مرحله بعدی آن را رقم بزنیم.
مرحله 7: آزمایش خطاها و اتمام پیکربندی
توصیه می کنیم ابتدا با بررسی خطاها شروع کنید تا در آینده مجبور به تغییر پرونده های پیکربندی باقیمانده نباشید. به همین دلیل است که ما همه اینها را در یک مرحله پوشش خواهیم داد ، و همچنین نمونه هایی از خروجی دستور صحیح را برای آزمایش ارائه می دهیم.
- وارد شوید "پایانه"
name-checkconf /etc/named.conf
... این پارامترهای جهانی را بررسی می کند. اگر در نتیجه ، هیچ خروجی دنبال نشود ، همه چیز به درستی پیکربندی شده است. در غیر این صورت ، پیام را مطالعه کرده و با شروع از آن ، مشکل را حل کنید. - بعد ، باید با وارد کردن خط ، منطقه مستقیم را بررسی کنید
unixmen.local /var/named/forward.unixmen به نام-checkzone
. - خروجی نمونه به این شکل است:
zone unixmen.local / IN: سریال بارگذاری شده 2011071001 OK
. - ما تقریباً همین کار را با منطقه معکوس انجام می دهیم
unixmen.local /var/named/reverse.unixmen به نام checkzone
. - خروجی صحیح باید به این صورت باشد:
zone unixmen.local / IN: سریال بارگذاری شده 2011071001 OK
. - حالا بیایید به تنظیمات رابط اصلی شبکه برویم. شما باید داده های سرور DNS فعلی را به آن اضافه کنید. برای انجام این کار ، پرونده را باز کنید
/ etc / sysconfig / اسکریپتهای شبکه / ifcfg-enp0s3
. - اطمینان حاصل کنید که مطالب مطابق شکل زیر باشد. در صورت لزوم پارامترهای DNS را جای گذاری کنید.
TYPE = "اترنت"
BOOTPROTO = "هیچ"
DEFROUTE = "بله"
IPV4_FAILURE_FATAL = "نه"
IPV6INIT = "بله"
IPV6_AUTOCONF = "بله"
IPV6_DEFROUTE = "بله"
IPV6_FAILURE_FATAL = "نه"
NAME = "enp0s3"
UUID = "5d0428b3-6af2-4f6b-9fe3-4250cd839efa"
ONBOOT = "بله"
HWADDR = "08: 00: 27: 19: 68: 73"
IPADDR0 = "192.168.1.101"
PREFIX0 = "24"
GATEWAY0 = "192.168.1.1"
DNS = "192.168.1.101"
IPV6_PEERDNS = "بله"
IPV6_PEERROUTES = "بله" - پس از ذخیره تغییرات به پرونده بروید
/etc/resolv.conf
. - فقط باید یک خط در اینجا اضافه کنید:
سرور نام 192.168.1.101
. - پس از اتمام ، تنها راه اندازی مجدد شبکه یا کامپیوتر برای به روزرسانی پیکربندی است. سرویس شبکه از طریق دستور مجدداً راه اندازی می شود
شبکه راه اندازی مجدد systemctl
.
مرحله 8: بررسی سرور DNS نصب شده
در پایان پیکربندی ، فقط بررسی عملکرد سرور DNS موجود پس از اضافه شدن به سرویس شبکه جهانی باقی مانده است. این عملیات همچنین با استفاده از دستورات ویژه انجام می شود. اولین آنها فرم دارد masterdns.unixmen.local حفاری
.
در نتیجه ، صفحه باید خروجی نمایش دهد که به نظر می رسد مشابه محتوای زیر باشد.
؛ <> DiG 9.9.4-RedHat-9.9.4-14.el7 <> masterdns.unixmen.local
؛؛ گزینه های جهانی: + cmd
؛؛ جواب گرفت:
؛؛ - >> HEADER << - کد کد: QUERY ، وضعیت: NOERROR ، شناسه: 25179
؛؛ پرچم ها: qr aa rd ra؛ پرسش: 1 ، پاسخ: 1 ، اقتدار: 2 ، اضافی: 2
؛؛ OPESUDOSECTION:
؛ EDNS: نسخه: 0 ، پرچم ها: udp: 4096
؛؛ بخش پرسش:
؛ masterdns.unixmen.local. در یک
؛؛ بخش پاسخ:
masterdns.unixmen.local. 86400 IN A 192.168.1.101
؛؛ بخش اختیارات:
یونیکسمن .محلی 86400 IN NS seconddns.unixmen.local.
unixmen. محلی 86400 IN NS masterdns.unixmen.local.
؛؛ بخش اضافی:
Secondarydns.unixmen.Local. 86400 IN A 192.168.1.102
؛؛ زمان پرس و جو: 0 میلی ثانیه
؛؛ سرور: 192.168.1.101 # 53 (192.168.1.101)
؛؛ WHEN: چهارشنبه اوت 20 16:20:46 IST 2014
؛؛ rcvd MSG SIZE: 125
با یک دستور اضافی می توانید از وضعیت عملکرد سرور DNS محلی مطلع شوید. برای انجام این کار ، وارد کنسول شوید nslookup unixmen.local
و کلیک کنید وارد.
این باید سه نمایش مختلف از آدرس IP و نام دامنه را نشان دهد.
سرور: 192.168.1.101
آدرس: 192.168.1.101 # 53
نام: unixmen.local
آدرس: 192.168.1.103
نام: unixmen.local
آدرس: 192.168.1.101
نام: unixmen.local
آدرس: 192.168.1.102
اگر خروجی با آنچه ما نشان دادیم مطابقت دارد ، پیکربندی با موفقیت انجام شد و می توانید با بخش سرویس دهنده DNS کار کنید.
پیکربندی سمت مشتری سرور DNS
ما این روش را به مراحل جداگانه تقسیم نمی کنیم ، زیرا این کار با ویرایش فقط یک فایل پیکربندی انجام می شود. لازم است اطلاعات مربوط به همه کلاینت هایی که به سرور متصل می شوند اضافه شود و نمونه ای از این تنظیمات به این شکل است:
- پرونده را باز کنید
/etc/resolv.conf
از طریق هر ویرایشگر متن مناسب. - خطوط را به آنجا اضافه کنید
unixmen.local nameserver 192.168.1.101 را جستجو کنید
وسرور نام 192.168.1.102
، آدرس مشتری را با آدرس جایگزین کنید. - هنگام ذخیره ، نام پرونده را تغییر ندهید ، بلکه کلید را فشار دهید وارد.
- پس از خارج شدن از ویرایشگر متن ، حتماً شبکه جهانی را از طریق دستور دوباره راه اندازی کنید
شبکه راه اندازی مجدد systemctl
.
اینها نکات اصلی پیکربندی سمت مشتری سرور DNS بود که می خواستیم درباره آنها صحبت کنیم. ما پیشنهاد می کنیم در صورت لزوم ، با خواندن اسناد رسمی ، همه تفاوت های ظریف را مطالعه کنیم.
تست سرور DNS
آخرین مرحله از مطالب امروز ما آزمایش نهایی سرور DNS است. در زیر می توانید چندین دستور را برای کنار آمدن با وظیفه مشاهده کنید. با فعال کردن از طریق یکی از آنها استفاده کنید "پایانه"... اگر هیچ خطایی در خروجی وجود نداشته باشد ، کل فرایند درست است.
masterdns.unixmen.local حفاری
حفاری Secondarydns.unixmen.local
حفر مشتری. unixmen. محلی
nslookup unixmen.local
امروز شما در مورد راه اندازی یک سرور اصلی DNS در توزیع CentOS اطلاعاتی کسب کردید. همانطور که مشاهده می کنید ، کل عملیات وارد کردن دستورات ترمینال و ویرایش فایل های پیکربندی است که می تواند مشکلات خاصی را برای کاربران تازه کار ایجاد کند. با این حال ، تمام کاری که شما باید انجام دهید این است که دقیقاً دستورالعمل ها را دنبال کنید و نتایج بررسی ها را بخوانید تا همه چیز بدون خطا پیش برود.