Назад | Перейти на главную страницу

Можно ли переопределить одно доменное имя с помощью dnsmasq?

У меня есть серверное приложение, в котором я запускаю два экземпляра: производство и разработку, а именно:

prod.example.com (10.0.0.1)
dev.example.com (10.0.0.2)

Сторонняя организация написала клиентское приложение, которое жестко запрограммировано так, чтобы указывать на prod.example.com. Но я хочу, чтобы эти запросы направлялись в dev.example.com server, и у меня нет доступа к стороннему исходному коду.

У меня есть доступ (временно) к локальной сети, в которой работают клиент и сервер, поэтому я могу использовать dnsmasq Решить prod.example.com к 10.0.0.2, после чего моя работа здесь закончена, и клиентское приложение будет (неосознанно) разговаривать с сервером разработки (по крайней мере, я так думал).

Я дошел до добавления следующей конфигурации в dnsmasq.conf..

address=/prod.example.com/10.0.0.2

..который действительно работает, но имеет побочный эффект, предотвращающий разрешение всех других доменов.

Как я могу съесть свой торт?

Добавьте эту строку в /etc/dnsmasq.conf:

addn-hosts=/etc/dnsmasq.hosts

Затем вставьте свои доменные имена в /etc/dnsmasq.hosts:

10.0.0.1  prod.example.com.
10.0.0.2  dev.example.com.

Не забывайте точку в конце доменного имени. Он отмечает его как TLD, а не как локальное имя хоста.

Как всегда после изменения конфигурации, перезапустите dnsmasq:

sudo service dnsmasq restart