Интерфейс ресурса
Используйте ресурс аудита Chef InSpec, чтобы проверить основные свойства сетевого адаптера, такие как имя, состояние, IP-адреса и скорость канала связи (в Мбит/с).
- В Linux платформах используется
/sys/class/net/#{iface}в качестве источника - В Windows платформах используется
Get-NetAdaptercmdlet в качестве источника - В BSD и MacOS платформах используется команда
ifconfigв качестве источника. Скорость канала связи может быть недоступна.
Доступность
Установка
Этот ресурс распространяется вместе с Chef InSpec. Вы можете использовать его автоматически.
Версия
Этот ресурс стал доступен в версии v1.0.0 Chef InSpec.
Синтаксис
Блок ресурса interface объявляет свойства сетевого интерфейса для проверки:
describe interface('eth0') do
it { should be_up }
its('speed') { should eq 1000 }
its('name') { should eq eth0 }
its('ipv4_addresses') { should include '10.0.0.5' }
end
Свойства
ipv4_address, ipv4_addresses, ipv4_addresses_netmask, ipv4_cidrs, ipv6_addresses, ipv6_cidrs, name, speed
Примеры свойств ресурса
ipv4_address
Возвращает первую ipv4_addresses запись в качестве строки. Примечание: это свойство несовместимо с ServerSpec, которое возвращает значение, включая диапазон CIDR, например, ‘10.0.0.5/32’.
its('ipv4_address') { should eq '10.0.0.5' }
ipv4_addresses
Свойство ipv4_addresses возвращает массив IP-адресов IPv4 в виде строк. Вы можете проверить, существует ли указанный адрес в указанном сетевом интерфейсе:
its('ipv4_addresses') { should include '127.0.0.1' }
ipv4_addresses_netmask
Свойство ipv4_addresses_netmask возвращает массив строк, каждая из которых содержит IP-адрес IPv4, слеш и маску сети. Вы можете проверить, существует ли указанный адрес и маска подсети в указанном сетевом интерфейсе:
its('ipv4_addresses_netmask') { should include '127.0.0.1/255.0.0.0' }
ipv6_address
Возвращает первую ipv6_address запись. Примечание: это свойство несовместимо с ServerSpec, которое возвращает значение, включая диапазон CIDR.
its('ipv6_address') { should eq '2089:98b::faeb' }
ipv6_addresses
Свойство ipv6_addresses возвращает массив строк и проверяет, существует ли указанный адрес в указанном сетевом интерфейсе:
its('ipv6_addresses') { should include '::1' }
ipv4_cidrs
Свойство ipv4_cidrs возвращает массив строк и проверяет, существует ли указанная комбинация адреса и маски подсети в указанном сетевом интерфейсе:
its('ipv4_cidrs') { should include '127.0.0.1/8' }
ipv6_cidrs
Свойство ipv6_cidrs возвращает массив строк и проверяет, существует ли указанная комбинация адреса и маски подсети в указанном сетевом интерфейсе:
its('ipv6_cidrs') { should include '::1/128' }
name
Свойство name возвращает имя интерфейса:
its('name') { should eq 'eth0' }
speed
Свойство speed проверяет скорость сетевого интерфейса в Мбит/с. Примечание: в BSD и MacOS платформах это значение может быть равно nil, так как его трудно получить надежно.
its('speed') { should eq 1000 }
Сопоставители
Полный список доступных сопоставителей см. на нашей странице сопоставителей.
be_up
Сопоставитель be_up проверяет доступность сетевого интерфейса:
it { should be_up }
exist
Сопоставитель exist проверяет существование сетевого интерфейса:
it { should exist }
have_an_ipv4_address
Сопоставитель have_an_ipv4_address проверяет, назначены ли сетевому интерфейсу какие-либо IP-адреса IPv4:
it { should have_an_ipv4_address }
have_an_ipv6_address
Сопоставитель have_an_ipv6_address проверяет, назначены ли сетевому интерфейсу какие-либо IP-адреса IPv6:
it { should have_an_ipv6_address }
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/interface/