Pull to refresh

О настройке IPv6 в CentOS

image
Речь пойдёт о настройке работы сервера по IPv6.

Настройку мы будем рассматривать на примере CentOS 5.10.

  • 1. Для начала нужно убедиться, что у вас есть /etc/sysconfig/network-scripts/network-functions-ipv6 сценарий.
    [root@host ~]# ls -l /etc/sysconfig/network-scripts/network-functions-ipv6
    -rw-r--r-- 1 root root 39863 May 14  2013 /etc/sysconfig/network-scripts/network-functions-ipv6
    [root@host ~]#
    

    Если всё в порядке, проверяем загружается ли модуль net-pf-10
    [root@host ~]# modprobe -c | grep net-pf-10
    alias net-pf-10-proto-0-type-6 dccp_ipv6
    alias net-pf-10-proto-33-type-6 dccp_ipv6
    alias net-pf-10 ipv6
    [root@host ~]#
    

    Если система не обнаружит его, вы получите следующий вывод:
    [root@host ~]# modprobe -c | grep net-pf-10
    alias net-pf-10 off
    [root@host ~]#
    

    Для его включения необходимо отредактировать /etc/sysconfig/network. Как именно — описано в след. пункте.
  • 2. Добавляем или изменяем в /etc/sysconfig/network строчку на NETWORKING_IPV6=yes. Добавляем шлюз по умолчанию IPV6_DEFAULTGW=«IPv6_шлюз»
    Далее открываем /etc/sysconfig/network-scripts/ifcfg-eth0 и вставляем две простые строчки IPV6INIT=yes и IPV6ADDR=«IPv6/48(маска)». Если у вас несколько IPv6, то можно добавить IPV6ADDR_SECONDARIES=«IPv6_1/48 IPv6_2/128 IPv6_3»
    И делаем перезагрузку сети, такой командой /etc/init.d/network restart
  • 3. Теперь ваш сервер должен уметь «общаться» по IPv6, проверим это следующим способом:
    [root@host ~]# ping6 ipv6.google.com
    PING ipv6.google.com(2a00:1450:4010:c02::8a) 56 data bytes
    64 bytes from 2a00:1450:4010:c02::8a: icmp_seq=0 ttl=55 time=53.4 ms
    64 bytes from 2a00:1450:4010:c02::8a: icmp_seq=1 ttl=55 time=49.9 ms
    64 bytes from 2a00:1450:4010:c02::8a: icmp_seq=2 ttl=55 time=52.7 ms
    64 bytes from 2a00:1450:4010:c02::8a: icmp_seq=3 ttl=55 time=53.1 ms
    64 bytes from 2a00:1450:4010:c02::8a: icmp_seq=4 ttl=55 time=49.8 ms
    64 bytes from 2a00:1450:4010:c02::8a: icmp_seq=5 ttl=55 time=52.7 ms
    
    --- ipv6.google.com ping statistics ---
    28 packets transmitted, 28 received, 0% packet loss, time 27006ms
    rtt min/avg/max/mdev = 49.824/51.906/53.422/1.319 ms, pipe 2
    [root@host ~]#
    


Первая часть наших работ закончена. Дело осталось за малым, а точнее научить «слушать» nginx и httpd IPv6.

  • 1. По умолчанию IPv6 файрвол закрывает для прослушивания IPv6 на nginx или httpd, в зависимости от того, что у вас на фронтенде.
    Для открытия 80 и 443 портов, нужно в /etc/sysconfig/ip6tables
    Добавить:
    -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 80 -j ACCEPT
    -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 443 -j ACCEPT

    Если перед этими строками стоит
    -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp6-adm-prohibited, то её необходимо удалить.
    Далее перезагружаем сервис service ip6tables restart
  • 2.Переходим к конфигурированию хостов nginx и httpd.
    У меня nginx висит на 80 порту, а httpd на 81
    Конфиг nginx должен быть следующего вида:
    server {
    		server_name домен.ру;
    		listen IPv4;
    		listen [IPv6];
                    
                   ..................
    }
    

    Причём IPv6 указывается в [ ]

    Конфиг httpd следующий:
    <VirtualHost IPv4:81 [IPv6]:81>
    	ServerName домен.ру
    
           ......................
    </VirtualHost>
    


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

Использованы материалы:
1. www.allthingsdigital.nl/2011/02/27/configuring-red-hat-enterprise-linux-5-or-centos-5-for-ipv6
2. knowledgelayer.softlayer.com/procedure/add-ipv6-redhat-and-centos-systems
3. habrahabr.ru/post/94819
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.