环境

系统:QTS 4.3.6
网络:IPV4 & IPV6
Docker: 由Container Station提供

问题

通过ipv6地址可以打开NAS的管理页面,但是无法访问Docker对应端口的服务。

排查

QTS中Docker使用的虚拟交换机网络没有启动IPV6,且无法在虚拟交换机设置中手动启动。
这样一来,Docker只监听了tcp4的端口,对于主机上tcp6的端口的访问无法映射到docker容器上。

解决方案

在主机上开一个tcp6的端口,将其转发到主机上与docker关联的tcp4端口。
即:
docker(tcp4)–>host(tcp4)–>host(tcp6)

  • 在qts上安装包管理器:Entware. https://github.com/Entware/Entware/wiki/Install-on-QNAP-NAS
    • 执行opkg update,更新
  • 安装端口转发工具,这里使用socat:opkg install socat
  • 设置转发host(tcp6)–>host(tcp4):(socat TCP6-LISTEN:6880,reuseaddr,fork TCP4:127.0.0.1:7880 &)
  • 大功告成
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐