所以,我只是在一个液滴上安装一个新的服务器,并用ifconfig来查看eth0,我可以看到网卡设置了一个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
从fe80开始,我看到IPv6是本地的。
然后,我设置Apache2并尝试使用IPv4地址加载首页(因为我没有为IPv6设置AAAAlogging,它必须是IPv4加上IPv6是本地的。)然而,当我看着听, Apache2服务器看起来像这样:
tcp6 0 0 :::443 :::* LISTEN
SSH侦听器也是一样的。
所以我想知道的是…系统如何将传入的IPv4连接到侦听的IPv6? 之前,我记得,我不得不改变Apache2设置强制监听IPv4地址。
我还有一个问题,因为IPv6是一个本地地址,我想我可以在我的ip6tables中删除大部分内容,对吗? 离开lo界面,但放弃其他任何东西,你会怎么说?
某些应用程序可以使用v4-mapped-on-v6,同时支持两种协议并进行最小的修改。
你有没有检查IPv4是否真的有效?
http://linux.die.net/man/7/ipv6
通过使用v4-mapped-on-v6地址types,v6 API可以处理IPv4连接; 因此一个程序只需要支持这个APItypes来支持这两种协议。 这是由C库中的地址处理函数透明地处理的。