Назад | Перейти на главную страницу

Как принудительно настроить IPV4 с помощью PCS? (Кардиостимулятор / Corosync)

Я настраиваю кластер Pacemaker / Corosync с креплением DRBD для высокодоступного веб-приложения в безопасной среде. Это работает на CentOS 7. Кластер работает. Однако, чтобы подготовить эту систему к аудиту безопасности, я должен отключите все приложения от прослушивания IPV6 и принудительно установите IPV4.

Я отключил IPV6 по всей системе:

# Contents of /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1

Я также сделал дополнительный шаг, отключив IPV6 на сетевом уровне:

# Contents of /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6_AUTOCONF=no

Однако PCSD настаивает на прослушивании порта IPV6:

# netstat -lnptu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1206/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1837/master
tcp6       0      0 :::2224                 :::*                    LISTEN      486/ruby
udp        0      0 192.168.4.100:60618     0.0.0.0:*                           10932/corosync
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           460/avahi-daemon: r
udp        0      0 192.168.4.100:5405      0.0.0.0:*                           10932/corosync
udp        0      0 0.0.0.0:57120           0.0.0.0:*                           460/avahi-daemon: r
udp        0      0 192.168.4.100:40891     0.0.0.0:*                           10932/corosync

Нет интерфейсов IPV6:

ip a l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:8d:d1:76 brd ff:ff:ff:ff:ff:ff
    inet 192.168.4.100/24 brd 192.168.4.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet 192.168.4.110/24 brd 192.168.4.255 scope global secondary ens160
       valid_lft forever preferred_lft forever

Я удалил петлю IPV6 из / etc / hosts, как было предложено на другом форуме:

# Contents of /etc/hosts
192.168.4.100   node1 node1.network.dmn
192.168.4.101   node2 node2.network.dmn
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 

Я также видел старый отчет об ошибке, когда PCSD не запускался, когда IPV6 был отключен. Это было решено, и я могу подтвердить, что мой экземпляр запускается нормально, однако, как указано в комментариях к этой ошибке, когда IPV6 отключен, PCSD должен прослушивать IPV4, чего он не делает. Это похоже на ненормальное поведение:

Источник: https://bugzilla.redhat.com/show_bug.cgi?id=1104359

Created attachment 933288 [details]
proposed fix

тест:

  1. Отключите ipv6, добавьте ipv6.disable = 1 в строку загрузки ядра и перезагрузитесь
  2. Запустить службу pcd systemctl start pcsd.service
  3. Убедитесь, что pcsd запущен и прослушивает 0.0.0.0 netstat --inet -anp46 | grep 2224 tcp 0 0 0.0.0.0:2224 0.0.0.0:* СЛУШАТЬ 1746 / ruby
  4. Перезагрузитесь с включенным ipv6.
  5. Запустить службу pcd systemctl start pcsd.service
  6. Убедитесь, что pcsd запущен и прослушивает :: netstat --inet -anp46 | grep 2224 tcp6 0 0 ::: 2224 ::: *
    СЛУШАТЬ 356 / рубин

Поиск в Google способа принудительного включения IPV4 в конфигурацию не дал никаких результатов. Так что я застрял в данный момент. я ДОЛЖЕН установите для этого порта значение 0.0.0.0:2224, чтобы обеспечить соответствие требованиям безопасности.

Кто-нибудь может сказать мне, как?

Довольно поздно, но если вы хотите, чтобы pcd работал только в IPv4, вам нужно изменить файл /etc/sysconfig/pcsd и замените значение по умолчанию (и прокомментировано)

# PCSD_BIND_ADDR='::'

для чего-то вроде этого:

 PCSD_BIND_ADDR='192.168.23.65'

Затем вам нужно перезапустить службу pcsd, и если вы запустите netstat -tulpn Тебе следует увидеть :

 tcp   0  0 192.168.23.65:2224   0.0.0.0:*     LISTEN   5191/ruby