Ubuntu 中 IPv6 配置失败 - OVH VPS

Ubuntu 中 IPv6 配置失败 - OVH VPS

一段时间以来,我一直在努力在我的 Ubuntu VPS 中配置 IPv6。我遵循了许多有关此问题的教程,但没有一个对我有用。问题是,当我在控制台中使用一次性配置时:

ip addr add 2001:41D0:401:3000::XXXX/128 dev eth0
ip -6 route add 2001:41D0:401:3000::1 dev eth0
ip -6 route add default via 2001:41D0:401:3000::1 dev eth0

一切正常(当然,我用 替换了我的 IP 的最后一部分XXXX)。但是,当我尝试将这些输入到我的 时/etc/network/interfaces,重启后我只剩下自动配置的 IPv6 地址。无论我尝试在此文件中输入什么,我在ip addr show eth0eth0是我的界面)上得到的都是:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:7e:48:85 brd ff:ff:ff:ff:ff:ff
    inet 164.132.XXX.XXX/32 brd 164.132.XXX.XXX scope global eth0
       valid_lft forever preferred_lft forever
    inet 145.239.XXX.XXX/32 brd 145.239.XXX.XXX scope global eth0:0
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe7e:4885/64 scope link
       valid_lft forever preferred_lft forever

我有 2 个 IPv4 地址,它们都可以使用,但我也希望有 IPv6。我有一个由 OVH 分配的 IPv4 地址。

这是我的/etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 164.132.XXX.XXX
        netmask 255.255.255.255
        post-up /sbin/ip route add 164.132.XXX.1 dev eth0
        post-up /sbin/ip route add default via 164.132.XXX.1
        post-up /sbin/ifconfig eth0:0 145.239.XXX.XXX netmask 255.255.255.255 broadcast IP_FAIL_OVER
        pre-down /sbin/ifconfig eth0:0 down
        pre-down /sbin/ip route del default via 164.132.XXX.1
        pre-down /sbin/ip route del 164.132.XXX.1 dev eth0
        dns-nameserver 213.186.33.99
        dns-search ovh.net
iface eth0 inet6 static
        address 2001:41D0:401:3000::XXXX
        netmask 128
        post-up /sbin/ip -6 route add 2001:41D0:401:3000::1 dev eth0
        post-up /sbin/ip -6 route add default via 2001:41D0:401:3000::1 dev eth0
        pre-down /sbin/ip -6 route del default via 2001:41D0:401:3000::1 dev eth0
        pre-down /sbin/ip -6 route del 2001:41D0:401:3000::1 dev eth0

auto eth0:0
iface eth0:0 inet static
    address 145.239.XXX.XXX
    netmask 255.255.255.255

我也尝试过像这样添加 IPv6:

iface eth0 inet6 static
address 2001:41D0:401:3000::XXXX
netmask 128
gateway 2001:41D0:401:3000::1

并使用完整(扩展)IP地址,但没有任何成功。

还添加了

net.ipv6.conf.eth0.autoconf=0
net.ipv6.conf.default.autoconf=0
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.eth0.accept_ra=0

到我的 sysctl.conf,正如 OVH 教程和其他一些建议的那样,但它并没有改变任何东西,无论它是否存在。

每次检查之间我都会重新启动整个机器,以确保所有配置都已重新加载,但结果却service networking restart失败了

sty 04 15:54:21 vpsXXXXXX.ovh.net ifup[2426]: RTNETLINK answers: File exists
sty 04 15:54:21 vpsXXXXXX.ovh.net ifup[2426]: Failed to bring up eth0.
sty 04 15:54:21 vpsXXXXXX.ovh.net ifup[2426]: RTNETLINK answers: File exists
sty 04 15:54:21 vpsXXXXXX.ovh.net ifup[2426]: Failed to bring up eth0:0.
sty 04 15:54:21 vpsXXXXXX.ovh.net systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
sty 04 15:54:21 vpsXXXXXX.ovh.net systemd[1]: Failed to start Raise network interfaces.

非常感谢您的帮助,如果需要,我很乐意提供更多信息。

答案1

指定网络接口别名的格式interface:number如下已弃用在 Linux 中已经存在多年,不应再使用(已被弃用,将来可能会被删除)。如今,您可能需要的所有 IP 地址都直接添加到接口,无需别名。

因此您需要更改eth0:0eth0。 (并且auto eth0只需出现一次。)您目前有:

auto eth0:0
iface eth0:0 inet static
    address 145.239.XXX.XXX
    netmask 255.255.255.255

正确的应该是:

iface eth0 inet static
    address 145.239.XXX.XXX
    netmask 255.255.255.255

配置为使用旧式接口别名的应用程序应改为使用相应的 IP 地址,或根据需要监听所有地址。

相关内容