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 规则,我需要有两类不同的规则。应用于公共接口然后将不同的集合应用于私有接口的规则。我应该通过 json 配置文件将所有接口传递给厨师,而不是在食谱中弄清楚吗?

4

1 回答 1

0

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

特别是您可能感兴趣

$ sudo ohai network/interfaces

和相关的

node["network"]["interfaces"]

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

于 2012-11-23T13:54:23.950 回答