saltstack總結-2018-0620

如下結論bash

結論1
因爲minion配置文件裏能配置的只有master的IP和master的ret_port,而沒法指定master的publish_port
所以minion獲取的master的publish_port是在認證經過以後,master告訴它的。再認證經過以前minion端是不知道master的publish_porttcp

使用tcpdump抓包驗證了,以及lsof :4506驗證了。剛開始是連4506端口的blog


結論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機房防火牆的端口ip

ret_port能夠不一對一映射
好比下面格式。 master監聽在4506端口。防火牆能夠映射54506端口到master機器的4506端口
192.168.56.11:4506-----200.200.200.200:54506io

其中publish_port必須一對一映射
master配置文件裏的publish_port端口必須和防火牆外網端口一致
192.168.56.11:4505-----200.200.200.200:4505
或者說
192.168.56.11:54505-----200.200.200.200:54505table

 

實際生產環境也驗證了。ast

某地區的minion配置以下class

 

 

 minion配置的ret_port以下配置

 

 配置本身的id,和主機名不同iptables

 

 

 防火牆端口映射

 其中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
相關文章
相關標籤/搜索