我在服务器上安装了 OMSA,并且 dsm_om_connsv 服务正在运行。我发现,在过去,这总是只绑定到 IPv6 套接字;
# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 4988/slapd
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 4901/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 4556/sshd
tcp6 0 0 :::389 :::* LISTEN 4988/slapd
tcp6 0 0 :::22 :::* LISTEN 4556/sshd
tcp6 0 0 :::1311 :::* LISTEN 18536/dsm_om_connsv
不幸的是,我没有与此特定服务器的端到端 IPv6 连接,所以有人知道如何让它绑定到 IPv4 套接字吗?另外,为什么会发生这种情况。戴尔是否让 OMSA 支持 IPv6,或者此服务器是否选择了 IPv6 而不是 IPv4(可能是默认内核选择)?
非常感谢您付出的时间和帮助。
# uname -a
Linux boxy 2.6.24-30-server #1 SMP Tue Nov 8 13:44:13 UTC 2011 i686 GNU/Linux
答案1
事实证明,以 TCP6 身份监听的套接字可以接受 IPv4 和 IPv6 连接,因此这可以通过 IPv4 运行:)
答案2
在 Linux 下,应用程序可以选择 IPv6 套接字是否适用于 IPv6 和 IPv4(然后表示为 IPv4 映射的 IPv6 地址)或仅适用于 IPv6。这通过带有 IPV6_V6ONLY 标志的 setsockopt 进行控制。此标志的默认值通过 /proc/sys/net/ipv6/bindv6only 公开,默认情况下为 0(关闭:在 IPv6 套接字上同时使用 IPv6 和 IPv4)。
这记录在http://www.kernel.org/doc/man-pages/online/pages/man7/ipv6.7.html