У меня дефолт DROP
политика в отношении INPUT
и OUTPUT
цепочка настроена для iptables, и я пытаюсь настроить правильные правила iptables для двух серверов, которые зеркалируют данные через drbd.
Конфигурация ресурса:
resource data {
on data001 {
device /dev/drbd0;
disk /dev/mapper/vg--system-data;
meta-disk internal;
address 10.0.0.10:7788;
}
on data002 {
device /dev/drbd0;
disk /dev/mapper/vg--system-data;
meta-disk internal;
address 10.0.0.11:7788;
}
}
Для iptables на обоих узлах drbd установлены следующие правила:
-A INPUT -p tcp -s 10.0.0.10 --sport 7788 -j ACCEPT
-A OUTPUT -p tcp -d 10.0.0.10 --dport 7788 -j ACCEPT
-A INPUT -p tcp -s 10.0.0.11 --sport 7788 -j ACCEPT
-A OUTPUT -p tcp -d 10.0.0.11 --dport 7788 -j ACCEPT
Однако drbd не может правильно установить соединение между хостами. Обновление политик по умолчанию на обоих хостах до ACCEPT
работает как положено.
Вы должны разрешить ESTABLISHED
соединения для INPUT
и OUTPUT
. В дополнение к настройке соединения вам необходимо разрешить пакеты с портом назначения 7788, как исходящие, так и входящие.
редактировать
-A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A INPUT -p tcp -s 10.0.0.10 --dport 7788 -j ACCEPT
-A INPUT -p tcp -s 10.0.0.11 --dport 7788 -j ACCEPT
-A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -d 10.0.0.10 --dport 7788 -j ACCEPT
-A OUTPUT -p tcp -d 10.0.0.11 --dport 7788 -j ACCEPT