Настройка сети Linux: полное руководство

Линукс - мощная и гибкая операционная система для настройки сети. Но новичкам бывает сложно разобраться в тонкостях конфигурации. Это подробное руководство поможет настроить сеть в Linux с нуля, используя примеры популярных дистрибутивов.

Обзор сетевых интерфейсов Linux

В Linux для доступа к сетевым картам используются специальные интерфейсы. Это не файлы устройств в каталоге /dev, а динамически создаваемые объекты для сетевого взаимодействия. Существует несколько типов интерфейсов:

  • Ethernet - для проводных сетевых карт
  • PPP - для соединений по модему или VPN
  • Loopback (lo) - виртуальный интерфейс для локального хоста

Имена интерфейсов в Linux традиционно состоят из мнемонического типа и порядкового номера. Например, карты Ethernet доступны как eth0, eth1 и т.д. В системах с systemd есть другие правила именования - например, enp2s0.

Просмотреть все доступные интерфейсы можно командами:

  • ifconfig -a
  • ip link
  • lshw (показывает дополнительные характеристики оборудования)

Порядок нумерации интерфейсов определяется подсистемой udev, на основе правил в /etc/udev/rules.d/70-persistent-net.rules. Если нужно назначить картам желаемые имена вручную, можно отредактировать этот файл.

Временная настройка IP в Linux

Для быстрой временной конфигурации IP-адреса и шлюза в Linux удобно использовать утилиту ip из пакета iproute2. Такие настройки не сохраняются после перезагрузки, но позволяют протестировать сеть:

# ip addr add 10.10.0.5/24 dev enp1s0
# ip route add default via 10.10.0.1

DNS сервера для временной конфигурации можно указать в файле /etc/resolv.conf.

Чтобы убрать все настройки с интерфейса, используется опция flush:

# ip addr flush dev enp1s0

DHCP и статические IP в Linux

Для настройки динамических IP-адресов в Ubuntu и Debian часто используется Netplan. Конфигурация DHCP будет выглядеть так:

network: version: 2 ethernets: enp1s0: dhcp4: true

А для статического IP потребуются дополнительные параметры:

network: version: 2 ethernets: enp1s0: addresses: [10.10.0.55/24] gateway4: 10.10.0.1 nameservers: addresses: [10.10.0.11, 10.10.0.12]

После внесения изменений конфигурация применяется командой:

# netplan apply

Настройка DNS и Hosts в Linux

Конфигурация DNS в современных дистрибутивах Linux часто обрабатывается службой systemd-resolved. Для настройки DNS серверов достаточно добавить их IP адреса в файл конфигурации Netplan:

network: version: 2 ethernets: eno 1: addresses: [192.168.1.10/24] gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.11, 1.1.1.1]

Также в конфигурации Netplan можно указать домены поиска через опцию "search":

search: [mycompany.local, otherdomain.com]

Статические сопоставления хостов определяются в файле /etc/hosts. Они имеют приоритет над DNS:

192.168.1.15 server1 server1.mydomain.com 192.168.1.16 gitlab gitlab.mydomain.com

Astra linux настройка сети

В дистрибутиве Astra Linux настройка сети также может выполняться с помощью Netplan. Например, конфигурация статического IP будет выглядеть так:

network: version: 2 ethernets: enp0s25: addresses: [192.168.88.77/24] gateway4: 192.168.88.1 nameservers: addresses: [192.168.88.11]

После настройки применяем изменения командой netplan apply.

Также в Astra Linux можно использовать старый метод через интерфейсы в /etc/network/interfaces.

Linux mint настройка сети

Дистрибутив Linux Mint основан на Ubuntu, поэтому конфигурация сети во многом схожа. Также используется Netplan для настройки статических и динамических IP-адресов.

Отличие в том, что в Mint по умолчанию активен менеджер сети NetworkManager с графическим интерфейсом. Это упрощает настройку для новичков.

Тем не менее, опытные пользователи могут отключить NetworkManager и настраивать сеть через командную строку и конфиги, как в Ubuntu.

Настройка брандмауэра и разделение сетей

После базовой настройки сетевых параметров, часто требуется дополнительная конфигурация брандмауэра (firewall) и разделение сегментов сети для безопасности.

В Linux это чаще всего выполняется при помощи iptables. Например, для разрешения только входящего SSH соединения:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Также iptables может использоваться для организации мостов и фильтрации трафика между разными сегментами локальной сети.

Kali linux настройка сети

В популярном дистрибутиве Kali Linux для пентестеров также используется Netplan для конфигурации сети. Процесс практически не отличается от остальных вариантов на базе Debian/Ubuntu.

Однако в Kali уже предустановлено множество инструментов для анализа сети и безопасности, таких как Nmap, Wireshark, а также фреймворки для сканирования уязвимостей. Это избавляет от необходимости установки дополнительных пакетов после настройки сети.

Использование iptables

Iptables - мощный инструмент для фильтрации сетевого трафика и контроля доступа в Linux. С его помощью можно разрешить или запретить определенные сетевые подключения.

Например, чтобы открыть входящие подключения к ssh с любых IP-адресов, используется правило:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

А чтобы закрыть входящие подключения к порту 8080 от определенного IP, пишем:

iptables -A INPUT -p tcp --dport 8080 -s 123.45.67.89 -j DROP

Разделение сетей с помощью iptables

Iptables может применяться не только для фильтрации трафика, но и для организации межсетевых экранов между различными сегментами локальной сети.

Это позволяет повысить безопасность, разделив сеть на зоны - например, отдельно серверы баз данных, рабочие станции, wifi для гостей и так далее. Между зонами фильтруется весь трафик за исключением необходимого.

Сетевые мосты на базе iptables

Еще один полезный вариант применения iptables - организация сетевых мостов. Это позволяет объединить интерфейсы из разных сетей в один мост.

Например, можно настроить мост между интерфейсами Ethernet и VPN. Таким образом устройства из проводной локальной сети смогут общаться с узлами из сети VPN напрямую.

Сохранение правил iptables

Правила firewall в iptables не сохраняются после перезагрузки системы. Поэтому их необходимо сначала зафиксировать с помощью утилиты iptables-save:

# iptables-save > /etc/iptables.rules

А затем настроить автозагрузку этих правил при старте системы:

#iptables-restore /etc/iptables.rules

Мониторинг сетевой активности

После настройки сети и правил фильтрации трафика, часто бывает нужно отслеживать активные подключения и анализировать сетевые данные. Для этих целей в Linux есть несколько полезных команд и утилит:

  • netstat - отображает активные сетевые соединения
  • tcpdump - утилита для перехвата и анализа пакетов
  • nmap - сканер портов и сетей
  • Wireshark - анализатор пакетов с GUI

Использование nmap

Nmap - мощный инструмент командной строки для сканирования сетей и портов, позволяющий проанализировать доступные хосты и запущенные сервисы.

Например, команда для сканирования всех портов локальной подсети:

nmap -v -sS 192.168.1.0/24

Также в nmap есть множество опций для сканирования конкретных портов, использования шаблонов, вывода в разных форматах и так далее.

Трафик в реальном времени с Wireshark

Wireshark - это графический анализатор пакетов, который позволяет "подслушивать" трафик в реальном времени и анализировать отдельные пакеты по всем протоколам.

Интерфейс Wireshark дает наглядное представление о проходящем трафике в сети, отображает содержимое пакетов разных типов, позволяет фильтровать данные с учетом различных критериев.

Wireshark имеет очень гибкую систему фильтров для отбора нужных пакетов. Можно фильтровать по IP, MAC-адресам, номерам портов и многим другим параметрам.

Комментарии