Настройка IPv6 для KVM

Дата: 06.11.2017Метки: ,

На протяжение уже несколько лет подымается тема о том, что доступные свободные блоки IPv4 исчерпаны. Не смотря на проблему до сих пор доля использования IPv6 очень низкая. Всеобщий дефицит IPv6 стал причиной роста цен на аренду адресов. Что по сути является платой за воздух. Связи с чем предаю всем по возможности обеспечить вашим сайтам и сервисам поддержку IPv6. Таким образом каждый сделает свой вклад в скорейший переход на IPv6.

Предлагаю краткий мануал по настройке IPv6 на выделенном сервере c Failover IP для работы с виртуализацией KVM. Все работы выполняются в дистрибутиве CentOS 7.

Для начала необходимо настроить IPv6 на хосте:

vi /etc/sysconfig/network-scripts/ifcfg-vmbr0

Добавим в конец файла следующие строки:

IPV6ADDR=2001:41d0:0001:0001::1/64
IPV6INIT=yes
IPV6_AUTOCONF=no

Создадим файл с настройками шлюза IPv6:

vi /etc/sysconfig/network-scripts/route6-vmbr0

Скопируйте в файл следующие строки:

2001:41d0:0001:ffff:ff:ff:ff:ff dev vmbr0
default via 2001:41d0:0001:ffff:ff:ff:ff:ff

Следует отметить, что все IPv6 адреса необходимо заменить на свои.
Применяем настройки:

service network restart

Пингаем IPv6 DNS Google:

# ping6 -c 4 2001:4860:4860::8888
PING 2001:4860:4860::8888(2001:4860:4860::8888) 56 data bytes
64 bytes from 2001:4860:4860::8888: icmp_seq=1 ttl=59 time=4.10 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=2 ttl=59 time=4.06 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=3 ttl=59 time=4.09 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=4 ttl=59 time=4.12 ms

Как видите IPv6 работает на хосте, осталось только прописать IPv6 DNS в системе:

vi /etc/sysconfig/network-scripts/ifcfg-vmbr0
DNS3="2001:4860:4860::8888"

Включам форвардинг IPv6 на хосте.

vi /etc/sysctl.conf

Добавить в конец:

net.ipv6.conf.all.forwarding = 1

Применяем настройки:

sysctl -p

Дата-центр с использует Failover IP и тут я решил настроить по аналогии с IPv4, но вот сейчас возникла мысль, а что если использовать в виртуальных машинах сразу шлюз 2001:41d0:0001:ffff:ff:ff:ff:ff?

Настройка IPv6 на виртуальной машине с CentOS 7:

vi /etc/sysconfig/network

Добавить в содержимое файла:

NETWORKING_IPV6=yes

Изменяем настройки сетевого интерфейса:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Добавить в конец:

IPV6ADDR="2001:41d0:0001:0001::2/64"
IPV6_DEFAULTGW="2001:41d0:0001:0001::1"
IPV6INIT="yes"
IPV6_AUTOCONF="no"
DNS3="2001:4860:4860::8888"

Применяем настройки:

service network restart

Проверяем работу IPv6:

# ping6 -c 4 2001:4860:4860::8888
PING 2001:4860:4860::8888(2001:4860:4860::8888) 56 data bytes
64 bytes from 2001:4860:4860::8888: icmp_seq=1 ttl=59 time=4.10 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=2 ttl=59 time=4.06 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=3 ttl=59 time=4.09 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=4 ttl=59 time=4.12 ms