saltstack总结-2018-0620

以下结论

结论1
由于minion配置文件里能配置的只有master的IP和master的ret_port,而无法指定master的publish_port
因此minion获取的master的publish_port是在认证通过之后,master告诉它的。再认证通过之前minion端是不知道master的publish_port

使用tcpdump抓包验证了,以及lsof :4506验证了。刚开始是连4506端口的


结论2
假如salt-master和salt-minion不在一个机房。并且2个机器均无外网IP,但是都可以上网
salt-master和salt-minion如果正常通信的话,需要在master机房防火墙做端口映射
假如master机器内网IP是192.168.56.11 master机房防火墙IP是200.200.200.200
minion端配置文件里master的IP是200.200.200.200,其中ret_port也是master机房防火墙的端口

ret_port可以不一对一映射
比如下面格式。 master监听在4506端口。防火墙可以映射54506端口到master机器的4506端口
192.168.56.11:4506-----200.200.200.200:54506

其中publish_port必须一对一映射
master配置文件里的publish_port端口必须和防火墙外网端口一致
192.168.56.11:4505-----200.200.200.200:4505
或者说
192.168.56.11:54505-----200.200.200.200:54505

 

实际生产环境也验证了。

某地区的minion配置如下

 

 

 minion配置的ret_port如下

 

 配置自己的id,和主机名不一样

 

 

 防火墙端口映射

 其中publish_port是一对一映射的

master的端口

 

 master端的配置文件

 

 

场景3

如果防火墙没一对一映射,比如下面场景,防火墙映射2个端口给salt使用
10.0.1.61:4505-----200.200.200.200:14505
10.0.1.61:4506-----200.200.200.200:14506
解决办法
如果防火墙没一对一映射。还可以在master上通过iptables解决,做一个nat
可以这么处理,修改master的配置,让publish_port监听14505端口,4506给ret_port使用不变
iptables   -t nat -A   PREROUTING   -d    10.0.1.61   -p tcp --dport    4505   -j DNAT --to-destination 10.0.1.61:14505

 

 

posted on 2019-03-01 14:41  nmap  阅读(677)  评论(0编辑  收藏  举报

导航