Назад | Перейти на главную страницу

Как мне указать IP-адреса, с которых подключаются миньоны?

Некоторые миньоны находятся за NAT, и я хотел бы получить их общедоступный IP-адрес, видимый от мастера (для целей межсетевого экрана).

Существует зерно external_ip, но, как ни странно, оно зависит от стороннего сервиса и даже не работает для меня надежно.

Сначала убедитесь, что у каждого вашего миньона есть 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, будь то брандмауэр, коммутатор или какое-либо другое устройство. Может быть, вы могли бы создать Бегуна в соли, чтобы получить эту информацию для вас.

В качестве альтернативы вы можете просто добавить файл в файловую систему вашего миньона, который содержит такую ​​информацию, как общедоступный IP-адрес, который можно было бы получить немного проще ...