web-dev-qa-db-ja.com

すべての背後にあるミニオンでSaltStackを使用する方法NAT(公開されていない、デフォルトのソルトポートが開いていない)?

ソルトスタックミニオンは、すべてのコンシューマー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つのオプションは次のいずれかです。

  1. リバースsshトンネルとbashスクリプトを使用します。私はこれをテストしました、そしてそれは働きます。しかし、レポートなどは取得できません。SaltStackを使用して取得します。

  2. salt Stack(または同様の)管理ツールを使用します。しかし、私は本当にシンプルなツールが必要です。私は大きな学習曲線にいつでも投資することはできません。

Puppetと関連ツールの束を見ました。私が(今のところ)十分にシンプルに見えるのはソルトスタックだけでした。しかし、上記のように、私のミニオンがソルトマスターに到達できないため、私は今立ち往生しています。

提案に感謝します。

5
MountainX

答えは「それはうまくいく」です。 (マスターまたはミニオンの)構成ファイルを変更する必要はありません。 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

本当に、それはとても簡単です。

6
MountainX

Httpおよびhttpsポートでの発信接続を許可するあらゆる種類のファイアウォールを介してミニオンの接続を取得するには、マスターでこれを使用します。

publish_port: 80
ret_port: 443

そしてこれは手先に:

publish_port: 80
master_port: 443

私はまだ名前が紛らわしいと思います-マスターのpublish_portがミニオンのmaster_portに対応すると思います-しかし、それはそうです。

0
Thomas