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

670
Nathanial Meek

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

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

У меня установлена ​​* 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, или они полностью отказались от его поддержки.

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

8
Будет ли этот вопрос лучше задать при сбое сервера? Nathanial Meek 9 лет назад 0
Возможно связано: http://stackoverflow.com/questions/5587935/cant-turn-off-socket-option-ipv6-v6only kasperd 9 лет назад 0
Я не совсем уверен, какой сайт будет лучше для этого вопроса. Существует также http://unix.stackexchange.com/, который может быть лучшим местом для получения ответа о том, какова точная разница между различными вариантами Unix. Моя первая попытка поиска информации выявила специфические результаты для Linux, и, похоже, между Linux и BSD есть некоторая разница в работе с сокетами с двумя стеками. kasperd 9 лет назад 0

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

-2
Chronophylos

maybe this helps:

ipv6_ipv4mapping="YES" 

but i dont know if thats what you want src: https://www.freebsd.org/doc/handbook/network-ipv6.html