Como faço para listar os endereços IP dos quais os minions se conectam?

3

Alguns minions estão por trás do NAT e eu gostaria de obter seu endereço IP público como visto pelo mestre (para fins de firewall).

Existe o granular_ip externo, mas o AFAIK depende de serviços de terceiros e nem funciona de forma confiável para mim.

    
por Juraj 29.07.2014 / 12:05

2 respostas

2

Primeiro, certifique-se de que cada um de seus lacaios tenha o pacote curl instalado.

Então você poderia usar:

salt '*' cmd.run "curl ifconfig.me"

Se o ifconfig.me não responder, você poderá usar outro provedor:

salt '*' cmd.run "curl -s icanhazip.com"

Cada servo responderá com o endereço IP externo:

zeus.example.com:
    1.2.3.1
hera.example.com:
    1.2.3.2
apollo.example.com:
    1.2.3.3
athena.example.com:
    1.2.3.4

Se o curl não estiver instalado, a resposta será:

castor.example.com:
    /bin/bash: curl: command not found
    
por 29.07.2014 / 22:51
0

Um computador atrás de um NAT não tem conhecimento do endereço IP público que ele deveria ter ... Eu não acho que você seria capaz de obter essa informação do próprio lacaio.

Esta informação tem que vir do seu dispositivo NAT, seja um firewall, switch ou algum outro dispositivo. Talvez você possa criar um Runner em condições de recuperar essas informações para você.

Alternativamente, você poderia simplesmente colocar um arquivo no sistema de arquivos do seu subordinado que contenha informações como o endereço IP público, que poderiam ser recuperadas um pouco mais facilmente ...

    
por 29.07.2014 / 14:20

Tags