Маршрут полного TLD (например, .dev) до 127.0.0.1

28

В целях развития я хочу, чтобы все DNS-запросы к .LDV-TLD перешли на мой собственный компьютер.

Недопустимый файл hosts. Я использую несколько доменов, а также несколько поддоменов. Я бы добавил строку для каждой комбинации.

Я прочитал, что для выполнения задания может использоваться DNS-переадресатор, такой как DNSmasq (например , как описано здесь ). Также это программное обеспечение уже установлено на Ubuntu 12.10.

Проблема в том, что я не вижу, как и где я должен настроить DNSmasq, то есть, где я должен поместить эту строку:

address=/dev/127.0.0.1
    
задан Roel van Duijnhoven 27.12.2012 в 12:27
источник

3 ответа

16

Полностью автономный dnsmasq (DHCP и DNS-сервер) по умолчанию не установлен в Ubuntu 12.04 и 12.10, но по умолчанию в Ubuntu Desktop 12.04 и 12.10 установлен пакет с именем dnsmasq-base. Пакет dnsmasq-base содержит двоичный файл dnsmasq и используется NetworkManager.

Чтобы сделать то, что вы хотите, вам нужно будет использовать dnsmasq в качестве кэширующего DNS-сервера. Вам необходимо:

  • Установить dnsmasq sudo apt-get install dnsmasq
  • Измените настройки сети, чтобы ваш компьютер использовал себя как сервер dns.
  • Внесите изменения в файлы конфигурации:

Создайте /etc/dnsmasq.d/dev-tld с этим содержимым:

local=/dev/

address=/dev/127.0.0.5

Первая команда говорит, что *.dev запросов не могут быть перенаправлены на ваш настоящий DNS-сервер. Второй говорит, что *.dev разрешает 127.0.0.5 , которая является localhost.

  • Перезапустите службу dnsmasq (не сетевой менеджер)
ответ дан Javier Rivera 27.12.2012 в 13:25
источник
20

В Ubuntu 12.10 или новее вы можете сделать это с помощью dnsmasq, как это работает NetworkManager.

  1. Создайте каталог mkdir /etc/NetworkManager/dnsmasq.d , если он еще не существует.

    sudo mkdir /etc/NetworkManager/dnsmasq.d
    
  2. Отмените следующую строку в /etc/NetworkManager/dnsmasq.d/dev-tld .

    address=/dev/127.0.0.1
    
  3. (Ubuntu 12.10) Перезагрузите NetworkManager.

    sudo service network-manager restart
    
  4. (Ubuntu > 13.04) Перезапустите Dnsmasq.

    sudo service dnsmasq restart
    
  5. Наслаждайтесь удивительностью.

    
ответ дан jrg 27.12.2012 в 14:20
0

Следующие работы работали для меня в Ubuntu 16.04:

  1. Установить dnsmasq

    sudo apt-get -y install dnsmasq
    
  2. Изменить файл dnsmasq.conf :

    sudo nano /etc/dnsmasq.conf
    
  3. Добавьте свою команду:

    address=/dev/127.0.0.1
    

    Для wild card (*) вы можете использовать точку (.), затем dnsmasq для решения WHATEWER_YOU_PUT_HERE.yourmachine.yourdomain к тому же ip. Например, address=/.localhost.dev/127.0.0.1

  4. Перезапустите службу dnsmasq:

    sudo /etc/init.d/dnsmasq restart
    
ответ дан Jeril 19.06.2017 в 13:18