Вопрос: Как использовать IPV6 в httpd? Поддерживает ли RHEL Apache httpd двойной стек IPv4 и IPv6 вместе?

Сначала убедитесь, что в вашей системе включен IPv6.

Для включения ipv6 выполните шаги, описанные ниже, в зависимости от версии вашей ОС.

Включение поддержки IPv6 в CentOS / RHEL 7

1. Отредактируйте /etc/default/grub и удалите запись ipv6.disable = 1 из GRUB_CMDLINE_LINUX, как в следующем примере:

GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root"

2. Запустите команду grub2-mkconfig, чтобы восстановить файл grub.cfg:

# grub2-mkconfig -o /boot/grub2/grub.cfg

В качестве альтернативы в системах UEFI выполните следующее:

# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

3. Удалите файл /etc/sysctl.d/ipv6.conf, который содержит запись:

# To disable for all interfaces
net.ipv6.conf.all.disable_ipv6 = 1
# the protocol can be disabled for specific interfaces as well.
net.ipv6.conf.[interface].disable_ipv6 = 1

4. Затем пересоберите исходный образ RAM-диска, используя:

# dracut -f

5. Проверьте содержимое файла /etc/ssh/sshd_config и убедитесь, что строка AddressFamily закомментирована:

# vi /etc/ssh/sshd_config
#AddressFamily inet

6. Убедитесь, что следующая строка существует в /etc/hosts и не закомментирована:

# cat /etc/hosts
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

7. Перезагрузите систему, чтобы включить поддержку IPv6.

# shutdown -r now

Включение поддержки IPv6 в CentOS / RHEL 6

1. Просмотрите файлы в /etc/modprobe.d/ и удалите (или закомментируйте) любую из следующих строк:

options ipv6 disable=1
install ipv6 /bin/true
blacklist ipv6
alias ipv6 off

2. Настройте службу ip6tables для запуска при загрузке, введя следующую команду:

# chkconfig ip6tables on

3. Убедитесь, что для следующих параметров вашего /etc/sysctl.conf установлено значение по умолчанию ‘0‘

# ipv6 support in the kernel, set to 0 by default
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0

4. Убедитесь, что следующая строка существует в / etc / hosts и не закомментирована:

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

5. Отредактируйте /etc/netconfig для строк, начинающихся с udp6 и tcp6; замените «-» (дефис / тире) в третьем столбце на «v»

6. Перезагрузите систему, чтобы активировать поддержку IPv6.

# shutdown -r now

Включить IPv6 в Apache

1. Адреса IPv6 должны быть заключены в квадратные скобки, как показано в следующем примере в файле /etc/httpd/httpd.conf:

# vi /etc/httpd/httpd.conf
Listen [2001:db8::a00:20ff:fea7:ccea]:80 
<VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
</VirtualHost>

Замечания:

Когда IPv6 включен в Apache httpd, сокет IPv6 может обрабатывать как соединения IPv4, так и соединения IPv6. При обработке соединений IPv4 с сокетом IPv6 используются IPv4-сопоставленные адреса IPv6, которые по умолчанию разрешены в CentOS / RHEL 5/6/7.

# httpd -V | grep APR_HAVE_IPV6
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)

 

Поделитесь статьей:

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