Michael Hampton Asked: 2012-07-18 15:10:02 +0800 CST2012-07-18 15:10:02 +0800 CST 2012-07-18 15:10:02 +0800 CST 如何禁用 IPv4 映射的 IPv6? 772 在我的 Linux 机器上,我有各种守护进程,它们可以绑定到::. 当他们这样做时,Linux 将 IPv4 请求发送到映射为例如::ffff:198.51.100.37. 相反,我希望在守护程序绑定到::. 要接收 IPv4 连接,我希望守护程序必须显式绑定到0.0.0.0(以及::)。 换句话说,我想专门在 IPv6 而不是 IPv4 上运行服务。 有没有办法做到这一点? linux ipv6 1 个回答 Voted Best Answer mgorven 2012-07-18T15:14:29+08:002012-07-18T15:14:29+08:00 这是由net.ipv6.bindv6onlysysctl 控制的。将以下内容添加到/etc/sysctl.conf并运行sudo sysctl -p以使更改生效。 net.ipv6.bindv6only=1 应用程序也可以明确地只绑定到 IPv6 地址,而不是全局更改它,例如,nginx 可以ipv6only选择该listen指令。这对应于 的IPV6_V6ONLY选项setsockopt()。
这是由
net.ipv6.bindv6only
sysctl 控制的。将以下内容添加到/etc/sysctl.conf
并运行sudo sysctl -p
以使更改生效。应用程序也可以明确地只绑定到 IPv6 地址,而不是全局更改它,例如,nginx 可以
ipv6only
选择该listen
指令。这对应于 的IPV6_V6ONLY
选项setsockopt()
。