Назад | Перейти на главную страницу

Как заставить Bonjour (mDNS) работать через OpenVPN?

У меня есть сервер под управлением Debian 8. Недавно я установил на него OpenVPN, используя этот руководство. Все работает нормально. Я тестировал свой macbook с помощью клиента Tunnelblick. Использовал Google для проверки моего IP, подключился к VPN, снова проверил, и он изменился на тот же IP, что и мои серверы LAN. Так что я знаю, что все в порядке.

Моя проблема в том, что общие файловые ресурсы на всех компьютерах (все протоколы OSX AFP) в этой локальной сети не отображаются на боковой панели моих Finders, пока я подключен через VPN. Могу подключиться к ним вручную с помощью инструмента Finder «Подключиться к серверу», подключившись к afp://192.168.0.100 и это прекрасно работает. Итак, я предполагаю, что это проблема с Bonjour.

Из своего исследования я выяснил, что Bonjour (mDNS) не транслируется в разные подсети. Так что я побежал ifconfig на моем MacBook при подключении через VPN. это было 192.168.43.206. Все компьютеры в сети, к которой я подключаюсь, 192.168.0.10 к 192.168.0.200. Так я предполагаю, что это источник моей проблемы?

Я думаю, что моим решением может быть переключение моей конфигурации OpenVPN в режим «моста»? Я читал некоторые форумы и статьи, в которых указывалось на это как на решение, но я даже не уверен, правильно ли я диагностировал свою проблему. И я еще не совсем понял настройку режима моста.

Надеюсь, что кто-то может дать мне некоторую ясность.

IIUC, проблема с mDNS / Bonjour в том, что он реализован с использованием так называемого многоадресная передача, и многоадресные пакеты не пересекают автоматически границы сети (как из-за конструкции протокола, так и из-за конструкции Linux).

Возможно, вы захотите использовать что-то вроде smcroute для туннелирования многоадресного трафика между всеми сетями, к которым подключается ваш экземпляр OpenVPN.

Видеть этот для получения дополнительной информации и этот В основном.

Другая возможность - переключить OpenVPN с tun режим для tap. К сожалению, это имеет свои последствия, которые необходимо тщательно рассмотреть перед внедрением.