Ответ
Network Interface Controller (NIC), или сетевой адаптер, — это аппаратный компонент (или его виртуальная эмуляция), который обеспечивает подключение узла (сервера, виртуальной машины) к сети. С точки зрения DevOps, управление NIC — это базовая операция при настройке инфраструктуры.
Основные функции и задачи, с которыми я работаю:
-
Настройка сетевого стека: Присвоение IP-адресов, маски, шлюза, DNS.
# Современный способ (iproute2) sudo ip addr add 192.168.1.10/24 dev eth0 sudo ip link set eth0 up sudo ip route add default via 192.168.1.1 # Или через традиционный ifconfig (устаревший) sudo ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up -
Агрегация каналов (Bonding/LAG) для отказоустойчивости и увеличения пропускной способности:
# Пример конфигурации bond-интерфейса в Linux (mode=802.3ad LACP) sudo nmcli con add type bond con-name bond0 ifname bond0 mode 802.3ad sudo nmcli con add type ethernet slave-type bond con-name bond0-port1 ifname eth0 master bond0 sudo nmcli con add type ethernet slave-type bond con-name bond0-port2 ifname eth1 master bond0 -
Создание VLAN-интерфейсов для сетевой сегментации:
sudo ip link add link eth0 name eth0.100 type vlan id 100 sudo ip addr add 10.0.100.5/24 dev eth0.100 sudo ip link set eth0.100 up -
Мониторинг и диагностика: Просмотр статистики (пакеты, ошибки, сбросы).
cat /sys/class/net/eth0/statistics/rx_packets ip -s link show eth0 ethtool -S eth0 # Подробная статистика от драйвера
Важность в DevOps-контексте:
- В облачных средах (AWS, GCP, Azure) мы работаем с виртуальными NIC (vNIC), которые настраиваются через метаданные или инструменты вроде
cloud-init. - В инфраструктуре, управляемой кодом (IaC), конфигурация NIC описывается в Terraform/OpenTofu (например, настройка сетевых интерфейсов для инстансов в AWS) или в образах Packer.
- Понимание работы NIC необходимо для тюнинга производительности (настройка MTU, offloading функций на аппаратный адаптер) и диагностики сетевых проблем.