Привет! Сейчас пытаюсь настроить IPv6 на моём Proxmox сервере, который размещён у OVH. IPv4 я уже настроил как routed setup — и всё работает. Но с IPv6 для виртуальных машин пока не получается. Подсеть: 2001:41d0:2:xxxx::/64 Шлюз у OVH: 2001:41d0:2:xxff:ff:ff:ff:ff Я заменил часть IP-адресов на «x». Пытаюсь настроить IPv6 по аналогии с IPv4. В результате виртуальные машины подключены к интерфейсу vmbr0 на хосте, а этот интерфейс (его IP) я указываю в качестве шлюза в гостевых системах. То есть, по идее, должно работать без proxy_ndp, но я пробовал и с ним — тоже не заработало. На данный момент хост доступен по IPv6. Виртуальная машина может пинговать интерфейс vmbr0 по IPv6 и наоборот. Но виртуальная машина недоступна по IPv6 из интернета и не может сама выходить в интернет по IPv6. Ещё гость не может пинговать шлюз OVH (2001:41d0:2:xxff:ff:ff:ff:ff).
Хост:
auto lo
iface lo inet loopback
auto eno1
iface eno1 inet static
address 188.x.x.54
netmask 255.255.255.0
gateway 188.x.x.254
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up echo 1 > /proc/sys/net/ipv4/conf/eno1/proxy_arp
auto vmbr0
iface vmbr0 inet static
address 178.x.x.249
netmask 255.255.255.248
bridge-ports none
bridge-stp off
bridge-fd 0
iface eno1 inet6 static
address 2001:41d0:2:xxxx::1
netmask 128
post-up /sbin/ip -f inet6 route add 2001:41d0:2:xxFF:FF:FF:FF:FF dev eno1
post-up /sbin/ip -f inet6 route add default via 2001:41d0:2:xxFF:FF:FF:FF:FF
pre-down /sbin/ip -f inet6 route del 2001:41d0:2:xxFF:FF:FF:FF:FF dev eno1
pre-down /sbin/ip -f inet6 route del default via 2001:41d0:2:xxFF:FF:FF:FF:FF
iface vmbr0 inet6 static
address 2001:41d0:2:9b36::2
netmask 64
up ip -6 route add 2001:41d0:2:9b36::/64 dev vmbr0
Команды post-up и pre-down нужны, потому что шлюз находится вне подсети. Это описано в документации OVH:
Таблица маршрутизации хоста:
Destination Next Hop Flag Met Ref Use If
2001:41d0:2:xxxx::1/128 [::] U 256 1 0 eno1
2001:41d0:2:xxxx::/64 [::] U 256 1 0 vmbr0
2001:41d0:2:xxxx::/64 [::] U 1024 1 0 vmbr0
vss-3-6k.fr.eu/128 [::] U 1024 2 1 eno1
vss-3-6k.fr.eu/128 [::] U 1024 2 0 vmbr0
fe80::/64 [::] U 256 1 0 eno1
fe80::/64 [::] U 256 1 0 vmbr0
[::]/0 vss-3-6k.fr.eu UG 1024 9 92 eno1
[::]/0 vss-3-6k.fr.eu UG 1024 9 182 vmbr0
ip6-localhost/128 [::] Un 0 9 40 lo
2001:41d0:2:xxxx::/128 [::] Un 0 2 0 vmbr0
2001:41d0:2:xxxx::1/128 [::] Un 0 7 196 eno1
2001:41d0:2:xxxx::2/128 [::] Un 0 7 5 vmbr0
fe80::/128 [::] Un 0 2 0 eno1
fe80::/128 [::] Un 0 2 0 vmbr0
fe80::40e6:56ff:fef9:6879/128 [::] Un 0 2 0 vmbr0
fe80::4e72:b9ff:feb0:f75b/128 [::] Un 0 3 4 eno1
ip6-mcastprefix/8 [::] U 256 3 225 eno1
ip6-mcastprefix/8 [::] U 256 9 20 vmbr0
[::]/0 [::] !n -1 1 1 lo
vss-3-6k.fr.eu — это шлюз OVH:
nslookup 2001:41d0:2:xxff:ff:ff:ff:ff
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
f.f.0.0.f.f.0.0.f.f.0.0.f.f.0.0.f.f.x.x.2.0.0.0.0.d.1.4.1.0.0.2.ip6.arpa name = vss-3-6k.fr.eu.
Вывод sysctl -p на хосте:
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.forwarding = 1
Виртуальная машина:
allow-hotplug ens18
iface ens18 inet static
address 178.x.x.251/29
gateway 178.x.x.249
iface ens18 inet6 static
address 2001:41d0:2:xxxx::3
netmask 64
gateway 2001:41d0:2:xxxx::2
Был бы очень признателен за помощь в решении этой проблемы! Аналогичный пост уже оставлял на немецком в этом форуме, но раз ответа не было больше недели, решил опубликовать и на английском.
Хост:
auto lo
iface lo inet loopback
auto eno1
iface eno1 inet static
address 188.x.x.54
netmask 255.255.255.0
gateway 188.x.x.254
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up echo 1 > /proc/sys/net/ipv4/conf/eno1/proxy_arp
auto vmbr0
iface vmbr0 inet static
address 178.x.x.249
netmask 255.255.255.248
bridge-ports none
bridge-stp off
bridge-fd 0
iface eno1 inet6 static
address 2001:41d0:2:xxxx::1
netmask 128
post-up /sbin/ip -f inet6 route add 2001:41d0:2:xxFF:FF:FF:FF:FF dev eno1
post-up /sbin/ip -f inet6 route add default via 2001:41d0:2:xxFF:FF:FF:FF:FF
pre-down /sbin/ip -f inet6 route del 2001:41d0:2:xxFF:FF:FF:FF:FF dev eno1
pre-down /sbin/ip -f inet6 route del default via 2001:41d0:2:xxFF:FF:FF:FF:FF
iface vmbr0 inet6 static
address 2001:41d0:2:9b36::2
netmask 64
up ip -6 route add 2001:41d0:2:9b36::/64 dev vmbr0
Команды post-up и pre-down нужны, потому что шлюз находится вне подсети. Это описано в документации OVH:
Таблица маршрутизации хоста:
Destination Next Hop Flag Met Ref Use If
2001:41d0:2:xxxx::1/128 [::] U 256 1 0 eno1
2001:41d0:2:xxxx::/64 [::] U 256 1 0 vmbr0
2001:41d0:2:xxxx::/64 [::] U 1024 1 0 vmbr0
vss-3-6k.fr.eu/128 [::] U 1024 2 1 eno1
vss-3-6k.fr.eu/128 [::] U 1024 2 0 vmbr0
fe80::/64 [::] U 256 1 0 eno1
fe80::/64 [::] U 256 1 0 vmbr0
[::]/0 vss-3-6k.fr.eu UG 1024 9 92 eno1
[::]/0 vss-3-6k.fr.eu UG 1024 9 182 vmbr0
ip6-localhost/128 [::] Un 0 9 40 lo
2001:41d0:2:xxxx::/128 [::] Un 0 2 0 vmbr0
2001:41d0:2:xxxx::1/128 [::] Un 0 7 196 eno1
2001:41d0:2:xxxx::2/128 [::] Un 0 7 5 vmbr0
fe80::/128 [::] Un 0 2 0 eno1
fe80::/128 [::] Un 0 2 0 vmbr0
fe80::40e6:56ff:fef9:6879/128 [::] Un 0 2 0 vmbr0
fe80::4e72:b9ff:feb0:f75b/128 [::] Un 0 3 4 eno1
ip6-mcastprefix/8 [::] U 256 3 225 eno1
ip6-mcastprefix/8 [::] U 256 9 20 vmbr0
[::]/0 [::] !n -1 1 1 lo
vss-3-6k.fr.eu — это шлюз OVH:
nslookup 2001:41d0:2:xxff:ff:ff:ff:ff
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
f.f.0.0.f.f.0.0.f.f.0.0.f.f.0.0.f.f.x.x.2.0.0.0.0.d.1.4.1.0.0.2.ip6.arpa name = vss-3-6k.fr.eu.
Вывод sysctl -p на хосте:
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.forwarding = 1
Виртуальная машина:
allow-hotplug ens18
iface ens18 inet static
address 178.x.x.251/29
gateway 178.x.x.249
iface ens18 inet6 static
address 2001:41d0:2:xxxx::3
netmask 64
gateway 2001:41d0:2:xxxx::2
Был бы очень признателен за помощь в решении этой проблемы! Аналогичный пост уже оставлял на немецком в этом форуме, но раз ответа не было больше недели, решил опубликовать и на английском.
