Настройка сети в CentOS 7
Содержание
- Статический IP-адрес в CentOS 7
- Настройки DHCP в CentOS 7
- Настройки DNS в CentOS 7
- Перезапуск сетевого сервиса в CentOS 7
- Изменение имени сервера (hostname) в CentOS 7
- Настройки шлюза в CentOS 7
- Настройки сети из консоли
- Исключение IPv6 в CentOS 7
- Несколько IP адресов на одном интерфейсе в CentOS 7
- Настройки нескольких сетевых интерфейсов в CentOS 7
- Настройки интерфейсов в CentOS 7 через Network Manager (утилиты nmtui и nmcli)
- Заключение
Сетевые настройки — первое, что нужно сделать после создания сервера для его взаимодействия с внешним миром. В этой статье детально рассмотрим как настраивать сеть в CentOS 7.
Сетевые настройки в CentOS могут выполняться как в графическом интерфейсе, так и через командную строку. Ниже разберем настройку сетевых компонентов путем ввода команд в терминале.
Для примера используем выделенный сервер. Выделенные серверы заказываются в представлении «Серверы и оборудование».
После нажатия на кнопку «Заказать сервер» появится представление с характеристиками заказываемого сервера. Можно настроить свои параметры или выбрать готовую конфигурацию. Для демонстрации выберем готовую конфигурацию.
После выбора готового сервера останется выбрать устанавливаемую операционную систему. Настройку сети будем выполнять в CentOS 7.
О включении сервера можно узнать при получении письма с параметрами доступа или в интерфейсе веб-консоли управления Selectel. Созданный сервер имеет приведенные ниже характеристики.
Теперь можно подключиться к серверу по SSH и просмотреть сетевые интерфейсы, созданные по умолчанию. В выводе команды ip address получим нумерованный список интерфейсов.
Внешний сетевой интерфейс, через который было выполнено текущее SSH-подключение, имеет порядковый номер 2 и называется eno1. Интерфейсу для примера был присвоен статический ip-адрес 82.148.21.49.
Далее мы расскажем об изменении конфигурации сети в CentOS 7.
Статический IP-адрес в CentOS 7
Конфигурация сетевого интерфейса хранится в /etc/sysconfig/network-scripts в соответствующем файле с префиксом ifcfg (там же конфигурационные файлы других интерфейсов). Посмотрим на него.
Что можно понять из этих характеристик? Ниже расскажем о каждом параметре.
- NAME — имя сетевого адаптера, оно такое же, как и имя в операционной системе.
- ONBOOT — указание на тип запуска сетевого интерфейса. При текущих настройках сетевой интерфейс запускается автоматически. В случае со значением no интерфейс нужно будет запускать вручную.
- BOOTPROTO — указание на тип назначения IP-адреса. В текущих настройках static, но возможны опции dhcp, none или пустое значение.
- HWADDR — переменная, хранящая MAC-адрес.
- IPADDR — установленный на интерфейсе IP-адрес.
- NETMASK — установленная на интерфейсе маска подсети.
- GATEWAY — указание на шлюз.
- TYPE — тип интерфейса. В нашем случае — Ethernet.
Отредактируем значение поля IPADDR:
После внесения изменений перезагрузим сетевой сервис. Иначе изменения применятся только после рестарта сервера.
После выполнения этой команды сетевое подключение отключится. Снова выполняем подключение по SSH по новому IP-адресу и проверяем новые настройки:
Статический IP-адрес настроен, сервер доступен по новому адресу.
Настройки DHCP в CentOS 7
Чтобы настроить получение анонсов по DHCP, в /etc/sysconfig/network-scripts/ifcfg-eno1 необходимо удалить переменные IPADDR, NETMASK, GATEWAY, а в BOOTPROTO указать значение «dhcp».
Перезагружаем сетевой сервис:
Сетевое соединение по SSH отключится. Чтобы посмотреть новый IP-адрес сервера, подключимся к нему через веб-консоль KVM Selectel. Нажимаем на иконку консоли.
В новой вкладке браузера вводим учетные данные сервера и выполняем уже знакомую команду ip address. В выводе команды напротив интерфейса eno1 будет его динамический IP-адрес.
Теперь можно подключаться по SSH по новому IP-адресу.
Настройки DNS в CentOS 7
Чтобы настроить DNS, изменим /etc/sysconfig/network-scripts/ifcfg-eno1 и пропишем туда переменную DNS1 (если нужно добавить дополнительные DNS-серверы, допускается добавление переменных DNS2, DNS3 и т.д.)
Следом перезагрузим сеть:
По итогам перезагрузки адрес DNS-сервера должен автоматически оказаться в /etc/resolv.conf:
Наличие в файле заданного DNS-сервера говорит о корректности его настройки.
Перезапуск сетевого сервиса в CentOS 7
Перезапуск сети выполняется одной командой:
После изменения сетевых настроек и для вступления их в силу необходимо выполнить эту команду.
Изменение имени сервера (hostname) в CentOS 7
После создания сервера через панель управления Selectel ему присваивается имя localhost.localdomain, при аренде выделенного сервера в Selectel имя ему присвоено автоматически:
Сверим примененные настройки:
Имя хоста изменено.
Настройки шлюза в CentOS 7
За соответствующие настройки отвечает переменная GATEWAY в /etc/sysconfig/network-scripts/ifcfg-eno1. Чтобы изменить адрес шлюза, достаточно изменить значение этой переменной и перезагрузить сетевую службу:
Вызов команды netstat -nr вернет актуальный адрес используемого шлюза:
Таким образом, мы задали адрес сетевого шлюза.
Настройки сети из консоли
Кроме модификации файлов с конфигурацией, настройки сети могут быть изменены командами в консоли. Консольные настройки выполняются для проведения тестов и будут работать только до перезагрузки системы. Для выполнения всех консольных сетевых настроек используется уже известная команда ip address (или ее сокращенная версия ip a).
Применим к eno2 новый IP-адрес и проверим:
Изменим маску подсети и снова проверим:
Добавим маршрут по умолчанию:
Удалим маршрут по умолчанию:
Удалим привязанный ранее IP-адрес и проверим:
Еще раз обращаем внимание, что все приведенные в этом разделе настройки действуют до перезагрузки сервера.
Исключение IPv6 в CentOS 7
IPv6-адресация на текущий момент используется редко, хотя и было много разговоров об исчерпании емкостей адресов IPv4. Отключение IPv6 помогает экономить ресурсы и избежать путаницы. В этом разделе расскажем, как отключить на сервере поддержку этого протокола.
Начнем настройку с изменений в файле /etc/sysctl.conf. Внесем в него две дополнительных строки:
Следующий шаг — применение конфигурационных изменений:
В /etc/sysconfig/network прибавим 2 строки:
В конфигурационный файл /etc/default/grub к концу строки GRUB_CMDLINE_LINUX нужно добавить ipv6.disable=1
После выполнения изменений нужно сохранить файл и обновить GRUB:
Далее — перезагрузка сервера:
После перезагрузки проверим конфигурацию, значения с префиксом inet6 должны пропасть:
Протокол IPv6 успешно отключен.
Несколько IP адресов на одном интерфейсе в CentOS 7
Для настройки нескольких IP-адресов на одном интерфейсе внесем изменения в /etc/sysconfig/network-scripts/ifcfg-eno1, добавив переменные IPADDR1 и IPADDR2 и удалив IPADDR:
После перезагрузки сетевого сервиса изменения вступят в силу:
Еще один IP-адрес может понадобиться для поддержки нескольких сервисов в рамках одного сервера.
Настройки нескольких сетевых интерфейсов в CentOS 7
Команда ip a вернет состояние всех имеющихся сетевых интерфейсов:
В этом выводе можно видеть три интерфейса: служебный lo, а также интерфейсы eno1 и eno2.
В /etc/sysconfig/network-scripts в соответствующих файлах хранится конфигурация каждого интерфейса:
Для управления каждым из них вносятся значения переменных в соответствующий конфигурационный файл:
Чтобы добавить новый интерфейс, достаточно создать в этой же директории соответствующий конфигурационный файл, внести в него настройки и выполнить перезапуск сетевой службы:
Таким образом, мы создали дополнительный интерфейс.
Настройки интерфейсов в CentOS 7 через Network Manager (утилиты nmtui и nmcli)
Еще одним способом настроить сеть в CentOS 7 является настройка через утилиту Network Manager. Она может выполняться в GUI и через CLI. Для вызова графического интерфейса необходимо выполнить команду nmtui. Откроется псевдо-GUI интерфейс, в котором можно выполнять те же настройки, что и в командной строке:
Network Manager через CLI управляется при помощи утилиты nmcli. Ниже приведены команды для изменения IP-адреса, шлюза и DNS-сервера для сетевого интерфейса eno1:
Утилита Network Manager имеет широкий функционал и может использоваться как полная замена штатным инструментам для настройки сети в CentOS 7.
Заключение
Мы рассказали о различных подходах к настройке сети в CentOS 7. Этого достаточно для базовой настройки коммуникации сервера с внешними устройствами.
При заказе сервера у облачного провайдера важно проверить сетевые настройки и иметь понимание структуры конфигурационных файлов и их содержимого. Это будет полезно для тонкой настройки сетевых компонентов сервера на базе CentOS 7 для решения поставленных задач.
Источник: