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