Ceph Monitor iptables rege comportamento estranho

0

Estou tentando configurar o iptables para um cluster do Ceph. No momento, estou colocando regras em conjunto para um dos servidores de monitor.

O daemon do monitor atende em tcp/6789 (endereço IP removido, pois é um endereço público):

# netstat -tunlp | grep ceph-mon
tcp        0      0 X.X.X.X:6789       0.0.0.0:*               LISTEN      2612/ceph-mon

Se eu permitir conexões para a porta tcp 6789 e descartar tudo o resto, o monitor será marcado como inativo pelo restante do cluster:

iptables -F INPUT
iptables -A INPUT -p tcp --dport 6789 -j ACCEPT
iptables -A INPUT -j DROP

Confusamente, se eu descartar todas as conexões para a porta tcp 6789, o cluster ainda funcionará:

iptables -F INPUT
iptbales -A INPUT -p tcp --dport 6789 -j DROP

Se eu permitir conexões com a porta tcp source 6789 e descartar tudo o que o cluster opera:

iptables -F INPUT
iptables -A INPUT -p tcp --sport 6789 -j ACCEPT
iptables -A INPUT -j DROP

Isso não faz sentido para mim, já que o daemon está escutando na porta 6789, então os segmentos tcp devem ter uma porta de destino de 6789.

Se eu fizer um tcpdump para a porta de origem 6789, posso ver pacotes de entrada com uma porta de destino de 56052 e uma porta de origem de 6789. Isso faz ainda menos sentido para mim, pois não há nada escutando na porta 56052 no monitor servidor.

Estou sentindo falta de algo aqui? Estou usando o SLES12 e o ceph 12.2.7, as cadeias FORWARD e OUTPUT não têm regras, e a política em todas as cadeias é ACCEPT

    
por rusty shackleford 11.10.2018 / 15:51

1 resposta

0

Eu não tinha habilitado o rastreamento de conexão, então quando o monitor estava tentando conversar com outros monitores, as respostas não estavam sendo permitidas de volta através do firewall. Eu adicionei a seguinte regra para corrigir o problema:

iptables -I INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Agradecemos a A.B a sugestão de ver os firewalls com informações de estado.

    
por 12.10.2018 / 11:22

Tags