1

Chef を使用して、さまざまな SmartOS ゾーンの展開を自動化しています。ネットワーク インターフェイスにパブリック アドレスまたはプライベート アドレスがあるかどうかを判断し、それを追跡する正しい方法を理解しようとしています。一般的な Apache Listen および NameVirtualHost ディレクティブの場合は、次で十分です。

ips = []
links = %x{dladm show-vnic -o link | grep -v LINK}.strip.split("\n")
links.each do |link|
  ips << %x{ifconfig #{link} | grep inet | awk '{ print $2 }'}.strip
end

ipfilter ルールの場合、2 つの異なるクラスのルールが必要です。パブリック インターフェイスに適用され、別のセットをプライベート インターフェイスに適用するルール。レシピ内でそれを理解するのではなく、json 構成ファイルを介してすべてのインターフェイスをシェフに渡す必要がありますか?

4

1 に答える 1

0

ohaiは実行時に属性データを生成します。

特にあなたは興味があるかもしれません

$ sudo ohai network/interfaces

および関連する

node["network"]["interfaces"]

それでもRFC1918inet4アドレスを拒否し、リンクスコープがinet6に対してグローバルであることを確認する必要があります。

于 2012-11-23T13:54:23.950 に答える