Obligar a * BSD a aceptar tráfico IPv4 e IPv6 en un solo socket

8

He probado un montón de cosas y sigo apareciendo con las manos vacías.

Permítame enmarcar la situación:

Tengo una configuración de * BSD Jail en FreeNAS que ejecuta un servidor de medios Plex (Plexpass). Tiene acceso IPv6 y está configurado para usarlo. Actualmente, Plex está construido para usar un solo socket (que está dentro de los estándares ya que hay un RFC que admite este comportamiento). Sé que BSD, debido a problemas de seguridad, no permite escuchar ambos protocolos en un socket singular, por lo que cualquier aplicación que no esté programada explícitamente para usar diferentes socket para IPv4 e IPv6 no podrá comunicarse en ningún protocolo al que no esté vinculado el socket.

Puedo acceder a la página de administración usando una dirección IPv6 literal en mi navegador web. MyPlex no puede acceder al servidor para acceso remoto (MyPlex actualmente solo admite IPv4).

Información adicional:

root @ plexmediaserver_plexpass: / # netstat -a | grep 32400
tcp6 0 0 * .32400 . ESCUCHA

He probado lo siguiente:

  • Configuración de ipv6_ipv4mapping = "YES" en rc.conf
  • Configurando sysctl net.inet6.ip6.v6only = 0
  • Usando socat para proxy TCP4 en el puerto a 32400 a TCP6 en la dirección [:: 1]: 32400
  • Uso de socat para proxy TCP4 en el puerto a 32400 a TCP6 en la dirección [Public-IPv6-Address]: 32400
  • Una mezcla de lo anterior

Estoy en una pérdida absoluta. Sé que este es un problema importante para un montón de personas en Europa porque los ISP han comenzado a cambiar a IPv6 en masa. Es infinitamente frustrante para mí, aunque no tan terrible como para ellos. No pude encontrar ninguna información sobre el estado de obtener una solución permanente en Plex para el problema. La mejor solución, por lo que puedo decir, sería enlazar en múltiples puertos y MyPlex para extraerlos a ambos y tomar una decisión sobre qué protocolo usar en función de si puede atravesar o no el tráfico. Sin embargo, este es un problema para sus foros.

Mi pregunta aquí es si hay otras formas de forzar * BSD a adherirse al estándar RFC con respecto a los zócalos IPv6 o si han dejado de admitirlo por completo.

Agradezco cualquier ayuda que pueda obtener.

Nathanial Meek
fuente
¿Será esta una pregunta mejor formulada sobre la falla del servidor?
Nathanial Meek
Posiblemente relacionado: stackoverflow.com/questions/5587935/…
kasperd
No estoy completamente seguro de qué sitio sería mejor para esta pregunta. También existe unix.stackexchange.com , que podría ser el mejor lugar para obtener una respuesta sobre cuál es la diferencia exacta entre varias variantes de Unix. Mi primer intento de buscar información arrojó resultados específicos de Linux, y parece haber alguna diferencia entre Linux y BSD en el manejo de sockets de doble pila.
kasperd

Respuestas: