确定IP地址是公共的还是私人的,用于厨师食谱

时间:2012-09-14 16:44:20

标签: chef opensolaris recipe smartos

我正在使用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规则,我需要有两类不同的规则。应用于公共接口的规则,然后将不同的集应用于专用接口。我应该通过json配置文件将所有接口传递给chef,而不是在食谱中将其计算出来吗?

1 个答案:

答案 0 :(得分:0)

ohai在运行时生成属性数据。

特别是你可能对

感兴趣

$ sudo ohai network/interfaces

和相关的

node["network"]["interfaces"]

您仍然必须拒绝RFC1918 inet4地址,并检查inet6的链接范围是否为全局