Принудительно * BSD принимать трафик IPv4 и IPv6 в одном сокете

8

Я перепробовал кучу вещей и продолжаю приходить с пустыми руками.

Позвольте мне сформулировать ситуацию:

У меня установлена ​​* BSD Jail во FreeNAS, на котором работает Plex Media Server (Plexpass). Он имеет доступ к IPv6 и настроен на его использование. В настоящее время Plex построен для использования одного сокета (что вполне соответствует стандартам, поскольку существует RFC, поддерживающий это поведение). Я знаю, что BSD из-за проблем безопасности запрещает прослушивание обоих протоколов в единственном сокете, поэтому любое приложение, явно не запрограммированное на использование разных сокетов для IPv4 и IPv6, не сможет обмениваться данными, по какому-либо протоколу, к которому не привязан сокет.

Я могу получить доступ к странице управления с помощью буквального IPv6-адреса в моем веб-браузере. MyPlex не может получить доступ к серверу для удаленного доступа (MyPlex в настоящее время поддерживает только IPv4).

Дополнительная информация:

root @ plexmediaserver_plexpass: / # netstat -a | grep 32400
tcp6 0 0 * .32400 . СЛУШАТЬ

Я пробовал следующее:

  • Установка ipv6_ipv4mapping = "YES" в rc.conf
  • Установка sysctl net.inet6.ip6.v6only = 0
  • Использование socat для прокси TCP4 на порте с 32400 до TCP6 по адресу [:: 1]: 32400
  • Использование socat для прокси TCP4 на порту 32400 на TCP6 на адресе [Public-IPv6-Address]: 32400
  • Смесь вышеперечисленного

Я в полной растерянности. Я знаю, что это большая проблема для тонны людей в Европе, потому что интернет-провайдеры начали переходить на массовую IPv6. Это бесконечно расстраивает меня, хотя и не так страшно, как для них. Мне не удалось найти какую-либо информацию о состоянии получения постоянного решения проблемы в Plex. Насколько я могу судить, лучшим решением было бы связать несколько портов, чтобы MyPlex извлек их оба и принял решение о том, какой протокол использовать, основываясь на том, сможет ли он пропускать какой-либо трафик или нет. Это проблема для их форумов.

Мой вопрос здесь заключается в том, существуют ли другие способы заставить * BSD придерживаться стандарта RFC, касающегося сокетов IPv6, или они полностью отказались от его поддержки.

Ценю любую помощь, которую я могу получить.

Натаниал Кроткий
источник
Будет ли этот вопрос лучше задать при сбое сервера?
Натаниал Мик
Возможно связано: stackoverflow.com/questions/5587935/…
kasperd
Я не совсем уверен, какой сайт будет лучше для этого вопроса. Существует также unix.stackexchange.com , который может быть лучшим местом для получения ответа на вопрос, какова точная разница между различными вариантами Unix. Моя первая попытка поиска информации выявила специфические результаты для Linux, и, похоже, между Linux и BSD существует некоторая разница в работе с сокетами с двумя стеками.
Касперд

Ответы: