1
强制* BSD在单个套接字上接受IPv4和IPv6流量
我尝试了很多东西,然后空手而归。 请允许我描述一下情况: 我在FreeNAS中有一个* BSD Jail安装程序,该安装程序运行Plex媒体服务器(Plexpass)。它具有IPv6访问权限,并配置为使用它。Plex当前被构建为使用单个套接字(这在标准范围内,因为有支持此行为的RFC)。我知道BSD,出于安全方面的考虑,不允许在单个套接字上侦听这两个协议,因此,未明确编程为将不同套接字用于IPv4和IPv6的任何应用程序都将无法通信该套接字未绑定到的协议。 我可以在Web浏览器中使用文字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代理到地址为[:: 1]:32400的TCP6的32400 使用socat将端口上的TCP4代理到地址为[Public-IPv6-Address]:32400的TCP6的32400 上面的混合物 我绝对不知所措。我知道这对欧洲许多人来说是一个重大问题,因为ISP已开始转向批量IPv6。这让我无比沮丧,尽管不像对他们那么可怕。我无法找到有关在Plex中获得针对此问题的永久修复的状态的任何信息。据我所知,最好的解决方法是绑定多个端口,并让MyPlex将它们都拉出,并根据是否可以通过任何流量来决定使用哪种协议。这是他们论坛的问题。 我的问题是,是否有其他方法可以强制* BSD遵守关于IPv6套接字的RFC标准,或者它们是否完全放弃了对它的支持。 感谢我可以获得的任何帮助。