我有一个由提供商托管的 Debian Jessie 服务器实例。该实例的 IPv6 和 IPv4 地址是静态定义的。我将服务器升级到 Debian Buster,其 IPv4 地址由 DHCP 定义。但 IPv6 地址不会自动设置。
这是我使用 ifconfig 得到的结果:
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 151.80.**.** netmask 255.255.255.0 broadcast 151.80.**.**
inet6 fe80::eea8:6bff:****:**** prefixlen 64 scopeid 0x20<link>
ether ec:a8:6b:f1:**:** txqueuelen 1000 (Ethernet)
RX packets 925 bytes 78623 (76.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 380 bytes 55091 (53.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf7c00000-f7c20000
我的服务器的 IPv6 地址是 2001:41d0:e:::****。这就是我在 DNS 中定义的 AAAA 地址。它与 Jessie 和静态配置完美配合。
为什么 DHCP 不自动设置 IPv6 地址?是因为他们不向其提供 DHCP 信息吗?或者是因为 Debian 忽略了它并且没有设置它?
我无法配置 IPv6 地址,因为缺少网关地址。
答案1
我遇到了同样的问题。你的帖子对我有帮助,谢谢。这是我的程序。
确认
ifconfig
nano /etc/sysctl.conf
nano /etc/network/interfaces
nano /etc/network/interfaces.d/50-cloud-init
/etc/init.d/networking restart
好的,
IPv6配置
创建(参见 /50-cloud-init)
nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
添加
网络:{配置:禁用}
nano /etc/sysctl.conf
添加
net.ipv6.conf.all.autoconf = 0 #(doc ovh)
net.ipv6.conf.all.accept_ra = 0 #(doc ovh)
net.ipv4.ip_forward = 0 #(webmin 面板)
net.ipv6.conf. default.autoconf = 0 #(您的帖子)
net.ipv6.conf.eno1.autoconf = 0 #(您的帖子)
net.ipv6.conf.default.accept_ra = 0 #(您的帖子)
net.ipv6.conf.eno1. Accept_ra = 0 #(你的帖子)
sh sysctl -p #(doc ovh)
结果
/usr/sbin/sysctl: /usr/sbin/sysctl: 无法执行二进制文件
(所以我选择重启)
systemctl reboot
好的
ipv6 和路由的注册
ip addr add IPV6/64 dev IF
ip -6 route add IPV6_GATEWAY dev IF
ip -6 route add default via IPV6_GATEWAY dev IF
nano /etc/network/interfaces
IPV6
iface IF inet6 静态
地址 YOUR_IPv6
网络掩码 64 #(或 128)post-up /sbin/ip -f inet6 路由添加 IPv6_GATEWAY dev IF
post-up /sbin/ip -f inet6 路由通过 IPv6_GATEWAY 添加默认值
pre-down /sbin/ip -f inet6 路由 del IPv6_GATEWAY dev IF
pre-down /sbin /ip -f inet6 路由 del 默认通过 Ipv6_GATEWAY
/etc/init.d/networking restart
好的
(测试ping)
date && ping -c 6 proof.ovh.net
ping6 -c 4 2001:4860:4860::8888 (doc ovh)
date && mtr -rbwz -c 10 -6 [ipv6 of my connection]
一切都好
自从我连接以来
date && ping6 -c 6 [server's ipv6]
date && mtr -rbwz -c 10 -6 [server's ipv6]
好的
systemctl reboot
好的
ifconfig
好的
ip addr
ok
测试 ping ok
答案2
解决了问题。
我尝试应用我的托管提供商提供的程序:https://docs.ovh.com/fr/dedicated/network-ipv6/。不幸的是它没有起作用。
原因是我执行时网络名为 eno1 而不是 eth0 ifconfig
。
这就是我所做的。
在 /etc/sysctl.conf 中,我在文件末尾添加了以下内容:
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.eno1.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0
net.ipv6.conf.eno1.accept_ra = 0
在 /etc/network/interfaces 中,我在iface eth0 inet dhcp
.
iface eno1 inet6 static
address 2001:41d0:****:****:****:****
netmask 128
post-up /sbin/ip -family inet6 route add 2001:41d0:****:**ff:ff:ff:ff:ff dev eno1
post-up /sbin/ip -family inet6 route add default via 2001:41d0:****:**ff:ff:ff:ff:ff
pre-down /sbin/ip -family inet6 route del default via 2001:41d0:****:**ff:ff:ff:ff:ff
pre-down /sbin/ip -family inet6 route del 2001:41d0:****:**ff:ff:ff:ff:ff dev eno1
然后我使用命令重新启动网络/etc/init.d/networking restart
。
然后,我看到输出中显示了ifconfig
预期的静态 IPv6 地址。