Речь пойдёт о настройке работы сервера по 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