Adicionar isso corrigiu o problema:
-A INPUT -m pkttype --pkt-type multicast -j ACCEPT
Estou tentando configurar um firewall para um servidor que hospeda um aplicativo java e o ES. Ambos estão no mesmo servidor e se comunicam entre si. O problema que estou tendo é que minha configuração de firewall impede que o java se conecte ao ES. Não tenho certeza por que realmente ... Eu tentei muitas coisas como abrir o intervalo de porta 9200: 9400 para o ip do servidor sem qualquer sorte, mas pelo que eu sei toda a comunicação dentro do servidor deve ser permitida com esta configuração.
A ideia é que o ES não deve ser acessível de fora, mas deve ser acessível a partir deste aplicativo java e o ES usa o intervalo de porta 9200: 9400.
Este é o meu script do iptables:
echo -e Deleting rules for INPUT chain
iptables -F INPUT
echo -e Deleting rules for OUTPUT chain
iptables -F OUTPUT
echo -e Deleting rules for FORWARD chain
iptables -F FORWARD
echo -e Setting by default the drop policy on each chain
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
echo -e Open all ports from/to localhost
iptables -A INPUT -i lo -j ACCEPT
echo -e Open SSH port 22 with brute force security
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --rcheck --seconds 30 --hitcount 4 --rttl --name SSH --rsource -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --rcheck --seconds 30 --hitcount 3 --rttl --name SSH --rsource -j LOG --log-prefix "SSH brute force "
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --update --seconds 30 --hitcount 3 --rttl --name SSH --rsource -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
echo -e Open NGINX port 80
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
echo -e Open NGINX SSL port 443
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
echo -e Enable DNS
iptables -A INPUT -p tcp -m tcp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
E eu recebo isso no aplicativo java quando esta configuração está em vigor:
org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];[SERVICE_UNAVAILABLE/2/no master];
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:292)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
Algum de vocês vê algum problema com esta configuração e ES?
Obrigado antecipadamente
Tags iptables elasticsearch