klen.github.io

in Blog

Настройка dnsmasq для локальной разработки (linux)

Django-markdown — поддержка Markdown в Django Ctrl→
←Ctrl Создание сервера оповещений с использованием Tornado и Socket.IO


В какой-то момент в процессе локальной разработки мне надоело постоянно редактировать /etc/hosts для тестирования очередного развернутого проекта. Появилось желание настроить "wild local dns" — например чтобы все днс вида *.dev.me вели на localhost. К сожалению /etc/hosts не поддерживает записи вида *.bla.bla.bla. Поиск в интернете давал только ссылки на BIND9, настраивать который достаточно сложно. Но когда я уже был морально готов воевать с BIND9, мне на глаза попался более простой DNS сервер — Dnsmasq. С его использованием задача сильно упрощается, буквально до нескольких команд.

Установка и использование Dnsmasq

debian-based (вам понадобятся root права):

# Устанавливаем dnsmasq
apt-get install dnsmasq

# Редактируем кнфигурацию dnsmasq
vim /etc/dnsmasq.conf
#   # Добавляем строку со своим "вируальным доменом для localhost"
#   address=/dev.me/127.0.0.1

# Перезапускаем сервис
/etc/init.d/dnsmasq restart

# Все, наши локальные поддомены готовы.
ping dev.me
ping something.dev.me
ping another.domain.dev.me

Все работает!

Django-markdown — поддержка Markdown в Django Ctrl→
←Ctrl Создание сервера оповещений с использованием Tornado и Socket.IO
alt