*BSD가 단일 소켓에서 IPv4 및 IPv6 트래픽을 모두 허용하도록 강제

*BSD가 단일 소켓에서 IPv4 및 IPv6 트래픽을 모두 허용하도록 강제

나는 많은 것을 시도했지만 완전히 빈손으로 계속 나옵니다.

상황을 설명하겠습니다.

Plex Media Server(Plexpass)를 실행하는 FreeNAS에 *BSD Jail 설정이 있습니다. IPv6 액세스 권한이 있으며 이를 사용하도록 구성되어 있습니다. Plex는 현재 단일 소켓을 사용하도록 구축되었습니다(이 동작을 지원하는 RFC가 있으므로 표준 내에 있습니다). 보안 문제로 인해 BSD는 단일 소켓에서 두 프로토콜 모두 수신을 허용하지 않으므로 IPv4 및 IPv6에 대해 서로 다른 소켓을 사용하도록 명시적으로 프로그래밍되지 않은 응용 프로그램은 소켓이 바인딩되지 않은 프로토콜에서 통신할 수 없다는 것을 알고 있습니다.

웹 브라우저에서 리터럴 IPv6 주소를 사용하여 관리 페이지에 액세스할 수 있습니다. MyPlex는 원격 액세스를 위해 서버에 액세스할 수 없습니다. (MyPlex는 현재 IPv4만 지원합니다.)

추가 정보:

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

나는 다음을 시도했습니다 :

  • rc.conf에서 ipv6_ipv4mapping="YES" 설정
  • sysctl net.inet6.ip6.v6only=0 설정
  • socat를 사용하여 포트의 TCP4를 32400에서 주소 [::1]:32400의 TCP6으로 프록시합니다.
  • socat를 사용하여 포트의 TCP4를 32400에서 주소 [Public-IPv6-Address]:32400의 TCP6으로 프록시합니다.
  • 위의 혼합물

나는 절대적인 손실을 입었습니다. ISP가 IPv6로 일괄 전환하기 시작했기 때문에 이것이 유럽의 수많은 사람들에게 중요한 문제라는 것을 알고 있습니다. 그것은 그들만큼 끔찍하지는 않지만 나에게는 무한히 실망스럽습니다. 해당 문제에 대해 Plex에서 영구적인 수정을 받는 상태에 대한 정보를 찾을 수 없습니다. 내가 알 수 있는 한 가장 좋은 해결책은 여러 포트를 바인딩하고 MyPlex가 두 포트를 모두 끌어와 트래픽을 통과할 수 있는지 여부에 따라 사용할 프로토콜을 결정하는 것입니다. 그러나 이것은 포럼의 문제입니다.

여기서 내 질문은 *BSD가 IPv6 소켓과 관련된 RFC 표준을 준수하도록 강제하는 다른 방법이 있는지 또는 이에 대한 지원을 완전히 중단했는지 여부입니다.

제가 받을 수 있는 어떤 도움이라도 감사하겠습니다.

답변1

아마도 이것이 도움이 될 것입니다:

ipv6_ipv4mapping="YES"

하지만 그게 당신이 원하는 것인지 모르겠어요 src:https://www.freebsd.org/doc/handbook/network-ipv6.html

관련 정보