DNS и VBox DNS dnsmasq в частной сети virtualbox - PullRequest
0 голосов
/ 17 января 2020

Я экспериментирую (ну, в любом случае, пытаюсь) с гиперледжером в виртуальных машинах Virtualbox с orderer и peers, каждый на своей собственной виртуальной машине Ubuntu 18.04 Server. Я основываю свою деятельность на этом посте в блоге:

https://www.ideas2it.com/blogs/hyperledger-fabric-multiple-vm/

, что довольно хорошо, но предполагает, что вы точно знаете, как настроить dnsmasq и правильно его настроить для вашей сети. За все мои годы никогда не копался в DNS или DHCP, потому что, ну, они просто работали, а мне не пришлось. Но теперь я делаю ...

Я использую виртуальные машины в частной сети Virtualbox vboxnet0, для которой я настроил службу DHCP на 192.168.56.xx / 24. Адрес DHCP-сервера: 192.168.56.10. Нижняя и верхняя границы адресов для обслуживаемых адресов: 192.168.56.50 и 192.168.56.90

. Виртуальные машины, на которых я хочу работать с узлами hyperledger, получают IP-адрес, обслуживаемый DHCP, при запуске 192.168.56.50, 192.168.56.51. 192.168.56.52 и пр. c, как и ожидалось. Какой IP-адрес идет на какую виртуальную машину, зависит от порядка их запуска.

Я создал виртуальную машину для работы в качестве DNS-сервера и назначил ей stati c IP 192.168.56.20 на устройстве enp0s3. Этот сервер и другие виртуальные машины могут нормально пропинговать друг друга. Я установил dnsmasq на эту машину и работал над ее конфигурацией на основе этого:

https://linuxhint.com/dnsmasq_ubuntu_server/

В / etc / netplan / я создал файл 01-netcfg.yaml, содержащий:

network:
    version: 2
        renderer: networkd
        ethernets: enp0s3
        dhcp4: no
        addresses: [192.168.56.20]

На виртуальной машине DNS-сервера, основываясь на приведенной выше ссылке на инструкцию по настройке, я сделал следующее:

$ sudo apt update
$ sudo apt install dnsmasq

$ sudo systemctl stop systemd-resolved
$ sudo systemctl disable systemd-resolved

$ sudo rm -v /etc/resolv.conf
$ echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

$ sudo mv -v /etc/dnsmasq.conf /etc/dnsmasq.conf.bk
$ sudo nano /etc/dnsmasq.conf

Теперь я редактируя /etc/dnsmasq.conf, помещая в него материал, и в конце я запутываюсь в отношении «домена»:

# DNS configuration
port=53

domain-needed
bogus-priv
strict-order

expand-hosts
domain=example.com   # <-- ???  change this to arbitrary domain like 'fabnet' ?

ПЕРВЫЙ ВОПРОС - В этом контексте в частная сеть только для хоста, я не уверен, что «домен» должен быть - я просто создаю здесь доменное имя для использования, или есть что-то, что указывает частная сеть virtualbox? Где все места, которые нужны для go? Допустим, для этого небольшого сетевого использования используйте 'fa bnet' - где все места, которые ему нужны для go? В файлах / etc / hosts на всех виртуальных машинах или только здесь, на DNS-сервере?

Далее, инструкции по настройке файла / etc / hosts выглядят так, как будто он использует stati c IP-адреса для меня - с учетом этого, используя этот шаблон, моя будет содержать строки вроде:

# DNS Records

192.168.56.50   fabric01.fabnet
192.168.56.51   fabric02.fabnet
192.168.56.52   fabric03.fabnet
192.168.56.53   fabric04.fabnet
192.168.56.54   fabric05.fabnet

ВТОРОЙ ВОПРОС - Если фактические IP-адреса для хостов в этой сети обслуживаемая службой Virtualbox DHCP, как мы это делаем? Мне кажется, что файл / etc / hosts выше на DNS-сервере не учитывает это. В зависимости от того, в каком порядке запускаются эти виртуальные машины, они могут иметь IP-адреса, отличные от указанных в этом файле.

ТАК. Я полностью осознаю, что могут быть и другие аспекты, которые я тоже не совсем правильно понял. - заранее спасибо за ваше руководство и мудрость: -)

...