Настройка сети в CentOS Stream 8.3
В одной из предыдущих статей была описана настройка сетевого интерфейса с помощью утилиты NetworkManager-tui в ОС CentOS Stream 8.3. В этой статье описывается настройка в консоли.
Эта статья будет полезна в том случае, если сеть не была настроена при установке ОС.
Задача такая: необходимо настроить сеть машины в CentOS Stream 8.3 с IP-адресом 192.168.1.50/24, шлюзом 192.168.1.1 и доступом к серверам доменных имён 8.8.8.8 и 8.8.4.4
Все действия выполняются пользователем root.
Так как имя сетевого интерфейса в нашем случае enp0s3, то за его основные настройки будет отвечать файл /etc/sysconfig/network-scripts/ifcfg-enp0s3. Открываем его:
закомментируем её решёткой
и ниже под ней пропишем строчку:
Затем в самом низу файла допишем:
Содержимое файла должно быть примерно таким:
Перезапускаем сетевой интерфейс
При необходимости можно изменить /etc/hostname (прописать своё имя хоста) и /etc/hosts
В файл /etc/hostname прописываем своё имя хоста, например:
В файле /etc/hosts изменяем соответствующую строчку на:
Для того, чтобы изменение имени хоста вступили в силу без перезагрузки системы, запускаем следующую команду:
Как поменять имя сетевого интерфейса в CentOS
Бывают ситуации когда Вам необходимо поменять имя своей сетевой карты на компьютере или сервере под управлением Linux/CentOS
Это может быть вызвано отказом самой платы или каким-либо другими причинами. Разумеется это справедливо если у Вас не ноутбук, иначе необходимо обратиться в фирму по ремонту ноутбуков. А мы же продолжим наши не хитрые действия.
Сами конфигурационные файлы по настройке сетевых интерфейсов расположены по адресу:
/etc/sysconfig/network-scripts/
И имеют имя:
ifcfg-eth0
ifcfg-eth1
и так далее.
Давайте откроем тот сетевой интерфейс который необходимо изменить — будем считать, что он у нас не работает, хотя системой определяется.
Переименуем его
#mv /etc/sysconfig/network-scripts/ifcfg-eth1/etc/sysconfig/network-scripts/ifcfg-eth1.back
Откроем и приведем к следующему виду
#vi /etc/sysconfig/network-scripts/ifcfg-eth1
# 3Com Corporation 3c905C-TX/TX-M [Tornad]
DEVICE=eth1.back #Указываем имя
ONBOOT=no #Говорим, что бы тот не загружался при старте системы.
HWADDR=00:01:03:05:9d:22
#NETMASK=255.255.255.0
#IPADDR=192.168.200.25
#TYPE=Ethernet
Дальше уже работаем с новой сетевой картой, она у Вас может определиться системой как eth2
Переименуем ее
#mv /etc/sysconfig/network-scripts/ifcfg-eth2/etc/sysconfig/network-scripts/ifcfg-eth1
Вводим команду hostname, затем новые имя компьютера.
$ sudo hostname venom
Далее выполните редактирование файла:
$ sudo nano /etc/hostname
Найдите текущее имя компьютера и измените его на актуальный вариант. Сохраните изменения и закройте данный файл. Указанные действия легко выполнить посредством нехитрой комбинации клавиш. А именно:
Ctrl+C, после чего следует нажать Y и подтвердить своё действие нажатием на клавишу Enter. Так как имя компьютера прописывается в разных файлах, следует позаботиться о том, что новое значение появилось везде. Для этого редактируем еще один файл:
$ sudo nano /etc/hosts
Найдите текущее значение и измените его. Сохраните и закройте файл так, как было прописано выше.
А теперь нужно проделать завершающий штрих – проверить, какое имя хоста отображается в системе, и получилось ли его изменить. Задайте в терминале:
После выполнения перезагрузки системы можно повторить это действие.
ВАЖНО! Иногда случается так, что пользователь видит старое имя хоста после перезагрузки своего компьютера. Это значит, что новое имя не получилось задать. Но не стоит опускать руки, ведь это лишь следствие определенной причины.
Зачастую такое случается из-за NetworkManager. Если эта программа не является для вас незаменимым инструментом для работы, её можно удалить. После этого придется еще раз проделать манипуляции по изменению hostname. Но на этот раз всё должно получиться – помеха ликвидирована.
Заключение
В данном материале предложено несколько простых и рабочих способов, как изменить имя хоста в дистрибутиве Linux. Выберите подходящий вариант, придумайте имя в соответствии с указанными рекомендациями, и внесите нужные коррективы.
Для просмотра состояния и конфигурации интерфейса используйте:
Посмотреть таблицу маршрутизации:
В Red Hat Enterprise Linux (RHEL) / Fedora / CentOS существуют подготовленные сценарии для управления сетевыми интерфейсами.
Сценарии ifup и ifdown позволяют включить или отключить сетевой интерфейс. В качестве аргумента сценарии принимают имя интерфейса.
Сценарий service network или /etc/init.d/network позволяют включить (start), отключить (stop) или перезапустить (restart) все интерфейсы разом.
Функция маршрутизации между сетевыми интерфейсами по умолчанию отключена, ее возможно включить так /etс/sysctl.conf запись net.ipv4.ip_forward=1 и перезапустить систему.
Hostname в Linux
Устройства взаимодействуют друг с другом по сети, используя IP-адреса. IP-адрес, назначенный конкретному устройству, может меняться в зависимости от ситуации. Поэтому важно использовать запоминающееся имя хоста, которое не меняется в зависимости от ситуации.
Для изменения имени хоста в Linux можно использовать несколько методов, и эти методы можно разделить на две категории: методы интерфейса командной строки (CLI) и методы графического интерфейса пользователя (GUI).
Методы CLI
Чтобы изменить имя хоста устройства в Linux, мы рекомендуем использовать инструменты командной строки. Эти методы универсальны и работают практически в любом дистрибутиве Linux. Кроме того, нет необходимости устанавливать какие-либо дополнительные пакеты.
Проверить имя хоста
Сначала проверьте имя хоста текущей системы следующим образом.
Изменить имя хоста с помощью hostname
Команду hostname можно использовать для изменения имени хоста системы, используя следующую структуру команд.
Наконец, проверьте изменение.
Обратите внимание, что с помощью этого метода имя хоста изменяется только временно. Если система будет перезагружена, она вернется к исходному имени хоста. Этот метод следует использовать только в том случае, если вы не собираетесь делать постоянное изменение имени хоста.
Измените имя хоста с помощью hostnamectl
Инструмент hostnamectl контролирует имя хоста системы. Этот инструмент может выполнять широкий спектр действий; например, его можно использовать для отображения текущего имени хоста, для изменения имени хоста, для настройки описания среды и для управления системной строкой LOCATION.
Чтобы использовать hostnamectl для изменения имени хоста, выполните следующую команду.
Затем проверьте изменение.
Затем нам нужно вручную обновить файл хоста. Для этого откройте файл в текстовом редакторе.
Измените старое имя хоста на новое имя хоста.
Если вы используете более старый дистрибутив Linux, то после внесения изменений вам может потребоваться выполнить следующую команду.
Изменить имя хоста (для системы инициализации)
Выделенный файл содержит имя хоста системы. Мы можем вручную обновить файл, чтобы изменить имя хоста. Для этого откройте файл в текстовом редакторе.
На изображении ниже показано старое имя хоста.
Отредактируйте содержимое, чтобы обновить имя хоста.
Сохраните файл и закройте редактор. Чтобы изменения вступили в силу, перезагрузите систему. После перезагрузки системы убедитесь, что действие выполнено успешно, как показано ниже.
GUI методы
В этом разделе мы будем использовать GNOME для изменения имени хоста устройства. Однако вы можете использовать YaST для изменения имени хоста в openSUSE.
Изменить имя хоста в GNOME
GNOME — мощная среда рабочего стола. Если вы используете GNOME, вы можете изменить имя хоста без выполнения каких-либо команд, открыв приложение «Настройки».
На левой панели прокрутите вниз и выберите «О программе». В этом примере имя хоста системы находится в поле «Имя устройства».
Щелкните «Имя устройства», чтобы открыть запрос на изменение имени хоста.
Введите новое имя хоста и нажмите «Переименовать», чтобы сохранить изменения.
Как настроить сеть в консоли
Настроить сеть можно не только на этапе установки, но и после неё. Настройка сети CentOS через консоль пригодится, если вы пропустили этап настройки при установке или хотите изменить существующие параметры сети.
Как узнать, какие сетевые интерфейсы установлены
Чтобы посмотреть список установленных сетевых интерфейсов, перейдите в консоль через пользователя root и введите команду:
Результат выполнения каждой из команд в консоли представлен ниже. В примере команда ip a показывает, что установлено два интерфейса — lo (локальная петля) и enp0s3 (сетевой адаптер Ethernet). Заметьте, что команда ls отображает только названия интерфейсов. Имена интерфейсам назначаются автоматически.
Как настроить сеть
Рассмотрим настройку сети для сетевого интерфейса, например, с названием enp0s3.
В CentOS в каталоге /etc/sysconfig/network-scripts/ хранятся конфигурационные файлы (Network Config) с настройками всех сетевых интерфейсов. Эти файлы начинаются с приставки ifcfg-. Так, для рассматриваемого сетевого интерфейса название файла ifcfg-enp0s3, а путь до него — /etc/sysconfig/network-scripts/ifcfg-enp0s3.
Чтобы настроить сеть для интерфейса:
Для начала вы можете посмотреть сетевые настройки с консоли. Откройте конфигурационный файл с помощью текстового редактора nano (вы можете использовать другой удобный вам редактор):
Где enp0s3 — название сетевого интерефейса.
Содержимое конфигурационного файла зависит от сетевого интерфейса. В файле могут быть указаны разные параметры сети. Файл выглядит следующим образом:
Измените IP-адрес, маску подсети, шлюз и серверы DNS. Для этого замените или добавьте в файл соответствующие строки:
DEVICE — имя настраиваемого сетевого интерфейса;
BOOTPROTO — способ назначения IP-адреса в CentOS: static (вручную), dhcp (автоматический) или none (не использовать dhcp);
ONBOOT — запуск интерфейса при старте сервера: yes (запускать автоматически), no (запускать вручную);
IPADDR — IP-адрес;
NETMASK — маска подсети;
GATEWAY — шлюз для доступа к интернету;
DNS1 (а также DNS2, DNS3) — DNS-серверы — можно добавить несколько.
Затем необходимо перезапустить сеть. Если у вас CentOS 7, введите команду: