因此,我刚刚在 droplet 上设置了一个新服务器,并查看了 eth0,ifconfig
我可以看到网卡设置了一个 IPv4 地址和一个 IPv6 地址(IPv4 已更改为保护):
inet addr:192.168.111.111 Bcast:192.168.111.255 Mask:255.255.240.0
inet6 addr: fe80::601:29ff:fe72:9601/64 Scope:Link
我看到 IPv6 是本地的,因为它以 开头fe80
。
然后我设置Apache2
并尝试使用 IPv4 地址加载首页(因为我没有为 IPv6 设置 AAAA 记录,所以它必须是 IPv4 加上 IPv6 是本地的。)但是,当我查看监听时,服务器Apache2
看起来像这样:
tcp6 0 0 :::443 :::* LISTEN
SSH 监听器做同样的事情。
所以我想知道的是...系统如何将传入的 IPv4 连接到监听的 IPv6?我记得以前我不得不更改设置Apache2
以强制监听 IPv4 地址。
我还有一个问题,由于 IPv6 是本地地址,我想我可以删除 ip6tables 中的大多数内容,对吗?保留接口lo
不变,但删除其他内容,您觉得怎么样?
答案1
一些应用程序可以使用 v4-mapped-on-v6,只需进行最少的修改即可同时支持两种协议。
您是否检查过 IPv4 是否真正正常工作?
http://linux.die.net/man/7/ipv6
通过使用 v4-mapped-on-v6 地址类型,可以使用 v6 API 处理 IPv4 连接;因此程序只需支持此 API 类型即可支持这两种协议。这由 C 库中的地址处理函数透明地处理。