Отправить все запросы на TLD на один IP

Я боролся с этой проблемой в течение нескольких дней, и я не могу понять, что я делаю неправильно. Я разрабатываю вид, который будет использовать динамические субдомены, поэтому я пытаюсь заставить все домены, заканчивающиеся на .test, маршрутизировать на один IP-адрес (я понимаю, что не только субдомены будут маршрутизировать, но и все домены .test, но я разрабатываю все свои достопримечательности в домене .test).

Я пытался настроить dnsmasq для достижения этой цели, но я не могу заставить его работать. Я знаю, что NetworkManager запускает свой собственный экземпляр dnsmasq. Я сделал следующую запись в нескольких местах, пытаясь заставить это работать. Запись, которую я пробую, выглядит следующим образом: address = /. Test / 192.168.10.10 .

Я сделал записи в:

  • /etc/NetworkManger/dnsmasq.d/hosts.conf
  • /etc/NetworkManager/dnsmasq-shared.d/ hosts.conf
  • /etc/dnsmasq.d/hosts.conf
  • /etc/dnsmasq.conf

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

Я попытался перезапустить мой сетевой интерфейс, и я перезагружал мою машину оба раза.

1110 Я не уверен, что делаю не так. Любая помощь будет оценена.

0
задан 30 June 2018 в 04:28

1 ответ

1137 Я тоже был в одной лодке несколько дней. Вот что я сделал, чтобы это работало (но я не уверен, что это правильный способ решить проблему).

В Ubuntu по умолчанию установлен DNS-сервер-заглушка (прослушивающий порт 53) с именем systemd-resolved. Я не смог бы заставить dnsmasq работать, не отключив заглушку. Я не уверен, что можно отключить turinig off systemd-resolved, но так как он называется Stub DNS, думаю, все должно быть в порядке (sudo systemctl disable systemd-resolved.service).

Затем я внес изменения в /etc/dnsmasq.conf: раскомментируйте bind-interfaces и заставьте dnsmasq прослушать 127.0.0.1:53 (listen=127.0.0.1 и port=53).

Скажите NetworkManager использовать dnsmasq в качестве DNS-сервера, добавив dns=dnsmasq в /etc/NetworkManager/NetworkManager.conf (в категории [main]).

Теперь, когда systemd-resolved отключено, вы можете редактировать /etc/resolve.conf (по крайней мере, пока не установите другую службу, которая генерирует и управляет resolve.conf). nameserver 127.0.0.53 больше не требуется, измените его на nameserver 127.0.0.1.

Теперь вы сможете настроить dnsmasq для разрешения вашего TLD по адресу, который вы хотите. Создайте файл /etc/dnsmasq.d/test.conf с address=/.test/127.0.0.1.

Перезапустите оба, dnsmasq и NetworkManager (sudo servicectl restart dnsmasq.service, sudo servicectl restart network-manager.service).

developer@ubuntu:~$ dig hi_eric.test

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> hi_eric.test
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59442
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;hi_eric.test.          IN  A

;; ANSWER SECTION:
hi_eric.test.       0   IN  A   127.0.0.1

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Jul 01 07:30:46 PDT 2018
;; MSG SIZE  rcvd: 46

Недостатком является то, что это заставило меня использовать жестко закодированные DNS-серверы для исходящего трафика (потому что сейчас .test - единственный домен, который может разрешить ваш сервер). Мне пришлось добавить resolv-file=/etc/resolve.dnsmasq в /etc/dnsmasq.conf и создать /etc/resolve.dnsmasq с общедоступными DNS-серверами Google:

nameserver 8.8.8.8
nameserver 8.8.4.4

Перезапустить dnsmasq в последний раз (sudo servicectl restart dnsmasq.service). Теперь все более-менее должно работать нормально. .test разрешается в 127.0.0.1, все остальное разрешается открытыми DNS-серверами Google. Вы можете настроить dnsmasq конфигурацию, увеличить размер кэша и т. Д.

Как я уже сказал, я не уверен на 100% об этом решении (и я на 99% уверен, что есть лучшее решение), но оно работает. Я надеюсь, что кто-то еще исправит все, что я сделал неправильно, и поможет вам лучше и стабильнее решить вашу (и мою!) Проблему. Ура!

1
ответ дан 30 June 2018 в 04:28

Другие вопросы по тегам:

Похожие вопросы: