Как я могу транслировать сервисы Avahi между виртуальными машинами Vagrant (VirtualBox)?
У меня есть проект с Vagrantfile, который требует загрузки всех его пакетов Debian. Я подумал, что простой способ ускорить первоначальное выделение ресурсов - сделать еще один проект на основе Vagrant с squid-deb-proxy
,
Я сделал Vagrantfile и простой bootstrap.sh, который устанавливает этот пакет (и avahi-utils
). Я сопоставил гостевой порт 8000 с портом хоста 8000. Я подтвердил, что могу подключиться к нему через telnet со своего хост-компьютера, а также с других виртуальных машин (например, 10.0.2.2:8000, адрес хоста). Я подтвердил (с avahi-browse -a
на виртуальной машине squid-deb-proxy, которая транслирует свое присутствие.
Единственный оставшийся фрагмент - заставить другие виртуальные машины видеть трансляции службы zeroconf. Zeroconf, похоже, использует порт 5353, но я не могу сопоставить гостевой 5353 с хостом 5353 (хост уже использует это), и если я назначу гостевой 5353 для размещения чего-то другого, широковещательная передача не будет видна.
Ранее я подключал несколько проектов Vagrant, используя "частные сети", но я не хочу здесь этого делать, поскольку для этого потребуется, чтобы все мои другие проекты знали о моей виртуальной машине squid-deb-proxy.
Есть ли простой способ сделать то, что я хочу здесь?
Спасибо!
1 ответ
Вероятно, самый простой способ кеширования пакетов Debian - это установить плагин vagrant-cachier.
Если вы хотите использовать кеширующий прокси, вы можете легко настроить других гостей Vagrant для использования его с плагином vagrant-proxyconf. Если вы добавите конфигурацию глобально в $HOME/.vagrant.d/Vagrantfile
Вам не нужно загрязнять отдельные проекты Vagrant.