15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать
01.11.2024

Как настроить сетевые параметры в CentOS: полное пошаговое руководство

Настройка сетевых параметров в CentOS — одна из самых фундаментальных задач для любого системного администратора. Независимо от того, настраиваете ли вы недавно развернутую среду VPS Hosting или управляете Dedicated Server, правильная настройка сетевых интерфейсов — это критически важный первый шаг к стабильному, подключенному и готовому к работе серверу.

Это подробное руководство проведет вас через все, что вам нужно знать: определение сетевых интерфейсов, назначение статических IP-адресов, настройку DHCP, перезагрузку сетевых служб, проверку подключения и решение наиболее распространенных проблем с сетью на системах CentOS.

Содержание

  1. Понимание сетевых интерфейсов в CentOS
  2. Определение доступных сетевых интерфейсов
  3. Настройка статического IP-адреса
  4. Настройка DHCP (динамическое назначение IP-адресов)
  5. Перезагрузка сетевой службы
  6. Проверка конфигурации сети
  7. Устранение неполадок с сетью
  8. Заключение

1. Понимание сетевых интерфейсов в CentOS {#understanding-network-interfaces}

В CentOS (версии 7 и 8) сетевые интерфейсы управляются через файлы конфигурации, хранящиеся в следующем каталоге:

/etc/sysconfig/network-scripts/

Каждый сетевой интерфейс имеет отдельный файл конфигурации с именем, следующим соглашению:

ifcfg-<interface_name>

Где <interface_name> — это идентификатор, присвоенный интерфейсу операционной системой. Распространенные примеры включают:

Имя интерфейсаОписание
eth0Традиционное имя интерфейса Ethernet
ens33Предсказуемое имя сетевого интерфейса (VMware/виртуальный)
ens3Распространено в виртуальных машинах на основе KVM
enp0s3Ethernet на основе PCI (VirtualBox, bare metal)

> Примечание: CentOS 7 и более поздние версии по умолчанию используют «предсказуемые имена сетевых интерфейсов» (например, ens33, enp3s0) вместо устаревшего соглашения об именовании eth0. Это улучшает согласованность при перезагрузках и изменениях оборудования.

Понимание этой структуры необходимо перед внесением каких-либо изменений в конфигурацию. Редактирование неправильного файла или использование неправильных параметров может привести к потере сетевого подключения — особенно критичная проблема при управлении удаленными серверами.

2. Определение доступных сетевых интерфейсов {#identifying-network-interfaces}

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

Шаг 1: Доступ к терминалу

Подключитесь к серверу через SSH или получите прямой доступ к терминалу, если у вас есть физический доступ или доступ через консоль:

ssh user@your-server-ip

Шаг 2: Список всех сетевых интерфейсов

Выполните следующую команду для отображения всех доступных сетевых интерфейсов вместе с их IP-адресами и статусами:

ip addr

Пример вывода:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
    link/ether 00:0c:29:ab:cd:ef brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.105/24 brd 192.168.1.255 scope global dynamic ens33

Кроме того, вы можете использовать более старую команду ifconfig (требует пакет net-tools):

ifconfig -a

Или выведите только имена интерфейсов с помощью:

ip link show

Запомните имя интерфейса, который вы хотите настроить (например, ens33), прежде чем переходить к следующему разделу.

3. Настройка статического IP-адреса {#configuring-static-ip}

Назначение статического IP-адреса — это рекомендуемый подход для серверов, так как гарантирует, что IP-адрес никогда не изменится неожиданно — что критично для записей DNS, правил брандмауэра и стабильности удаленного доступа.

Шаг 1: Откройте файл конфигурации сетевого интерфейса

Используйте текстовый редактор, такой как nano или vi, чтобы открыть файл конфигурации для вашего интерфейса. Замените ens33 на имя вашего интерфейса:

sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33

Шаг 2: Добавьте или измените параметры конфигурации

Файл может уже содержать некоторые параметры. Обновите или добавьте следующие строки для настройки статического IP-адреса:

DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

Разбор параметров:

ПараметрОписание
DEVICEИмя сетевого интерфейса
TYPEТип интерфейса (обычно Ethernet)
BOOTPROTOУстановите на none для назначения статического IP
ONBOOTУстановите на yes для активации интерфейса при загрузке
IPADDRВаш желаемый статический IP-адрес
NETMASKМаска подсети для вашей сети
GATEWAYШлюз по умолчанию (IP-адрес вашего маршрутизатора)
DNS1Основной DNS-сервер (Google: 8.8.8.8)
DNS2Вторичный DNS-сервер (Google: 8.8.4.4) — опционально

> Важно: Замените примеры значений (192.168.1.100, 192.168.1.1 и т. д.) на фактические значения, предоставленные вашей сетью или хостинг-провайдером.

Вы также можете использовать нотацию CIDR с параметром PREFIX вместо NETMASK:

PREFIX=24

Это эквивалентно NETMASK=255.255.255.0.

Шаг 3: Сохраните и выйдите

Если используется nano, сохраните файл, нажав:

CTRL + X → Y → Enter

Если используется vi или vim:

:wq → Enter

4. Настройка DHCP (динамическое назначение IP-адресов) {#configuring-dhcp}

Если ваша среда использует DHCP-сервер для автоматического назначения IP-адресов (распространено в средах разработки, облачных платформах или внутренних сетях), настройте интерфейс следующим образом:

Шаг 1: Откройте файл конфигурации

sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33

Шаг 2: Установите параметры DHCP

Замените существующее содержимое следующей минимальной конфигурацией DHCP:

DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=dhcp
ONBOOT=yes

Шаг 3: Сохраните и выйдите

Сохраните файл, используя тот же метод, описанный в предыдущем разделе.

> Когда использовать DHCP и статический IP: Используйте DHCP для рабочих станций, виртуальных машин разработки или временных сред. Используйте статические IP для производственных серверов, веб-серверов, серверов баз данных и любой системы, требующей согласованного, предсказуемого адреса. Если вы размещаете веб-сайты или приложения на плане Shared Web Hosting или VPS, настоятельно рекомендуется использовать статический IP.

5. Перезагрузка сетевой службы {#restarting-network-service}

После сохранения изменений конфигурации необходимо перезагрузить сетевую службу, чтобы применить их. Существует несколько методов в зависимости от вашей версии CentOS.

Метод 1: Перезагрузка всей сетевой службы (CentOS 7)

sudo systemctl restart network

Метод 2: Отключение и повторное включение интерфейса

Этот метод перезагружает только конкретный интерфейс, минимизируя нарушения для других интерфейсов:

sudo ifdown ens33 && sudo ifup ens33

Метод 3: Использование NetworkManager (CentOS 7/8)

Если NetworkManager активен в вашей системе, используйте nmcli:

sudo nmcli connection reload
sudo nmcli connection up ens33

Метод 4: Перезагрузка службы NetworkManager

sudo systemctl restart NetworkManager

> Предупреждение: Если вы подключены через SSH, перезагрузка сетевой службы временно разорвет ваше соединение. Убедитесь, что у вас есть альтернативный способ доступа к серверу (например, консоль или KVM) на случай, если новая конфигурация содержит ошибку.

6. Проверка конфигурации сети {#verifying-network-configuration}

После перезагрузки сетевой службы проверьте, что ваша конфигурация была применена правильно.

Проверьте назначенный IP-адрес

ip addr show ens33

Вывод должен отображать IP-адрес, который вы настроили под строкой inet:

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
    inet 192.168.1.100/24 brd 192.168.1.255 scope global ens33

Проверьте шлюз по умолчанию

ip route show

Вы должны увидеть строку, похожую на:

default via 192.168.1.1 dev ens33

Проверьте разрешение DNS

cat /etc/resolv.conf

Подтвердите, что ваши DNS-серверы указаны:

nameserver 8.8.8.8
nameserver 8.8.4.4

Проверьте подключение в Интернет

Пингуйте внешний хост, чтобы подтвердить сквозное подключение:

ping -c 4 google.com

Ожидаемый вывод:

PING google.com (142.250.185.46) 56(84) bytes of data.
64 bytes from lga34s32-in-f14.1e100.net: icmp_seq=1 ttl=117 time=12.4 ms
64 bytes from lga34s32-in-f14.1e100.net: icmp_seq=2 ttl=117 time=11.9 ms
...
4 packets transmitted, 4 received, 0% packet loss

Если все четыре пакета получены с потерей 0%, ваша конфигурация сети работает правильно.

Проверьте разрешение DNS отдельно

nslookup google.com

или

dig google.com

7. Устранение неполадок с сетью {#troubleshooting}

Даже опытные администраторы сталкиваются с проблемами сети. Вот наиболее распространенные проблемы и способы их решения на CentOS.

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

Симптом: Сервер теряет сетевое подключение после перезагрузки.

Причина: Параметр ONBOOT установлен на no или отсутствует в файле конфигурации.

Исправление: Откройте файл конфигурации интерфейса и убедитесь, что следующая строка присутствует и установлена правильно:

ONBOOT=yes

Затем перезагрузите сетевую службу:

sudo systemctl restart network

Проблема 2: Нет подключения в Интернет после настройки

Симптом: Интерфейс имеет IP-адрес, но вы не можете достичь внешние хосты.

Возможные причины и исправления:

  • Неправильный шлюз: Убедитесь, что GATEWAY соответствует IP-адресу вашего маршрутизатора или сетевого шлюза.
  • Неправильная конфигурация DNS: Убедитесь, что DNS1 и DNS2 установлены на действительные DNS-серверы.
  • Проблема маршрутизации: Проверьте таблицу маршрутизации с помощью ip route show и подтвердите наличие маршрута по умолчанию.
  • Физическое подключение: Если используется физический сервер, убедитесь, что сетевой кабель правильно подключен.

Проблема 3: Конфликт IP-адресов

Симптом: Сетевое подключение прерывистое или другое устройство в сети сообщает о конфликте IP.

15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать