Как я могу транслировать сервисы Avahi между виртуальными машинами Vagrant (VirtualBox)?

896
Ken

У меня есть проект с Vagrantfile, который требует загрузки всех его пакетов Debian. Я подумал, что простой способ ускорить первоначальное выделение ресурсов - сделать еще один проект на основе Vagrant с помощью just 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

1 ответ на вопрос

0
tmatilai

Вероятно, самый простой способ кеширования пакетов Debian - это установить плагин vagrant-cachier .

Если вы хотите использовать кеширующий прокси, вы можете легко настроить других гостей Vagrant для использования его с плагином vagrant-proxyconf . Если вы добавляете конфигурацию глобально, $HOME/.vagrant.d/Vagrantfileвам не нужно загрязнять отдельные проекты Vagrant.

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