我有一台 Debian 9 服务器,它具有多个网络接口,充当 Web 服务器,连接到 ISP 提供的光纤网络终端 (ONT) @ 1Gbps。ISP 为我们提供了多个动态 IPv4 地址和可选的静态地址。
目前我们使用单个静态 IPv4 地址,设置为\etc\network\interfaces
:
iface eth0 inet static
address 89.xxx.xxx.xxx
gateway 89.xxx.xxx.xxx
netmask 255.255.255.0
对于 IPv6,他们还没有证明静态选项,而且他们使用 DHCP 通过前缀委托动态分配 IPv6 块. 前缀长度为/56
。
如何在网络接口上获取单个 IPv6 地址?我相信服务器必须请求一个块,然后将第一个 IP 分配给它自己(或某个随机 IP)。
我尝试了一个简单的配置\etc\network\interfaces
:
iface eth0 inet6 dhcp
request_prefix 1
accept_ra 2
/etc/sysctl.conf
和:
net.ipv6.conf.default.disable_ipv6=0
net.ipv6.conf.default.autoconf=1
net.ipv6.conf.default.accept_ra=2
net.ipv6.conf.all.disable_ipv6=0
net.ipv6.conf.all.autoconf=1
net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.eth0.disable_ipv6=0
net.ipv6.conf.eth0.autoconf=1
net.ipv6.conf.eth0.accept_ra=2
但它不起作用,我只得到了一个本地链接 IPv6。然后我尝试了wide-dhcpv6
:
interface eth0{
send ia-na 0;
send rapid-commit;
request domain-name-servers;
script "/etc/wide-dhcpv6/dhcp6c-script";
};
id-assoc na 0 {
};
仍然只能获取本地链接。据我所知,id-assoc na 0
这将请求 IPv6...但是由于 ISP 仅将所有内容作为/56
块提供,因此这如何工作?
我也尝试过这个,但没有成功:
interface eth0 {
send ia-na 0;
send ia-pd 0;
send rapid-commit;
request domain-name-servers;
script "/etc/wide-dhcpv6/dhcp6c-script";
};
id-assoc na 0 {
};
id-assoc pd 0 {
prefix ::/56 infinity;
prefix-interface eth0 {
sla-len 8;
sla-id 0;
ifid 1;
};
};
我的最后一个问题:
\etc\network\interfaces
使用时应该是什么样子wide-dhcpv6
?- 我的任何
wide-dhcpv6
配置都正确吗? wide-dhcpv6
是否可以仅使用 Debian dhcp 客户端来获取 IPv6 ?- ISP 使用
rapid-commit
中我该如何启用它\etc\network\interfaces
?
笔记:我的一位同事认为 IPv6 不起作用,因此我们尝试将 DD-WRT 路由器连接到 ISP,并将其设置如下:
重启后,路由器上获得了 IPv6并在计算机上连接它,所以问题一定出在我们的 Debian 服务器配置上。