iptables의 ElasticSearch 포트

iptables의 ElasticSearch 포트

마스터 노드와 클라이언트 노드라는 두 개의 데이터 노드가 있는 탄력적 검색 클러스터를 설정했습니다 kibana. iptables각 노드에서 비활성화된 상태로 실행했습니다 .

이제 iptables각 노드(9200, 9300)에서 어떤 포트를 열어야 하는지, 그리고 어떤 방향(수신, 발신 또는 둘 다)을 활성화해야 하는지 알고 싶습니다.

또한 어느 노드에서 인증해야 하는지 알아야 합니다. 클라이언트 노드만 인증해야 합니까?

답변1

Elasticsearch는 다음 포트 범위를 사용합니다.

  • 9200-9300: 웹 API 연결입니다.
  • 9300-9400: 인프라/노드 통신

Elasticsearch 클러스터 노드 간:

iptables -A INPUT -p tcp -s <source> --dport 9300:9400 -j ACCEPT

Master와 Kibana 간(클라이언트 > 서버):

iptables -A INPUT -p tcp -s <source> --dport 9200 -j ACCEPT

Elasticsearch는 기본적으로 UDP 멀티캐스트를 사용하여 네트워크에서 다른 노드를 검색하여 클러스터를 형성합니다. 다음 규칙을 사용하여 활성화할 수 있습니다.

iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT

또는

또는 더 나은 옵션(대규모 클러스터가 이로부터 더 많은 이점을 얻음)은 다음과 같습니다.유니캐스트로 전환하여 멀티캐스트의 간섭을 최소화합니다.(일부 클라우드 제공업체는 유니캐스트를 허용하지 않는다는 점에 유의하세요.)

또는 다음을 사용하여 자체 포트 바인딩 구성을 정의할 수 있습니다.운송.

transport.profiles.default.port: 9300-9400
transport.profiles.default.bind_host: 10.0.0.1
transport.profiles.client.port: 9500-9600
transport.profiles.client.bind_host: 192.168.0.1
transport.profiles.dmz.port: 9700-9800
transport.profiles.dmz.bind_host: 172.16.1.2

관련 정보