如何列出小工具连接的IP地址?

有些小伙伴在NAT后面,我想从主站看到他们的公共IP地址(为了防火墙的目的)。

有external_ip粮食,但AFAIK它依赖于第三方服务,甚至不能为我工作可靠。

首先确保你的每个奴才都安装了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 

NAT背后的计算机并不知道公共IP地址的含义,我不认为你能从自己的奴才中获得这些信息。

这些信息必须来自您的NAT设备,无论是防火墙,交换机还是其他设备。 也许你可以创build一个盐跑步者为你检索信息。

或者,你可以简单地在你的奴才的文件系统中的一个文件,其中包含的信息,如公共IP地址,这可能会更容易检索…