Каждый системный администратор должен знать, как выполняется настройка сети CentOS, поскольку это одна из самых популярных операционных систем для серверного оборудования. Благодаря открытому коду её легко адаптировать под нужды компании, в том числе для развертывания виртуальных или выделенных серверов. В этой статье мы рассмотрим базовые параметры, основные способы подключения к Интернету и дополнительные возможности для CentOS 6, 7 и 8.
Чтобы корректно выполнить в CentOS сетевые настройки, сначала нужно понять, как сеть работает.
В основе лежит принцип обмена информацией между устройствами. Данные отправляются пакетами, в которых дополнительно указаны 2 типа адресов.
Когда компьютер подключается к локальной сети, обмен данными выполняется через обращение к MAC-адресу. С другими компьютерами, подключённым к глобальной сети, он может связаться только после получения IP-адреса.
Получают его с помощью протокола DHCP – протокола динамической настройки узла. Процесс состоит из трёх этапов.
Таким образом, настройка Linux CentOS после установки предполагает налаживание и проверку нескольких параметров.
Управление в CentOS выполняется с помощью команд.
ip a – просмотр перечня установленных сетевых интерфейсов.
sudo systemctl restart networking – в 7 версии CentOS перезапуск сети.
systemctl restart network – в CentOS 8 или Stream 8 перезапуск сети.
Пользователь может выполнить настройку сети уже при установке дистрибутива CentOS. Для этого нужно выбрать раздел «Сеть и имя узла».
В левой части экрана увидите список доступных интерфейсов и можете выбрать нужный. В правой части экрана нажмите кнопку «Настроить».
В следующем окне откройте вкладку «Параметры IPv4». Выбирайте метод «Вручную» и кликните по кнопке «Добавить». Введите подходящие параметры и нажмите «Сохранить».
Для начала нужно понять, какие интерфейсы доступны. Для этого вводим команду «ip a» и получаем ответ.
В нашем случае доступно 2 интерфейса:
lo – локальная петля;
enp0s3 – сетевой адаптер Ethernet.
Дальше в CentOS настройка сетевого интерфейса выполняется через конфигурационные файлы, названия которых начинается с приставки «ifcfg». Найти их можно в каталоге /etc/sysconfig/network-scripts/
Рассмотрим процесс на примере файла ifcfg-enp0s3.
Откройте его в редакторе nano (при желании можно использовать другой редактор).
nano /etc/sysconfig/network-scripts/ifcfg-enp0s3
Увидите несколько параметров.
DEVICE — название сетевого интерфейса.
TYPE — тип интерфейса.
BOOTPROTO — способ назначения IP-адреса.
ONBOOT — запуск интерфейса при включении сервера.
IPADDR — IP-адрес.
NETMASK — маска.
GATEWAY — шлюз.
Эти параметры нужно подкорректировать, укажите следующие значения.
DEVICE=enp0s3
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.0.0
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
Сохраните изменения с помощью сочетания клавиш «Ctrl+X», затем нажмите «Y». Перезапустите сеть.
Чтобы создать новый интерфейс, добавьте в конфигурационный файл их значения, а потом перезапустите службу.
# cp /etc/sysconfig/network-scripts/ifcfg-eno2 /etc/sysconfig/network-scripts/ifcfg-eno3
# vi /etc/sysconfig/network-scripts/ifcfg-eno3
# systemctl restart network
Чтобы наладить соединение и убедиться, что всё работает корректно, нужно проверить основные параметры.
IP-адрес
В данном случае мы уже задали статический IP-адрес в консоли. Чтобы его узнать или проверить, нужно ввести одну из двух команд.
# ifconfig | grep inet
# ifconfig | grep inet
Есть возможность настроить получение анонсов по DHCP. Для этого в конфигурационном файле поменяйте значение параметра BOOTPROTO на «dhcp» и перезагрузите интерфейс. Теперь для подключения можно зайти в веб-консоль. В разделе серверы и оборудование нажмите на значок консоли.
В следующей вкладке задайте значения сервера и введите команду «ip address». В строке с обозначением интерфейса eno1 увидите динамический IP-адрес.
В одном интерфейсе можно использовать несколько IP-адресов. Чтобы внести изменения, откройте /etc/sysconfig/network-scripts/ifcfg-eno1.
Удалите переменную IPADDR и добавьте вместо неё IPADDR1 и IPADDR2. Перезагрузите сервер.
DNS
DNS-серверов может использоваться несколько: основной будет называться DNS1, а дополнительные с добавлением переменных (DNS2, DNS3 и другие).
В CentOS настройка DNS выполняется в конфигурационном файле. Открываем /etc/sysconfig/network-scripts/ifcfg-eno1 и указываем DNS1="82.148.21.1". После перезагрузки адрес DNS-сервера можно посмотреть в «/etc/resolv.conf».
# grep "nameserver" /etc/resolv.conf
Если здесь содержатся данные о DNS-сервере, то настройка выполнена корректно.
Hostname
Обычно имя сервера присваивается автоматически – localhost.localdomain. Но допустимо задавать другие названия. Чтобы hostname изменить, нужно ввести
# vi /etc/hostname
Curie
# hostname – это команда для проверки настроек. Если имя хоста совпадает, всё сделали правильно.
За настройку шлюза отвечает переменная GATEWAY. Мы уже рассматривали, как задать его вручную через консоль. А команда «netstat -nr» возвращает его первоначальный адрес.
IPv6
Чтобы сэкономить ресурсы, допустимо отключить протокол IPv6. Для этого откройте файл /etc/sysctl.conf и впишите дополнительные строки.
# vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
Изменения нужно применить.
# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
В файле /etc/sysconfig/network тоже нужно дописать 2 строки.
# vi /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no
Теперь откройте файл /etc/default/grub. В параметре GRUB_CMDLINE_LINUX допишите
ipv6.disable=1
Сохраните файл, обновите GRUB. Перезагрузите сервер.
Статический маршрут
Для управления маршрутизацией может возникнуть необходимость настроить статический маршрут, так называется заданный путь, по которому проходит информация в сети.
Проверить доступные маршруты можно через консоль с помощью команды
# netstat -nr
В результате система выдаст ответ.
В примере маршрут указан к адресу 0.0.0.0/0.0.0.0 и указан шлюз по умолчанию, а статические маршруты отсутствуют. Нужно его добавить, ориентируясь на подсеть и маску.
# route add -net 192.168.8.0/24 gw 192.168.159.5
Однако новые настройки сбрасываются в случае перезагрузки, поэтому их нужно прописывать в конфигурации. Для этого создаём файл с названием route-eth0 в папке /etc/sysconfig/network-scripts. Затем указываем параметры.
# mcedit /etc/sysconfig/network-scripts/route-eth0
192.168.8.0/24 via 192.168.159.5
Выполняем перезагрузку и проверку.
Настройка сети в CentOS через Network Manager
В CentOS предусмотрена специальная утилита Network Manager для управления сетевыми соединениями. Её особенностью является графический интерфейс, благодаря которому упрощается процесс настройки.
Открывается Network Manager с помощью команды «nmtui». Откроется псевдо-GUI интерфейс, где можно задать актуальные настройки. То есть можно пользоваться не только клавиатурой, но ещё и мышью.
Кроме того, управление можно осуществлять с помощью утилиты CLI (интерфейс командной строки). Например, для интерфейса с названием «eno1» будут актуальны следующие команды для настройки IP-адреса, шлюза и DNS-сервера.
# nmcli con mod eno1 ipv4.addresses 82.148.21.49/24
# nmcli con mod eno1 ipv4.gateway 82.148.21.1
# nmcli con mod eno1 ipv4.dns "8.8.8.8
Мы рассмотрели необходимые параметры для базовой настройки сети. Этого достаточно, чтобы начать работу и обеспечить корректный обмен данными через Интернет.
Настроить сеть можно через консоль или утилиту Network Manager. Процесс несложный даже для новичков. Но всё же для работы с CentOS желательно иметь хотя бы минимальные знания в области информационных технологий.