در محیط Airgap، دسترسی به DNS خارجی مسدود است. بنابراین باید یک سرویس DNS داخلی راهاندازی کنید. سه گزینه اصلی برای سرور DNS عبارتاند از:
Bind9
قدیمیترین و پایدارترین گزینه، بهصورت پیشفرض در اکثر مخازن لینوکس موجود است. برای نصب:
sudo apt install -y bind9فایل تنظیمات اصلی در /etc/bind/named.conf یا /etc/bind/named.conf.options قرار دارد. یک نمونه تنظیمات ساده برای استفاده بهعنوان DNS Forwarder:
options {
directory "/var/cache/bind";
forwarders {
217.218.127.127;
217.218.155.155;
};
dnssec-validation auto;
listen-on { any; };
allow-query { 192.168.0.0/16; };
};بعد از ویرایش، سرویس را ریاستارت کنید:
sudo systemctl restart bind9PowerDNS
مدرن، قدرتمند و مناسب برای مدیریت پیشرفته با پشتیبانی از پایگاههای داده. نصب:
sudo apt install -y pdns-server pdns-backend-bindفایل تنظیمات در /etc/powerdns/pdns.conf:
allow-recursion=192.168.0.0/16
allow-axfr-ips=192.168.0.0/16
master=yes
slave=yes
local-address=0.0.0.0
local-port=53
launch=bindسپس سرویس را راهاندازی کنید:
sudo systemctl restart pdnsPowerDNS یک API داخلی برای مدیریت رکوردها دارد که میتوانید از طریق HTTP با آن کار کنید.
CoreDNS
سبک، مدرن و بهویژه در محیطهای کانتینری (مثل Kubernetes) محبوب است. برای استفاده، باید باینری CoreDNS را دانلود کنید یا با Docker اجرا کنید. ساختار هسته CoreDNS با فایل Corefile است:
.:53 {
forward . 217.218.127.127 217.218.155.155 {
prefer_udp
}
log
errors
}با این تنظیمات، CoreDNS تمام درخواستهای DNS را به DNS Serverهای داخلی فوروارد میکند.
برای راهاندازی و تنظیمات دقیق هر یک از این سرورها، مقالهی زیر را مطالعه کنید: مقایسه و نصب سرورهای DNS: Bind9، PowerDNS و CoreDNS