web-dev-qa-db-ja.com

ミニオンが接続するIPアドレスを一覧表示するにはどうすればよいですか?

一部のミニオンはNATの背後にあり、マスターから見たパブリックIPアドレスを取得したいと思います(ファイアウォールの目的で)。

External_ipグレインがありますが、それはサードパーティのサービスに依存しており、私にとっては確実に機能しません。

3
Juraj

まず、各ミニオンにcurlパッケージがインストールされていることを確認します。

次に、以下を使用できます。

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

Ifconfig.meが応答しない場合は、別のプロバイダーを使用できます。

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

各ミニオンは外部IPアドレスで応答します:

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

Curlがインストールされていない場合、応答は次のようになります。

castor.example.com:
    /bin/bash: curl: command not found
3
pincoded

NATの背後にあるコンピューターは、本来持っているはずのパブリックIPアドレスを認識していません...ミニオン自体からこの情報を取得できるとは思いません。

この情報は、ファイアウォール、スイッチ、またはその他のデバイスであるかどうかに関係なく、NATデバイスから取得する必要があります。おそらく、その情報を取得するためにソルトでランナーを作成できます。

または、パブリックIPアドレスなどの情報を含むファイルをミニオンのファイルシステムにドロップするだけで、少し簡単に取得できます...

0
Vasili Syrakis