A linux network interface (сетевой интерфейс Linux) — это важнейшая точка соединения между программным стеком сетевых функций ядра и физическим сетевым оборудованием. Он позволяет вашей операционной системе отправлять и получать данные по сети. Мы уже видели пример того, как выглядит настроенный linux interface (интерфейс Linux):
pete@icebox:~$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 1d:3a:32:24:4d:ce
inet addr:192.168.1.129 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fd60::21c:29ff:fe63:5cdc/64 Scope:Link
Понимание сетевых интерфейсов
При просмотре настроек сети вы увидите интерфейсы с именами вроде eth0 (первая Ethernet-карта), wlan0 (беспроводной интерфейс) или lo (петлевой интерфейс, loopback). Петлевой интерфейс — это специальный виртуальный интерфейс, представляющий ваш собственный компьютер, который позволяет подключаться к локально запущенным службам.
Интерфейс может находиться в состоянии «up» (включен) или «down» (выключен). Состояние «up» означает, что он активен и готов к передаче данных, в то время как «down» деактивирует его. Ключевая информация, отображаемая для каждого интерфейса, включает HWaddr (его уникальный MAC-адрес), адрес inet (его IPv4-адрес) и адрес inet6 (его IPv6-адрес), а также маску подсети и широковещательный адрес.
Устаревшая команда ifconfig
Команда ifconfig — это классический инструмент для настройки linux network interface (сетевого интерфейса Linux). При загрузке системы она обычно запускается для настройки интерфейсов на основе конфигурационных файлов. Хотя она все еще доступна во многих системах, сейчас она считается устаревшей.
Вы можете использовать ifconfig для ручного назначения IP-адреса и включения интерфейса:
ifconfig eth0 192.168.2.1 netmask 255.255.255.0 up
Вы также можете использовать связанные команды ifup и ifdown для простого включения или отключения интерфейса:
ifup eth0
ifdown eth0
Современная команда ip
Команда ip — это современная и более мощная замена для ifconfig. Это предпочтительный метод управления сетевым стеком в большинстве современных дистрибутивов Linux.
Вот несколько распространенных примеров ее использования:
Показать информацию обо всех интерфейсах:
ip link show
Показать подробную статистику для конкретного интерфейса:
ip -s link show eth0
Показать IP-адреса, назначенные интерфейсам:
ip address show
Включить или выключить интерфейс:
ip link set eth0 up
ip link set eth0 down
Добавить IP-адрес к интерфейсу:
ip address add 192.168.1.1/24 dev eth0
Файлы конфигурации сети
В то время как такие команды, как ip и ifconfig, настраивают текущее состояние интерфейса, эти изменения не являются постоянными и будут потеряны после перезагрузки. Чтобы настройки сохранялись, необходимо отредактировать конфигурационные файлы.
Распространенное местоположение этих файлов — /etc/network/interfaces. Файл etc network interfaces особенно распространен в системах на базе Debian, таких как Ubuntu. Управление debian network interfaces (сетевыми интерфейсами Debian) через этот файл позволяет определить статические IP-адреса, шлюзы и другие настройки, которые применяются автоматически при загрузке. Структура файла debian network/interfaces проста и хорошо документирована.