Forzare * BSD ad accettare sia il traffico IPv4 che IPv6 su un singolo socket


8

Ho provato un sacco di cose e continuo a venire a mani vuote.

Mi permetta di inquadrare la situazione:

Ho un'impostazione * BSD Jail in FreeNAS che esegue un server Plex Media (Plexpass). Ha accesso IPv6 ed è configurato per usarlo. Plex è attualmente costruito per utilizzare un singolo socket (che rientra negli standard in quanto esiste un RFC che supporta questo comportamento). So che BSD, a causa di problemi di sicurezza, non consente l'ascolto di entrambi i protocolli su un socket singolare, quindi qualsiasi applicazione non programmata esplicitamente per utilizzare socket diversi per IPv4 e IPv6 non sarà in grado di comunicare su quale protocollo non è vincolato il socket.

Posso accedere alla pagina di gestione utilizzando un indirizzo IPv6 letterale nel mio browser web. MyPlex non può accedere al server per l'accesso remoto (MyPlex attualmente supporta solo IPv4).

Informazioni addizionali:

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

Ho provato quanto segue:

  • Impostazione di ipv6_ipv4mapping = "YES" in rc.conf
  • Impostazione sysctl net.inet6.ip6.v6only = 0
  • Utilizzo di socat per eseguire il proxy TCP4 sulla porta da 32400 a TCP6 sull'indirizzo [:: 1]: 32400
  • Utilizzo di socat per eseguire il proxy TCP4 sulla porta da 32400 a TCP6 sull'indirizzo [Indirizzo IPv6 pubblico]: 32400
  • Una miscela di quanto sopra

Sono in perdita assoluta. So che questo è un grosso problema per moltissime persone in Europa perché gli ISP hanno iniziato a passare a IPv6 in massa. È infinitamente frustrante per me, anche se non così terribile come lo è per loro. Non sono riuscito a trovare informazioni sullo stato di ottenere una correzione permanente in Plex per il problema. La soluzione migliore, per quanto posso dire, sarebbe quella di legare su più porte e per MyPlex di estrarle entrambe e prendere una decisione su quale protocollo utilizzare in base al fatto che possa ottenere o meno traffico. Questo è un problema per i loro forum però.

La mia domanda qui è se ci sono altri modi per forzare * BSD ad aderire allo standard RFC per quanto riguarda i socket IPv6 o se hanno completamente abbandonato il supporto per esso.

Apprezzo qualsiasi aiuto che posso ottenere.


Si tratterebbe di una domanda migliore su Server Fault?
Nathanial Meek,


Non sono del tutto sicuro di quale sito sarebbe meglio per questa domanda. C'è anche unix.stackexchange.com , che potrebbe essere il posto migliore per ottenere una risposta a quale sia la differenza esatta tra le varie varianti di unix. Il mio primo tentativo di cercare informazioni ha prodotto risultati specifici per Linux e sembra che ci sia qualche differenza tra Linux e BSD nella gestione dei socket dual stack.
Kasperd,

Risposte:


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.