setup dns server using dnsmasq and docker

  • برای راه اندازی یک dns سرور محلی کوچک می توان از dnsmasq استفاده کرد.
  • چه بهتر است که این سرویس بر روی داکر و در داخل یک container راه اندازی شود.
  • image ای که می خواهیم استفاده کنیم یک پنل کوچک تحت وب نیز برای dnsmasq در اختیار ما قرار می دهد.
  • این image در داخل مخزن اصلی داکر موجود است.
  • کافیست به این صورت سرچ کنید :
# docker search dnsmasq
  • برای نصب کافیست :
# docker pull jpillora/dnsmasq
  • ابتدا فایل کانفیگ رو در داخل سرور ایجاد می کنیم. ( سپس متصل می کنیم به container )
# vim /opt/dnsmasq.conf

# dnsmasq config, for a complete example, see:
# http://oss.segetech.com/intra/srv/dnsmasq.conf
# log all dns queries
log-queries
# dont use hosts nameservers
no-resolv
# use cloudflare as default nameservers, prefer 1^4
server=1.0.0.1
server=1.1.1.1
strict-order
# serve all .company queries using a specific nameserver
server=/company/10.0.0.1
# explicitly define host-ip mappings
address=/myhost.company/10.0.0.2
  • برای کانفیگ بهتر رکورد ها به تاپیک زیر مراجعه کنید.
  • forward and reverse dns in dnsmasq
  • در نهایت container مورد نظر را به صورت زیر اجرا می کنیم.
# docker run \
	--name dnsmasq \
	-d \
	-p 53:53/udp \
	-p 5380:8080 \
	-v /opt/dnsmasq.conf:/etc/dnsmasq.conf \
	--log-opt "max-size=100m" \
	-e "HTTP_USER=foo" \
	-e "HTTP_PASS=bar" \
	--restart always \
	jpillora/dnsmasq
  • برای اتصال به پنل می توان وارد آدرس آی پی سرور با پورت 5380 شد.
  • برای تست اتصال می توان به صورت زیر عمل کرد.
# nslookup myhost.company <docker-host>
  • یا این که آدرس آی پی سرور رو به عنوان dns سیستم تنظیم کرد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *