Настройка IPv6 в CentOS 6.X

21 Jan 2016 | Автор: anchous |

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

Надо заметить, что настройка IPv6 довольно тривиальна и отличается от настройки IPv4 в основном лишь тем, что по каким то причинам нет варианта прописывать сегменты сетей через файлы адресного пула.

Но обо всем по порядку. Настраивал я IPv6 как обычно в CentOS 6.X.

Для начала у вас, так же как и в ситуации со стандартной настройкой сети, должны быть IP адрес (2a01:240:253:81e4::2), префикс сети (64) и шлюз (2a01:240:253:81e4::1).

Для начала надо добавить поддержку IPv6 в систему, для чего в файл /etc/sysconfig/network добавляем параметр:
NETWORKING_IPV6=yes

После чего переходим в папку /etc/sysconfig/network-scripts/ и прописываем в файл основного интерфейса настройки для IPv6 (привычно добавляем строки в конец файла). В моем случае это был стандартный ifcfg-eth0

### /etc/sysconfig/network-scripts/ifcfg-eth0
IPV6INIT=yes
IPV6ADDR=2a01:240:253:81e4::2/64
IPV6_DEFAULTGW=2a01:240:253:81e4::1
###################

практически после этого все должно заработать на отлично, но, к сожалению, уже пришлось встретиться с криворукими хостерами у которых, по какой то причине, данная настройка не заработала и пришлось дополнительно прописывать правила маршрутизации в файл route6-eth0, с использованием дефолтного шлюза и интерфейса

### /etc/sysconfig/network-scripts/route6-eth0
2a01:240:253:81e4::1 dev eth0
default via 2a01:240:253:81e4::1 dev eth0
###################

перегружаем сетку с помощью
# service network restart
или сам сервер, после чего все поднимается.

Пинговать IPv6 можно с помощью команды ping6 естественно с тех хостов, которые поддерживают IPv6, либо же каких нить инетных инструментов, которых в сети уже предостаточно. Я использую этот сервис: mebsd.com

Для того чтобы у нас нормально резолвились имена хостов IPv6, в файл /etc/resolv.conf добавляем DNS сервера IPv6, либо

Google Public DNS
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844

OpenDNS
nameserver 2620:0:ccc::2
nameserver 2620:0:ccd::2

Если же нам надо добавить дополнительные IP, то в файл /etc/sysconfig/network-scripts/ifcfg-eth0 добавляем следующие строки:

IPV6ADDR_SECONDARIES=”2a01:240:253:81e4::3/64 \
2a01:240:253:81e4::4/64 \
2a01:240:253:81e4::5/64 \
2a01:240:253:81e4::6/64 \
2a01:240:253:81e4::7/64″

Это довольно удобно, если у нас этих IP десяток-другой, а вот если у нас имеется пара сотен этих айпи (в /64 подсетке их 18 триллионов), то ручками все это многообразие прописывать геморно, и тут уже придется ваять скриптик для генерации всех этих айпишек. Предположим что у нас используется пул IPv6 адресов с 2a01:240:253:81e4::3 по 2a01:240:253:81e4::b5e Тогда скрипт подъема IPv6 из данного сегмента будет выглядеть следующим образом:

# for ip in $(printf ‘%x\n’ {3..2910}); do /sbin/ifconfig eth0 inet6 add 2a01:240:253:81e4::${ip}/64; done

это скрипт прописываем в /etc/rc.local и при загрузке системы он будет нам поднимать айпишки с нужной адресацией.

Чуть подробнее по фигурной скобке: адресация IPv6 идет в 16-ричной системе и для использования в скрипте, нам надо переменные последних байтов перевести в 10-ричную систему. Поэтому 3 – это последний байт первого IPv6 адреса, а 2910 – это адрес последнего b5e переведенного из хекса 16-ричной системы в 10-ричную. Сделать это можно либо самостоятельно, либо с использованием онлайн калькулятора calc-x.ru

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

VN:F [1.9.21_1169]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)
Настройка IPv6 в CentOS 6.X, 10.0 out of 10 based on 2 ratings

Теги: , ,

Отзывов: 6 на «Настройка IPv6 в CentOS 6.X»

  1. Автор: Денис на 10 Mar 2016

    Здравствуйте.
    Спасибо за статью.
    А как прописать авторизацию ipv6 по логину и паролю?
    Спасибо.

    [Reply]

    anchous Reply:

    точно также как прописываете и для IPv4 – подробнее по конфигу в старой статье

    [Reply]

    VN:F [1.9.21_1169]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.21_1169]
    Rating: 0 (from 0 votes)
  2. Автор: Денис на 11 Mar 2016

    Извините, за мои комментарии. Но в этом вопросе я полный нуб. А разобраться хочется.
    По паролю получается в файл
    /etc/sysconfig/network-scripts/ifcfg-eth0
    Прописываем:
    daemon
    auth strong
    users login:CL:pass
    ?

    [Reply]

    anchous Reply:

    а куда именно вы собрались авторизовываться по IPv6?
    файл ifcfg-eth0 отвечает за настройки интерфейса и туда прописываются сетевые параметры интерфейса, тогда как авторизацию надо прописывать в пакете через который вы планируете куда то логиниться

    [Reply]

    VN:F [1.9.21_1169]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.21_1169]
    Rating: 0 (from 0 votes)
  3. Автор: Макс на 15 Jun 2016

    А могли вы помочь настроить тунелизацию? с ipv6 na ipv4

    [Reply]

    anchous Reply:

    чем именно помочь?

    [Reply]

    VN:F [1.9.21_1169]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.21_1169]
    Rating: 0 (from 0 votes)

Ваш отзыв