在 Ubuntu 18.04 服务器上,该站点在 ipv6 地址处不可见。
https://ipv4.sklad.rus/index.php- 作品
https://ipv6.sklad.rus/index.php- 不
找了半天原因,没找到。仅适用于虚拟 Windows。原因可能在任何地方,请询问更多信息。
歌剧
无法访问此站点
https://ipv6.sklad.rus/index.php上的网页可能暂时关闭,或者它可能已永久移动到新网址。
ERR_INVALID_ARGUMENT
火狐
黑屏
$ nslookup ipv6.sklad.rus
Server: 192.168.0.72
Address: 192.168.0.72#53
Name: ipv6.sklad.rus
Address: fe80::5 (сетевая сервера II)
Name: ipv6.sklad.rus
Address: fe80::9 (сетевая сервера I)
虚拟 Windows 火狐:
工作正常
> nslookup ipv6.sklad.rus
?? : unknown
address : 192.168.0.72 (сервер)
?? : ipv6.sklad.rus
addresses : fe80::9 (сетевая сервера I)
fe80::5 (сетевая сервера II)
/etc/apache2/sites-available/sklad.rus.conf
<IfModule mod_ssl.c>
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin admin@sklad.rus
ServerName sklad.rus
ServerAlias ipv4.sklad.rus ipv6.sklad.rus
DocumentRoot /var/www/sklad.rus/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/sklad.rus/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from xxxx:xxxx:xxxx:xxxx::/64
allow from 192.168.0
allow from 192.168.1
allow from xxx.xxx
allow from xxx.xxx.xxx.xxx
allow from 127.0.0.1
allow from xxxx:xxxx:xxxx:xxxx::5
allow from fe80::/16
Require local
Require ip xxxx:xxxx:xxxx:xxxx::/64
Require ip 192.168.0
Require ip 192.168.1
Require ip xxx.xxx
Require ip xxx.xxx.xxx.xxx
Require ip 127.0.0.1
Require ip xxxx:xxxx:xxxx:xxxx::5
Require ip fe80::/16
</Directory>
...
平
$ ping -I eth0 ipv6.sklad.rus
PING ipv6.sklad.rus(fe80::9 (fe80::9)) from fe80::948b:8c30:898f:e014%eth0 eth0: 56 data bytes
64 bytes from fe80::9%eth0 (fe80::9%eth0): icmp_seq=1 ttl=64 time=0.439 ms
64 bytes from fe80::9%eth0 (fe80::9%eth0): icmp_seq=2 ttl=64 time=0.211 ms
...
痕迹
$ sudo traceroute -i eth0 ipv6.sklad.rus
traceroute to ipv6.sklad.rus (fe80::9), 30 hops max, 80 byte packets
1 fe80::9%eth0 (fe80::9%eth0) 0.233 ms 0.141 ms 0.097 ms
服务器上route说:
$ route -6
Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
localhost6.localdomain6/128 [::] U 256 1 0 lo
xxxx:xxxx:xxxx:xxxx::/64 [::] U 256 1 0 enp3s0
xxxx:xxxx:xxxx:xxxx::/64 [::] U 1024 1 0 enp2s0
xxxx:xxxx:xxxx:xxxx::/64 [::] U 1024 1 0 enp3s0
fe80::/64 [::] U 256 2 1 enp3s0
fe80::/64 [::] U 256 4 219 enp2s0
[::]/0 fe80::6e3b:6bff:fedb:5ada UG 1024 4 2434 enp2s0
[::]/0 fe80::6e3b:6bff:fedb:5adc UG 1024 4 2661 enp3s0
localhost6.localdomain6/128 [::] Un 0 5 21635 lo
xxxx:xxxx:xxxx:xxxx::/128 [::] Un 0 2 0 enp2s0
xxxx:xxxx:xxxx:xxxx::/128 [::] Un 0 2 0 enp3s0
xxxx:xxxx:xxxx:xxxx::5/128 [::] Un 0 2 0 enp3s0
xxxx:xxxx:xxxx:xxxx:523e:aaff:fe16:8646/128 [::] Un 0 2 0 enp3s0
xxxx:xxxx:xxxx:xxxx:ca60:ff:fe61:62c3/128 [::] Un 0 3 1176 enp2s0
fe80::/128 [::] Un 0 2 0 enp3s0
fe80::/128 [::] Un 0 2 0 enp2s0
sklad.rus/128 [::] Un 0 3 1 enp3s0
sklad.rus/128 [::] Un 0 5 268 enp2s0
fe80::523e:aaff:fe16:8646/128 [::] Un 0 4 7098 enp3s0
fe80::ca60:ff:fe61:62c3/128 [::] Un 0 3 4981 enp2s0
ff00::/8 [::] U 256 4 6317 enp3s0
ff00::/8 [::] U 256 4 54257 enp2s0
[::]/0 [::] !n -1 1 5 lo
据我所知,问题在于您使用的是链接本地地址。对于此类地址,未定义路由,因为这些地址位于每个本地网络中。因此,为了与这些地址上的节点进行交互,有必要明确指定应该通过哪个接口发送数据包。在示例 c 中,
ping您定义了一个 interface-I eth0。如果不指定接口会发生什么?很可能,ping 不起作用。尝试在客户端上注册服务器地址的显式路由。例如,如果客户端连接到服务器具有地址的网络
fe80::9,请执行以下操作:sudo route -6 add fe80::9 dev eth0。之后,客户端应该开始路由地址fe80::9但总的来说,使用链接本地地址是不好的做法。
我建议您将域名绑定到具有全局前缀的地址。据我了解,您在 X 后面隐藏了这样一个前缀
xxxx:xxxx:xxxx:xxxx::/64或者设置内部地址(ULA):
fd00::例如,从 ULA 空间中为服务器提供两个前缀,fd00:a000::/48并且fd00:b000::/48fd00:a000::1上的地址,另一张卡上的地址 -fd00:b000::1),fd00:a000:: -> eth0)/etc/hosts之后,该地址
fd00:a000::1应该可以在客户端上正常路由,并且服务器应该可用。在 Ubuntu 18.04 服务器上,该站点在 ipv6 地址处不可见。
检查要点
1 服务器必须有一个 IP 地址 6 从外部网络可见
2 必须在 DI 注册器 6 注册与服务器 ipv6.sklad.rus 相同的 IP 地址 === 2001:0db8:85a3: 0000:0000 :8a2e:0370:7334 (例如
3 apache 或 nginx 必须配置为接受和解析 IP 6 地址 80 或 443 端口导致 ipv6.sklad.rus ==> /home/sklad/web/public_html
有时会出现故障,您需要指定类似 2001:0db8:85a3:0000:0000:8a2e:0370:7334:443 而不是 *:443
以下是主要建议.....如果有来自非洲的请求,任何地方都可以有条件插件(并且只有 ip 4 网格......那么您将无法获得 ip 6 的解析。