OpenWRT-DNSmasq
dnsmasq یک فرواردر DNS، نرمافزار سرور DHCP و زیرسیستم تبلیغاتی روتر برای شبکههای کوچک است. Dnsmasq از Linux، *BSD، Mac OS X و همچنین اندروید پشتیبانی می کند.
یک انتقال دهنده DNS در یک شبکه LAN، درخواست های DNS را برای نام های دامنه غیر محلی به سرورهای DNS بالادستی (خارج از آن شبکه) ارسال می کند. یک سرور کش DNS به درخواستهای بازگشتی از مشتریان پاسخ میدهد تا پرس و جوی DNS سریعتر حل شود، بنابراین سرعت جستجوی DNS به سایتهای بازدید شده قبلی بهبود مییابد.
ن دارای یک زیرسیستم DNS است که یک سرور DNS محلی را برای شبکه فراهم می کند، با ارسال همه انواع پرس و جو به سرورهای DNS بازگشتی بالادست و ذخیره انواع رکوردهای رایج. زیرسیستم DHCP از DHCPv4، DHCPv6، BOOTP، PXE و یک سرور TFTP پشتیبانی می کند. و زیرسیستم تبلیغات روتر از پیکربندی خودکار اولیه برای میزبان های IPv6 پشتیبانی می کند.
۱. بسته dnsmasq در مخازن پیش فرض موجود است و مطابق شکل با استفاده از مخازن بسته در دبیان و اوبونتو و openwrt به راحتی قابل نصب است.
۳. سرور dnsmasq را می توان از طریق فایل /etc/dnsmasq.conf (که شامل گزینه های توضیح داده شده و توضیح خوبی است) پیکربندی کرد و فایل های پیکربندی تعریف شده توسط کاربر را نیز می توان در فهرست /etc/dnsmasq.d اضافه کرد .
DNS به طور پیش فرض فعال است، بنابراین قبل از هر گونه تغییر، مطمئن شوید که یک نسخه پشتیبان از فایل /etc/dnsmasq.conf ایجاد کرده اید .
۴. اکنون فایل /etc/dnsmasq.conf را با استفاده از ویرایشگر متنی دلخواه خود باز کنید و تنظیمات پیکربندی پیشنهادی زیر را انجام دهید.
# vi /etc/dnsmasq.conf
از این listen-address
گزینه برای تنظیم آدرس IP استفاده می شود، جایی که dnsmasq به آن گوش می دهد. برای استفاده از سرور CentOS/RHEL خود برای گوش دادن به درخواستهای DHCP و DNS در LAN ، این listen-address
گزینه را روی آدرسهای IP LAN آن تنظیم کنید (به یاد داشته باشید که ۱۲۷.۰.۰.۱ را نیز مطابق شکل قرار دهید). توجه داشته باشید که IP سرور باید ثابت باشد.
listen-address=::1,127.0.0.1,192.168.56.10
در رابطه با موارد بالا، میتوانید با استفاده از گزینه رابط (افزودن خطوط بیشتر برای بیش از یک رابط) رابط dnsmasq listens را محدود کنید.
interface=eth0
۵. اگر میخواهید یک دامنه (که میتوانید آن را مطابق شکل بعدی تنظیم کنید) به صورت خودکار به نامهای ساده در یک فایل میزبان اضافه کنید، expand-hosts
گزینه را لغو نظر کنید.
گسترش میزبان
۶. برای تنظیم دامنه برای dnsmasq، به این معنی که مشتریان DHCP تا زمانی که دامنه تنظیم شده مطابقت داشته باشد، نام های دامنه کاملاً واجد شرایط خواهند داشت و گزینه DHCP « دامنه » را برای همه مشتریان تنظیم می کند.
domain=tecmint.lan
۷. سپس سرور DNS بالادستی را برای دامنه های غیر محلی با استفاده از گزینه server (به شکل server=dns_server_ip ) مانند شکل تعریف کنید.
# سرورهای نام گوگل سرور=۸.۸.۸.۸ سرور=۸.۸.۴.۴
۸. سپس می توانید دامنه محلی خود را با استفاده از گزینه آدرس همانطور که نشان داده شده است مجبور به یک آدرس IP (های) کنید.
آدرس=/tecmint.lan/127.0.0.1 آدرس=/tecmint.lan/192.168.56.10
۹. فایل را ذخیره کنید و دستور فایل پیکربندی را برای وجود خطا بررسی کنید.
# dnsmasq --تست یکربندی dnsmasq با فایل /etc/resolv.conf ۱۰. در این مرحله، باید با افزودن آدرس های لوکال هاست به عنوان تنها سرورهای نام در فایل /etc/resolv.conf ، تمام کوئری ها را برای ارسال به dnsmasq انجام دهید. # vi /etc/resolv.conf آدرس Localhost را در فایل /etc/resolv.conf تنظیم کنید آدرس Localhost را در فایل /etc/resolv.conf تنظیم کنید ۱۱. فایل /etc/resolv.conf توسط یک شبح محلی به خصوص NetworkManager نگهداری می شود ، بنابراین هر تغییری که توسط کاربر ایجاد شده است رونویسی می شود. برای جلوگیری از این امر، با تنظیم ویژگی فایل تغییرناپذیر (غیرفعال کردن دسترسی نوشتن به فایل) با استفاده از دستور chattr همانطور که نشان داده شده است، از نوشتن محافظت کنید. # chattr +i /etc/resolv.conf # lsattr /etc/resolv.conf ویژگی فایل را تنظیم کنید ویژگی فایل را تنظیم کنید تعریف هاست و نام DNS ۱۲. Dnsmasq همه هاستها و نامهای DNS را از فایل /etc/hosts میخواند ، بنابراین آدرسهای IP میزبانهای DNS و جفتهای نام را مطابق شکل اضافه کنید. ۱۲۷.۰.۰.۱ dnsmasq ۱۹۲.۱۶۸.۵۶.۱۰ dnsmasq دروازه ۱۹۲.۱۶۸.۵۶.۱ ۱۹۲.۱۶۸.۵۶.۱۰۰ maas-controller ۱۹۲.۱۶۸.۵۶.۲۰ nagios ۱۹۲.۱۶۸.۵۶.۲۵ وب سرور۱ آدرس های IP میزبان DNS را اضافه کنید آدرس های IP میزبان DNS را اضافه کنید مهم : نامهای DNS محلی را میتوان با وارد کردن نامها از زیرسیستم DHCP یا با پیکربندی طیف گستردهای از انواع رکوردهای مفید تعریف کرد. ۱۳. برای اعمال تغییرات بالا، سرویس dnsmasq را مانند شکل ریستارت کنید. # systemctl dnsmasq را راه اندازی مجدد کنید ۱۴. اگر سرویس فایروال را اجرا می کنید، باید سرویس های DNS و DHCP را در پیکربندی فایروال باز کنید تا اجازه دهید درخواست هاست ها در LAN شما به سرور dnsmasq ارسال شوند. # firewall-cmd --add-service=dns --permanent # firewall-cmd --add-service=dhcp --permanent # فایروال-cmd --بارگیری مجدد تست DNS محلی ۱۵. برای آزمایش اینکه آیا سرور محلی DNS یا ارسال به خوبی کار می کند، باید از ابزارهایی مانند dig یا nslookup برای انجام پرس و جوهای DNS استفاده کنید. این ابزارها توسط بسته bind-toolsارائه میشوند که ممکن است از قبل روی CentOS/RHEL 8 نصب نشده باشند، اما میتوانید آن را مطابق شکل نصب کنید. # opkg install bind-tools # opkg install bind-dig ۱۶. پس از نصب، می توانید یک پرس و جو ساده در دامنه محلی خود مطابق شکل اجرا کنید. # حفاری tecmint.lan یا # nslookup tecmint.lan پرس و جو از دامنه محلی پرس و جو از دامنه محلی ۱۷. همچنین می توانید سعی کنید FQDN یکی از سرورها را پرس و جو کنید. # dig webserver1.tecmint.lan یا # nslookup webserver1.tecmint.lan DNS دامنه را پرس و جو کنید DNS دامنه را پرس و جو کنید ۱۸. برای تست جستجوی IP معکوس، دستور مشابهی را اجرا کنید. # dig -x 192.168.56.25 یا # nslookup 192.168.56.25 جستجوی معکوس IP را جستجو کنید جستجوی معکوس IP را جستجو کنید سرور DHCP را با استفاده از dnsmasq فعال کنید ۱۹. میتوانید سرور DHCP را با برداشتن کامنت dhcp-rangeگزینه فعال کنید و دامنه آدرسهای موجود برای اجاره و در صورت اختیاری یک زمان اجاره را به عنوان مثال (تکرار برای بیش از یک شبکه) ارائه دهید. dhcp-range=192.168.0.50,192.168.0.150,12h ۲۰. گزینه زیر مشخص می کند که سرور DHCP کجا پایگاه داده اجاره خود را نگه می دارد، این به شما کمک می کند تا به راحتی آدرس های IP را که اختصاص داده است بررسی کنید. dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases ۲۱. برای تبدیل سرور DHCP به حالت معتبر، گزینه را از حالت نظر خارج کنید. dhcp-معتبر ۲۲. فایل را ذخیره کرده و سرویس dnsmasq را مجددا راه اندازی کنید تا تغییرات اخیر اعمال شود. # systemctl dnsmasq را راه اندازی مجدد کنید
[…] OpenWRT-DNSmasq 2 بهمن ۱۴۰۱ […]