Добавление адресов IPv6 в Linux

IPv6 является последней версией протокола IP, который используется для подключения в сети Интернет.

Примечание: В целом словосочетание «протокол IP» не совсем правильное, поскольку IP расшифровывается как «Internet Protocol» (межсетевой протокол), однако оно будет употребляться в этой статье для простоты.

Предыдущая версия протокола, IPv4, до сих пор используется во многих уголках сети, однако адресное пространство IPv4 потребляется очень быстрыми темпами.

IPv6 должен решить все эти проблемы. Кроме общих улучшений в протоколе, наиболее очевидным преимуществом IPv6-адресов является более широкое адресное пространство. IPv4 позволяет использовать 232 адресов (некоторые из которых зарезервированы для отдельных целей), а адресное пространство IPv6 – 2128 адресов, что гораздо больше IPv4.

Данное руководство поможет добавить адреса IPv6.

Определение диапазона адресов IPv6

По умолчанию, каждый сервер с поддержкой IPv6 получает один адрес IPv6, который будет использоваться в различных записях PTR для доменов данного сервера. Однако серверу доступен и более широкий диапазон адресов. Доступный диапазон задается в настройках сервера.

Откройте страницу настроек сервера или его панель управления и найдите раздел сетевых настроек.

Если сервер поддерживает IPv6, то в настройках будет специальный раздел для этого протокола. Определить диапазон адресов можно при помощи отдельной опции (она может называться Address Range).

Временная настройка дополнительных адресов IPv6

Сеть сервера нужно вручную настроить для поддержки дополнительных адресов IPv6.

Для этого добавьте все необходимые адреса IPv6 в интерфейс сервера. Подключитесь к серверу по SSH.

Чтобы настроить сетевой интерфейс сервера, выберите адрес из заданного диапазона адресов и добавьте его при помощи команды:

ip -6 addr add new_IPv6_address_in_range/64 dev eth0

Новый адрес будет немедленно добавлен в сессию. Если всё прошло успешно, он появится в списке:

ip -6 addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 first_ipv6_address/64 scope global
valid_lft forever preferred_lft forever
inet6 second_ipv6_address/64 scope global
valid_lft forever preferred_lft forever

Новый адрес будет действителен в течение текущей сессии. Чтобы сделать этот дополнительный IP-адрес постоянным, нужно будет добавить некоторые данные в конфигурационные файлы.

Постоянные адреса IPv6 в Debian и Ubuntu

В системах Debian и Ubuntu нужно добавить дополнительные адреса IPv6 в файл, который отвечает за настройку сети при загрузке. Это /etc/network/interfaces.

Откройте этот файл с правами root:

sudo nano /etc/network/interfaces

В нём содержатся разделы настроек для различных сетей (например, public IPv4, public IPv6, private IPv4 и т.п.); найдите раздел для внешних адресов IPv6 (public IPv6), который имеет примерно такой вид:

. . .
iface eth0 inet6 static
address primary_ipv6_address
netmask 64
gateway ipv6_gateway
autoconf 0
dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888 209.244.0.3
. . .

В него нужно добавить новый адрес. Для этого создайте дополнительный раздел, который будет полностью повторять текущую конфигурацию, включая новый адрес и netmask.

. . .
iface eth0 inet6 static
address primary_ipv6_address
netmask 64
gateway ipv6_gateway
autoconf 0
dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888 209.244.0.3
iface eth0 inet6 static
address new_ipv6_address
netmask 64
. . .

Сохраните и закройте файл.

При следующей загрузке сервер автоматически добавит новые адреса IPv6. Если вы хотите добавить ещё несколько адресов, воспользуйтесь описанным выше методом временной настройки.

Постоянные адреса IPv6 в CentOS и Fedora

В системах CentOS и Fedora адреса добавляются аналогичным образом с небольшими поправками. Файл, отвечающий за настройки сетей, называется /etc/sysconfig/network-scripts/ifcfg-eth0.

Откройте его с правами root:

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0

Раздел, который отвечает за адреса IPv6, выглядит примерно так:

. . .
IPV6INIT=yes
IPV6ADDR=primary_ipv6_address/64
IPV6_DEFAULTGW=ipv6_gateway
IPV6_AUTOCONF=no
. . .

Чтобы добавить новые адреса IPv6, используйте параметр IPV6ADDR_SECONDARIES, который позволяет задать строку дополнительных адресов IPv6. Он может иметь примерно такой вид:

. . .
IPV6INIT=yes
IPV6ADDR=primary_ipv6_address/64
IPV6_DEFAULTGW=ipv6_gateway
IPV6ADDR_SECONDARIES="second_ipv6_address/64 third_ipv6_address/64 .../64"
IPV6_AUTOCONF=no
. . .

Добавив необходимые адреса, сохраните и закройте файл.

При следующей загрузке сервер автоматически добавит указанные адреса IPv6. Если вы хотите добавить ещё несколько адресов, можно воспользоваться описанным выше методом временной настройки.

Заключение

Теперь вы можете добавить необходимое количество адресов IPv6, что позволит  создать гибкие конфигурации и использовать различные адреса для конкретных целей.

Больше о настройке протокола IPv6 можно прочесть в руководстве «Настройка и использование IPv6 на сервере Linux».

Tags: , ,

Добавить комментарий