如何在NAT后面使用Salt Stack(不可公开访问,默认salt端口未打开)?

可以使用标准端口,在所有的消费者NAT路由器中默认使用标准端口(并且没有公共DNSlogging或者静态IP),Salt Stack minions可以与NAT /防火墙等之后的salt master进行通信?

我正在通过我的第一个盐教程的方式,这是我卡住的地方。

我可以在Ubuntu salt-master上configurationiptables。 但是我无法控制那些将要坐在后面的路由器/ NAT。

到目前为止,我试过这些设置:

的/ etc /盐/主:

publish_port: 465 ret_port: 443 

的/ etc /盐/仆从:

 master_port: 465 

这没有用。

背景:

我有一个定制开发的应用程序,目前运行在约40 Kubuntu笔记本电脑(&更多计划)。 每隔几个月我都需要更新应用程序。 (通常这相当于replace一个需要root权限的.jar文件。)我还必须运行Ubuntu更新和其他一些小的东西。 我一直在使用Team Viewerlogin到每个客户端。

我想大大改善这个过程。 我知道的两个选项是:

  1. 使用反向ssh隧道和bash脚本。 我testing了这个,它的工作原理。 但是我没有得到任何报道等等,我会用Salt Stack得到。

  2. 使用Salt Stack(或类似的)pipe理工具。 但是我需要一个非常简单的工具。 我不能随时投入大的学习曲线。

我看着Puppet和一堆相关的工具。 我发现的唯一一个对我来说足够简单的(就目前而言)是Salt Stack。 但是我现在被卡住了,因为我的奴才不能达到盐师,如上所述。

我欣赏build议。

答案是“这只是起作用”。 没有必要更改configuration文件(主或小)。 没有必要担心奴才的NAT或防火墙。

但是,在主设备上,需要在防火墙上打开两个端口。 我完成了这个:

 iptables -A INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT iptables -A INPUT -m state --state new -m tcp -p tcp --dport 4506 -j ACCEPT 

在小工具上,在/ etc / hosts中添加一个指向名字“salt”的条目到主服务器的IP地址。 例:

 root@minion2:~# cat /etc/hosts 127.0.0.1 localhost.localdomain localhost 111.222.333.444 salt salt.example.com 

真的,这很简单。