ソルトスタックミニオンは、すべてのコンシューマーNATルーターでデフォルトで開かれる標準ポートを使用して(ミニオンにパブリックDNSがない場合)、NAT /ファイアウォールなどの背後からソルトマスターと通信できますか?レコードまたは静的IP)?
私は最初のソルトチュートリアルを進めていますが、これが行き詰まっています。
Ubuntuソルトマスターでiptablesを設定できます。しかし、私は手先が後ろに座るルーター/ NATを制御できません。
これまでのところ、私はこれらの設定を試しました:
/ etc/salt/master:
publish_port: 465
ret_port: 443
/ etc/salt/minion:
master_port: 465
それはうまくいきませんでした。
現在、約40台のKubuntuラップトップで実行されているカスタム開発のアプリケーションがあります(さらに計画されています)。数か月ごとにアプリケーションを更新する必要があります。 (多くの場合、これは.jarファイルを置き換えるだけで、ルート権限が必要です。)また、Ubuntuの更新とその他いくつかの小さなことを実行する必要があります。 Team Viewerを使用して各クライアントにログインし、手動で1つずつ実行しています。
このプロセスを劇的に改善したいと思います。私が知っている2つのオプションは次のいずれかです。
リバースsshトンネルとbashスクリプトを使用します。私はこれをテストしました、そしてそれは働きます。しかし、レポートなどは取得できません。SaltStackを使用して取得します。
salt Stack(または同様の)管理ツールを使用します。しかし、私は本当にシンプルなツールが必要です。私は大きな学習曲線にいつでも投資することはできません。
Puppetと関連ツールの束を見ました。私が(今のところ)十分にシンプルに見えるのはソルトスタックだけでした。しかし、上記のように、私のミニオンがソルトマスターに到達できないため、私は今立ち往生しています。
提案に感謝します。
答えは「それはうまくいく」です。 (マスターまたはミニオンの)構成ファイルを変更する必要はありません。 NATやミニオンのファイアウォールについて心配する必要はありません。
ただし、マスターでは、ファイアウォールで2つのポートを開く必要があります。私はこれを次の方法で達成しました:
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
ミニオンで、「salt」という名前をマスターのIPアドレスにポイントするエントリを/ etc/hostsに追加します。例:
root@minion2:~# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
111.222.333.444 salt salt.example.com
本当に、それはとても簡単です。
Httpおよびhttpsポートでの発信接続を許可するあらゆる種類のファイアウォールを介してミニオンの接続を取得するには、マスターでこれを使用します。
publish_port: 80
ret_port: 443
そしてこれは手先に:
publish_port: 80
master_port: 443
私はまだ名前が紛らわしいと思います-マスターのpublish_port
がミニオンのmaster_port
に対応すると思います-しかし、それはそうです。