Centos 7 настройка сети

Обновлено: 04.07.2024

Для CentOS это актуальный вопрос. Тут немного изменили параметры настройки. А кто то их и вовсе не знал. Сегодня будем разбирать, как провести первоначальную настройку сети из командной строки.

Для CentOS это актуальный вопрос. Тут немного изменили параметры настройки. А кто то их и вовсе не знал. Сегодня будем разбирать, как провести первоначальную настройку сети из командной строки.

В данной статье разберем, как настроить или изменить уже имеющиеся настройки локальной сети на CentOS 7.

Вообще первоначальная настройка сети производилась, когда осуществлялась установка CentOS 7, но если ставили не вы или вам надо что то изменить, то данная статья точно для вас!

Содержание:

1. Как настроить статический IP-адрес в CentOS 7

2. Как настроить адрес по DHCP в CentOS 7

3. Как настроить DNS в CentOS 7

4. Как настроить основной шлюз в CentOS 7

5. Как изменить hostname в CentOS 7

6. Как перезапустить сеть в CentOS 7

7. System config network tui в CentOS 7


Итак, вы хотите посмотреть настройки сети, но вы устанавливали сборку "minimal" то по привычному запросу ifconfig вы в ответ получите вот такое:
Это говорит нам о том, что у нас нет такого пакета. Для работы его работы и прочими сетевыми утилитами нужно установить пакет net-tools. Для этого выполним следующую команду: Теперь попробуем снова ввести ifconfig: Если вы не хотите устанавливать дополнительные пакеты или на данном этапе у вас не работает сеть/интернет, то можно воспользоваться командой ip с параметром addr: Тут мы увидели наши параметры, название нашей сетевой карты. В моем случае - eno16777736, и IP адрес.

Теперь давайте ее отредактируем. Допустим, нам нужно сменить или установить ip адрес. Для этого переходим в директорию /etc/sysconfig/network-scripts и открываем на редактирование файл ifcfg-eno16777736. Этот файл имеет примерно следующее содержание:
Для установки статического IP адреса нам необходимо на строчке BOOTPROTO установить BOOTPROTO=none

Указать ДНС:
DNS1=8.8.8.8

Прописываем IP:
IPADDR0=172.16.0.30

Указываем нужную маску:
PREFIX0=24

Прописываем шлюз по умолчанию:
GATEWAY0=172.16.0.1

И чтобы у нас сетевая карта "поднималась" при запуске ОС, необходимо в этом файле найти параметр ONBOOT и прописать ему yes.

В итоге у нас должно получится что то типа этого:

ethernet

Для немедленного применения изменений перезапустим сеть:

Проверяем, все ли мы сделали верно:
Видим что наши параметры применились. Значит все было сделано верно.

Предположим что у вас сетевая карта настроена на статический IP, а вы хотите получать настройки по DHCP. Тут будем действовать в обратном порядке. переходим в папку /etc/sysconfig/network-scripts и открываете файл на редактирование с названием вашей сетевой картой. Название сетевой можно посмотреть командой ifconfig или ip addr. Находим там и удаляем параметры DNS, IPADDR, PREFIX, GATEWAY а в параметре BOOTPROTO указываем значение «dhcp».

Для немедленного применения изменений перезапустим сеть:

Проверяем, все ли мы сделали верно:

Производить настройки DNS будет все в том же файле/etc/sysconfig/network-scripts/название_вашей_сетевой_карты

В данный файл можно добавить столько DNS серверов, сколько требуется. Например:

Сохраняем файл и перезапускаем сеть.

Проверим, какой у нас шлюз по умолчанию установлен в системе:

Строка с Destination 0.0.0.0 определяет адрес шлюза. Если у вас ее нет, либо в поле Gateway установлен неверный шлюз, то можно это изменить. Устанавливаем шлюз по-умолчанию:

Если вы не сменили при установке Hostname или вы хотите его изменить, то сделать это совсем не сложно. Для начала давайте проверим, какой hostname у нас установлен:

В моем случае это centos.home. Допустим мы хотим сделать имя: superserver.work, для этого необходимо отредактировать фай /etc/hostname
После того, как изменили имя, давайте проверим, что у нас получилось:

Как видим, имя сменилось. Значит мы все сделали верно. Как видите, это сделать не так сложно.

P.S.: Для смены hostname перезагрузка не требуется.

Я уже выше несколько раз описывал как это сделать, но повторюсь еще раз. Чтобы применить новые настройки сетевой карты, не обязательно перезагружать весь сервер. Для этого можно просто перезапустить сетевые интерфейсы следующей командой:

Выполнив данную команду сетевые интерфейсы перезапускаются и считывают настройки из их конфигов.


Так же для управления сетевыми интерфейсами и настройками в CentOS можно воспользоваться графической утилитой nmtui. Это сделать очень просто. Достаточно запустить ее в консоли:
Главный экран:


Допустим, мы хотим изменить IP адрес через графический интерфейс, выбираем "Изменить соединение"


Выбираем сетевое подключение, в моем случае оно одно, и нажимаем "Изменить . "



Меняем настройки, которые вы хотите изменить и нажимаем "ОК".

Вот так просто через графический интерфейс можно настраивать сеть. Если по какой то причине у вас не установлен данный пакет, то установить его можно следующей командой:

Инструкция применима к CentOS версий 7 и 8, CentOS mini (минимальная сборка), Fedora.

Базовая настройка сети

Смотрим все установленные сетевые адаптеры в системе:

В результате получаем что-то подобное:

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
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:81:28:3c brd ff:ff:ff:ff:ff:ff
inet 192.168.156.22/22 brd 192.168.159.255 scope global ens32
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:81:3f:22 brd ff:ff:ff:ff:ff:ff
inet 10.243.254.68/26 brd 10.243.254.127 scope global ens34
valid_lft forever preferred_lft forever

* Из примера видно, что в моем CentOS есть 3 сетевых карты — lo (локальная петля), ens32 и ens34 — сетевые Ethernet адаптеры.

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

И приводим его к следующему виду:

DEVICE=ens32
BOOTPROTO=static
IPADDR=192.168.0.155
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes

. а также для CentOS 8 добавим:

Основные опции

Опция Описание Возможные значения
DEVICE Имя сетевого адаптера Должно совпадать с именем в системе. В данном примере ens32
BOOTPROTO способ назначения IP-адреса static: ручное назначение IP, dhcp: автоматическое получение IP
IPADDR IP-адрес адрес, соответствующий вашей сети
NETMASK Сетевая маска должна соответствовать вашей сети
GATEWAY Шлюз по умолчанию IP-адрес сетевого шлюза
DNS1 Основной DNS-сервер IP-адрес сервера имен
DNS2 Альтернативный DNS-сервер IP-адрес сервера имен
ONBOOT Способ запуска сетевого интерфейса yes: автоматически при старте сервера, no: запускать вручную командой
NM_CONTROLLED Указываем, должен ли интерфейс управляться с помощью NetworkManager yes: управляется NetworkManager, no: не может управляться NetworkManager

Чтобы настройки применились, перезапускаем сетевую службу.

systemctl restart network

б) для CentOS 8 вводим 2 команды:

systemctl restart NetworkManager

nmcli networking off; nmcli networking on

* в большей степени, это основное отличие версий 7 и 8. Чтобы команды смогли поменять настройки, для интерфейсов необходима настройка NM_CONTROLLED=yes.

Дополнительные опции (не обязательны для работы сети)

Настройка сети из консоли (командами)

Настройка из консоли будет работать только до перезагрузки системы. Ее удобно применять для временного конфигурирования или проведения тестов.

Назначение IP-адреса или добавление дополнительного к имеющемуся:

ip a add 192.168.0.156/24 dev ens32

* в данном примере к сетевому интерфейсу ens32 будет добавлен IP 192.168.0.156.

Изменение IP-адреса:

ip a change 192.168.0.157/24 dev ens32

* однако, по факту, команда отработает также, как add.

Удаление адреса:

ip a del 192.168.163.157/24 dev ens32

Добавление маршрута по умолчанию:

ip r add default via 192.168.0.1

Добавление статического маршрута:

ip r add 192.168.1.0/24 via 192.168.0.18

Удаление маршрутов:

ip r del default via 192.168.160.1

ip r del 192.168.1.0/24 via 192.168.0.18

Команда ifconfig

В новых версиях CentOS утилита ifconfig не установлена и при вводе одноименной команды можно увидеть ошибку «Команда не найдена». Необходимо либо воспользоваться командой ip (ip address), либо установить утилиту ifconfig.

yum install ifconfig

yum install net-tools

Настройка WiFi

Принцип настройки беспроводной сети на CentOS не сильно отличается от проводной.

Создаем конфигурационный файл со следующим содержимым:

ESSID="dmoskwifi"
MODE=Managed
KEY_MGMT=WPA-PSK
TYPE=Wireless
BOOTPROTO=none
NAME=dmoskwifi
ONBOOT=yes
IPADDR=192.168.1.50
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=77.88.8.8

* где dmoskwifi — название WiFi сети (SSID).

Несколько IP на одном сетевом адаптере

В зависимости от версии операционной системы, дополнительные адреса добавляются посредством:

  1. Псевдонимов — создание нового виртуального интерфейса с названием <имя интерфейса>:<номер>.
  2. Добавлением IPADDRx и NETMASKx в конфигурационном файле.

Рассмотрим оба варианта подробнее.

Создание псевдонимов (более ранние версии CentOS 7 и ниже)

Создаем новый конфигурационный файл для сетевого интерфейса:

DEVICE=ens32:1
BOOTPROTO=static
IPADDR=192.168.0.156
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes

* где ens32 — имя физического интерфейса, :1 — виртуальный номер.

Перезапускаем сетевые службы.

Настройка конфигурационного файла (поздние версии CentOS 7 и выше)

Открываем конфигурационный файл для сетевого интерфейса, например:

DEVICE=ens32
BOOTPROTO=static
IPADDR=192.168.0.155
NETMASK=255.255.255.0
IPADDR1=192.168.0.156
NETMASK1=255.255.255.0
IPADDR2=192.168.0.157
NETMASK2=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes

* где ens32 — имя физического интерфейса, дополнительные адреса задаются с помощью опций IPADDR1, IPADDR2, NETMASK1, NETMASK2.

Перезапускаем сетевые службы.

Для автоматического получения IP-адреса от сервера DHCP мы должны задать следующее значение для опции BOOTPROTO в конфигурационном файле:

* в наших примерах выше данный параметр имеет значение static.

Переопределение DNS с помощью dhclient.conf

Также мы можем переопределять настройки для DHCP с помощью конфигурационного файла. Например, если мы хотим, чтобы адреса DNS были заданы определенные, а не полученны от DHCP, открываем конфиг:

interface "enp0s3"
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
>

* где enp0s3 — имя сетевого интерфейса, который будет получать адрес от сервера DHCP. 8.8.8.8, 8.8.4.4 — адреса, которые будут настоены на интерфейсе, независимо от того, какие предложит сервер DHCP.

Или мы можем использовать адреса от DHCP, но сделать приоритетными свои:

interface "enp0s3"
prepend domain-name-servers 127.0.0.1;
>

* в данном примере, мы зададим в качестве основного сервера DNS — 127.0.0.1.

Чтобы данный метод сработал в CentOS 8, необходимо открыть файл:

В раздел [main] добавить:

Переопределение DNS в NetworkManager (альтернативный способ)

Метод, описанный выше по переопределению DNS не подходит для NetworkManager без изменения настройки dhcp, так как адреса будут получены и обработаны с помощью встроенных методов. Выше, предоставлено решение в виде настройки dhcp=dhclient, однако мы рассмотрим альтернативный способ, на случай, если кому-то это пригодится.

Не всегда после установки CentOS сеть полностью настроена и готова к работе, даже если вы используете проводное подключение могут возникнуть некоторые сложности. Тем не менее CentOS - это серверный дистрибутив и правильная работа и настройка сети здесь имеет первостепенное значение. На домашнем компьютере ситуация такая же, чем скорее появится сеть - тем лучше.

В этой статье мы рассмотрим как выполняется настройка сети CentOS 7. Мы разберем настройку сети через графический интерфейс с помощью NetworkManager, настройку с помощью службы инициализации сети CentOS, а также ручную настройку в терминале. Обратите внимание, что эта статья охватывает только проводное и Wifi подключение, информации про ppp вы здесь не найдете.

Как работает сеть?

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

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

К каждой обычной локальной сети может быть подключено 256 компьютеров с IP адресами от 0 до 255. Из этого выплывает еще один термин - маска подсети, она указывает какая часть IP адреса относится к локальной сети. Например, в большинстве случаев маска сети будет 255.255.255.0, это значит, что в нашей сети будет меняться только последняя цифра IP адреса, такой тип наиболее распространен. Если наш IP 192.168.1.2, то компьютеры из нашей сети будут иметь адреса 192.168.1.1 и до 192.168.1.255.

Следующий важный для нас параметр, это компьютер, с помощью которого мы можем получить доступ к внешней сети, он называется шлюзом или Gateway. В каждой сети, подключенной к интернету есть шлюз.

Последнее, на чем осталось остановиться вид адресов сайтов. Как я уже сказал, все компьютеры имеют IP адрес и доступ к ним осуществляется именно по нему. Но в адресной строке браузера мы видим понятное имя, а не сложные цифры. Для преобразования имени в цифры IP адреса используется служба DNS. Ее нам тоже предстоит настроить. В случае если компьютер получает все эти параметры по DHCP нам достаточно только включить службу. Но если нужна ручная настройка сети из консоли centos 7, то каждый из параметров нужно указать вручную. А теперь перейдем к практике.

Настройка сети в GUI с помощью Network Manager

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

Или откройте "Параметры системы" затем пункт сеть. Для настройки сетевого подключения по протоколу Ethernet (проводное) выберите пункт "Проводные" и переключите выключатель в положение On:


Если провод подключен, и вы собираетесь использовать DHCP то подключение настроится автоматически.

Настройка статического IP адреса

Если нужно настроить статический IP адрес, то тут ситуация немного сложнее. Нажмите небольшую кнопку со значком шестеренки:


Затем перейдите в раздел IPv4. Затем нужно указать несколько полей, которые обычно система получает по протоколу DHCP, но поскольку вы хотите настраивать IP адрес вручную, то и все остальное тоже нужно настроить вручную. Первым делом необходимо в поле "Адреса" выбрать вместо "Автоматически DHCP", "Вручную".

Затем нам нужно указать ряд параметров. В предыдущем разделе мы подробно рассмотрели каждый из них, зачем они нужны и какие значения указать. Например, установим IP адрес 192.168.1.4, тогда маска сети будет 255.255.255.0 и, допустим, что IP адрес нашего маршрутизатора, подключенного к внешней сети будет 192.168.1.1:


Готово. Вам осталось сохранить настройки и перезапустить подключение. Дальше все будет работать так, как вы настроили, если, конечно, все было настроено правильно. Избегайте использования уже занятых IP адресов и обязательно укажите правильный шлюз.

Настройка сети через консоль с помощью networking

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

sudo ls /sys/class/net/


У меня имя сетевого интерфейса enp2s0f0. Именно на его примере дальше будет выполняться подключение к сети centos 7. Все настройки для сети Networking хранятся в каталоге /etc/sysconfig/network-scripts/. Для нашего сетевого интерфейса конфигурационный файл будет называться /etc/sysconfig/network-scripts/ifcfg-enp2s0f0.

Давайте сначала рассмотрим основные параметры, которые вам придется рассмотреть:

  • TYPE - тип соединения, проводное (Ethernet), беспроводное(Wired) и т д;
  • BOOTPROTO - способ получения IP адреса, static, dhcp или none;
  • NAME - имя соединения;
  • DEVICE - имя сетевого интерфейса;
  • ONBOOT - необходимо ли запускать при старте системы;
  • IPADDR - IP адрес, который будет использован для этого компьютера;
  • GATEWAY - шлюз для доступа к интернету;
  • NETMASK - маска сети;
  • DNS1 - сервер для разрешения доменных имен DNS.

Фактически вы уже знаете большинство этих параметров. Теперь рассмотрим какой набор нужно задать для каждого способа получения IP адреса.

Настройка получения IP по DHCP

Настройка сети dhcp centos предусматривает использование значения BOOTPROTO dhcp, остальные параметры задавать необязательно:

TYPE=Ethernet
BOOTPROTO=dhcp
NAME=enp2s0f0
UUID=9c3362c0-a615-4504-bb07-f2951f3810dd
DEVICE=enp2s0f0
ONBOOT=yes


Теперь сохраните изменения и перезапустите сеть. Все должно заработать.

Настройка сети со статическим IP

Для установки статического IP адреса нужно задать значение BOOTPROTO - static, а также указать IP адрес, шлюз, маску сети и DNS. Вот пример конфигурации сети CentOS для нашего интерфейса:

TYPE=Ethernet
BOOTPROTO=dhcp
NAME=enp2s0f0
UUID=9c3362c0-a615-4504-bb07-f2951f3810dd
DEVICE=enp2s0f0
ONBOOT=yes
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8


Укажите свои значения и сохраните настройки. Для перезагрузки сети используйте команду:

sudo systemctl restart networking

Затем вам останется проверить работу сети. Если все было сделано правильно сеть будет работать.

Выводы

В этой статье мы рассмотрели как в centos 7 настроить сеть. Если у вас есть возможность выполнять настройку в графическом интерфейсе, то проблем вообще возникнуть не должно. С настройкой в консоли придется разобраться, но в остальном там тоже нет ничего сверхсложного. Надеюсь, эта статья была вам полезной.

Настройка сети в CentOS 7

Сетевые настройки — первое, что нужно сделать после создания сервера для его взаимодействия с внешним миром. В этой статье детально рассмотрим как настраивать сеть в 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 для решения поставленных задач.

date

29.10.2020

directory

CentOS, Linux

comments

комментария 3

В данной статье мы рассмотрим способы настройки сети в системах Linux CentOS 7/8, покажем, как настраивать сетевых интерфейсов через конфигурационные файлы, основные утилиты для настройки сети и многое другое. Это актуальная тема, так как изначально настройка любого сервера начинается с настройки на нем сети.

В статье мы покажем особенности настройки сети в CentOS 7 с помощью стандартного сервиса network. Посмотрим, как использовать для настройки сети NetworkManager (NM), который предлагается по-умолчанию в CentOS 8.

Именование сетевых интерфейсов в CentOS

Классическая схема именования сетевых интерфейсов в Linux присваивает имена eth0, eth1 и так далее по порядку. Но эти имена не привязываются жестко к интерфейсам и после перезагрузки при наличии нескольких сетевых интерфейсов, эти имена могут поменяться. Это может доставлять некоторые проблемы, при настройке, например, межсетевого экрана через firewalld или iptables. В связи с этим начиная с RedHat 7 и CentOS 7, решено было назначать имена сетевых интерфейсов на основе иерархии различных схем именования. По умолчанию systemd будет поочередно применять схемы именования, остановившись на первой доступной и применимой. Имена присваиваются в автоматическом режиме, остаются неизменными даже если аппаратные средства добавлены или изменены. С другой стороны, такие имена интерфейсов менее читабельны, например, enp5s0 или ens3, чем традиционные eth0 и eth1.

Можно вернуться к стандартному имени интерфейса Linux с помощью следующих действий.

Отредактируйте файл /etc/default/grub:

В строку GRUB_CMDLINE_LINUX нужно добавить:

Пример полной строки:

Обновите конфигурацию grub:

Переименуйте конфигурационный файл сетевого интерфейса:

И заменить значение DEVICE:

изменить имя сетевого интерфейса в centos eth0

Сохраните файл, перезагрузите сервер и проверьте все ли в порядке:

ip a - centos

Интерфейс теперь называется eth0.

Первоначальная настройка сети при установке CentOS

Изначально при установке CentOS Linux, вы можете настроить сетевой интерфейс в графическом режиме в пункте меню “Network & Hostname”. В данном пункте вы указываете имя сервера, добавляете нужный IP адрес и шлюз, DNS и многое другое. Более подробную настройку на данном шаге, вы можете посмотреть в статье по ссылке выше.

Ручная настройка конфигурационного файла сетевого интерфейса в CentOS

Выведем список доступных сетевых интерфейсов в системе:

Файлы конфигурации сети вашего сервера хранятся в каталоге /etc/sysconfig/network-scripts. Эти файлы создает демон NetworkManager для каждого сетевого интерфейса. В нашем случае файл конфигурации называется ifcfg-eth0 (у вас может отличаться в зависимости от схемы именования сетевого интерфейса).

Рассмотрим основные параметры:

Исходя из этой информации, настроим сетевой интерфейс.

Настройка статического IP адреса в CentOS

Откроем файл для редактирования:

ручная настройка параметров сети в centos через файл /etc/sysconfig/network-scripts

В этом примере я указал статический IP адрес, маску подсети, шлюз и несколько DNS серверов. Включаем автозапуск интерфейса:

После всех модификаций, нужно выполнить рестарт сервиса network. Если все в порядке, вы получите такой листинг:

Также можно просто перезапустить все профили подключений :

Получение динамического IP адреса для интерфейса через DHCP

Если ваш сервер должен получить IP адрес от DHCP севера, откройте конфигурационный файл интерфейса и измените настройки:

BOOTPROTO=”dhcp” - настройка полуения динамического ip адреса для сетевого интерфейса

То есть мы убрали все настройки, связанные с IP-адресами и маской, а так же поменяли способ назначения IP-адреcа на dhcp (BOOTPROTO=”dhcp”). После всех изменений, не забываем выполнять перезагрузку network.

Как отключить IPv6 в CentOS?

На время написания статьи активного использования ipv6 в России нет, да и зачастую если таковая возможность имеется, администраторы предпочитают протокол ipv4. Поэтому если вы все же не используете данный протокол, его нужно отключить на сервере. Если вы точно уверены, что ни один из сервисов не настроен под работу с ipv6, можете сразу перейти к настройке сетевого интерфейса, если же нет, то начните с проверки. Нам нужно проверить, какие сервисы используют ipv6 и отключить данный протокол в конфигурации сервиса. Запустим команду:

в netstat показывается ipv6 адрес, как полностью отключить на сервере centos

У меня сервер тестовый, поэтому ipv6 используется только для sshd и cronyd. Это можно определить по “. ”.

Чтобы не возникало проблем после отключения ipv6 в конфигурации сети, отключите данный протокол в сервисах, в которых они используются на вашем сервере. Например для sshd, нужно открыть конфигурационный файл:

И раскомментируйте строки:

После чего перезапустите сервис:

netstat только ipv4 без ipv6

Как видим, для sshd протокол ipv6 теперь недоступен. Проделайте аналогичные настройки со всеми сервисами.

Перейдем к отключению протокола ipv6 в настройках сети. Откройте файл /etc/sysctl.conf:

Сохраните файл и примените через:

Перейдем к файлу /etc/sysconfig/network. Добавьте в него следующую конфигурацию:

отключить IPV6INIT=no

Из файла конфигурации сетевого интерфейса /etc/sysconfig/network-scripts/ifcfg-eth0 удалите строку:

И наконец добавим запрет на работу ipv6 в grub:

В конец строки GRUB_CMDLINE_LINUX, добавляем:

centos отключить ipv6 в grub

После всех настроек, сохраните файл и обновите grub:

Выполните перезагрузку сервера и проверьте конфигурацию сети:

Протокол ipv6 на сервере отключен.

Как указать DNS сервера для сетевого интерфейса в CentOS?

Настроить DNS-сервера для вашего сервера, вы можете с помощью файла /etc/resolv.conf или указать их в настройках сетевого интерфейса. При настройке static конфигурации для сетевого интерфейса, мы уже указывали DNS-сервера, через параметры:

Установите нужные вам DNS-сервера и перезагрузите сервис network.

В файл /etc/resolv.conf, DNS-сервера прописываются автоматически при перезагрузке сервера, забирая их с файла конфигурации сети. Если же вы не указали DNS-сервера при настройке сети, пропишите их вручную в файл /etc/resolv.conf:

Как настроить несколько IP адресов на одном сетевом интерфейсе CentOS?

Если вам нужно использовать несколько IP-адресов на одном сетевом интерфейсе, настройку можно выполнить через алиас интерфейса или же добавив дополнительный IP-адрес в основной файл конфигурации.

И измените его следующим образом:

IPADDR1 — первый IP-адрес

IPADDR2 — второй IP-адрес

GATEWAY — основной шлюз

Либо создайте alias к вашему основному файлу конфигурации:

И добавьте несколько строк, без основного шлюза:

несколько ip на одном интерфейсе в centos

После всех настроек нужно выполнить перезапуск сети:

В Windows тоже можно настроить несколько IP адресов (алиасов) на одном интерфейсе.

Настройка VLAN (802.1Q) в CentOS

Подробнее о настройке нескольких VLAN для одного сетевого интерфейса в CentOS мы говорили в статье: Настройка VLAN на сетевом интерфейсе в CentOS.

Настройка нескольких сетевых интерфейсов в CentOS

Если у вас на сервере несколько сетевых интерфейсов, для них можно указать разные IP-адреса. Разберемся как это сделать. Если у вас на сервере более одного сетевого интерфейса, команда “ip a” должна отобразить эту информацию:

Чтобы сконфигурировать второй интерфейс, нужно создать для него файл:

И добавьте следующую конфигурацию:

настройка дополнительного сетевого интерфейса в linux centos

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

В качестве основного шлюза у нас выступает интерфейс eth1. Я же хочу использовать eth0, для этого изменим его:

netstat - проверка шлюза по умолчанию

Если вы хотите, чтобы данная настройка сохранилась после перезагрузки сервера, добавьте эти команды в rc.local (см. статью об автозагрузке сервисов в CentOS).

Полезные команды по работе с сетью в CentOS

Утилиты администрирования сети в CentOS

Если сервер уже работает некоторое время или же настройкой занимались вообще не вы, первое действие которое нужно сделать, это узнать какие интерфейсы присутствуют на сервере. Для удобства установите необходимые инструменты из базового репозитория:

После установки, можно воспользоваться утилитой ifconfig:

Как видим, имя нашего сетевого интерфейса eth0.

Без установки пакета net-tools, вы можете проверить ваши интерфейсы с помощью следующей команды:

Результат будет практически тот же:

ip a - проверка состояния сетевого интерфейса centos

Управление сетью с помощью NetworkManager в CentOS 8

В CentOS 8 для настройки сети рекомендуется использовать только NetworkManager. Эта служба управление сетевыми подключениями, контролирует настройки и применяет изменения к сетевым адаптерам.

Чтобы проверить статус NM, используйте команду:

systemctl status NetworkManager.service

В CentOS предлагается использовать для настройки сети командную консоль nmcli или графическую утилиту nmtui.

Чтобы перейти в режим настройк сети, введите команду:

nmtui - утилита настройки сети в centos

При выборе первого пункта, у вас откроется окно с выбором сетевого интерфейса для редактирования:

настроить ens3 итерфейса на сервере centos

Выбираем нужный нам интерфейс и редактируем:

настройка ip адреса, шлюза и dns для сетевого интерфейса в centos

Нам доступно редактирование имени, IP-адреса, Шлюза, DNS-серверов. Так же в интерактивном меню NM, мы можем изменить способ назначения IP адреса, на DHCP:

nmtui - способ получения ipv4 адреса manual/automatic

Замените “manual” на “automatic”:

настройка dhcp для интерфейса в network manager

После чего сохраните настройки. С помощью nmtui в графическом режиме, вы можете выполнить любые настройки, которые выполняете вручную через конфигурационные файлы. Если вы предпочитаете использовать командную строку для настройки интерфейсов, можете использовать nmcli. Например, следующие команды изменят IP адрес, щлюз и DNS сервера для интерефейса eth1.

Для применения изменений, перезагрузите интерфейс:

Если же вам удобнее работать с файлами конфигурации, установите через yum отдельный пакет network-scripts (в CentOS 8 по умолчанию его нет):

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

Читайте также: