Одминский блог
Блог о технологиях, технократии и методиках борьбы с граблями
Настройка IP в CentOS
Смена IP производится следующим образом:
Открываем файлец /etc/sysconfig/network-scripts/ifcfg-eth0 и смотрим что мы в нем имеем:
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:0C:29:BC:B7:60
ONBOOT=yes
Собственно как понятно из файла- IP адрес он цепляет от DHCP сервера, хотя мне казалось что я его задавал лапками, поэтому отрубаем DHCP и меняем настройки на:
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:BC:B7:60
ONBOOT=yes
DHCP_HOSTNAME=crm_security.lan
IPADDR= новый_IP_адрес
NETMASK=255.255.255.0
GATEWAY= новый_шлюз
TYPE=Ethernet
Теперь по поводу алиасов- там же где мы правили файло с сетевыми настройками, создаем файлик ifcfg- : Единственно что надо учесть тот момент что алиас не может цеплять свой адрес по DHCP, поэтому следует задавать статический адрес, для чего создаем файл /etc/sysconfig/network-scripts/ifcfg-eth0:0 и в него прописываем следующие строки:
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=алиас_IP
NETMASK=255.255.255.255
Если нужно добавить пул алиасов, скажем от 192.168.10.1 до 192.168.10.200, то сделать это можно либо создав 200 конфигурационных файлов для алиаса, либо описав весь пул адресов, для чего создадим файл /etc/sysconfig/network-scripts/ifcfg-eth0-range0 и внесем в него следующие строки:
IPADDR_START= 192.168.10.1 # первый IP в пуле
IPADDR_END= 192.168.10.200 # последний IP в пуле
NETMASK=255.255.255.255
CLONENUM_START=1 # число с которого будет начинаться пул
NO_ALIASROUTING=yes
Как настроить статический ip адрес в CentOS
Настроить в консоли CentOS ip-адрес можно двумя способами.
Первый способ более правильный и надежный так как все настройки выполняются непосредственно в файлах конфигурации.
Во втором способе используется специальная утилита настройки сетевых интерфейсов Network Manager. Поэтому этот способ более удобен чем первый, но существует риск что Network Manager рано или поздно внесет несанкционированные изменения в настройки интерфейса.
Способ №1. Настройка ip-адреса через файлы конфигурации.
Начнем с определения доступных сетевых интерфейсов командой «ip addr».
Результат работы команды будет выглядеть примерно так:
Eth0 является интерфейсом порта сетевой карты и ему присвоен DHCP сервером ip адрес 162.168.11.250.
Приступаем к внесению изменений в конфигурационный файл /etc/sysconfig/network-scripts/ifcfg-eth0. Для редактирования будем использовать редактор Nano.
Если ранее настройки не вносились, то содержимое файла может выглядеть примерно таким образом.
Здесь необходимо добавить параметры ipv4 для статического адреса и изменить некоторые существующие значения.
Нажимаем сочетание клавиш Ctrl+O для сохранения настроек и затем Ctrl+X для выхода из редактора.
Дополнительно добавим записи в файл конфигурации сети /etc/sysconfig/network.
Осталось внести изменения в /etc/resolv.conf чтобы указать адреса DNS-сереверов.
После внесения всех изменений в файлы сетевых конфигураций можно перезапустить службу network.
Проверим как изменились настройки после правки файлов конфигурации.
Способ 2. Настройка статичного IP-адреса через Network Manager.
Устанавливаем Network Manager, если его нет в системе.
Устанавливаем текстово-графический редактор.
Запускаем службу Network Manager.
Выводим список доступных сетевых адаптеров.
Запускаем текстово-графический редактор Network Manager для редактирования активного интерфейса.
Этот интерфейс безусловно удобнее для внесения настроек сетевых параметров. Но на форумах полно обсуждений проблем возникающих при использовании этой программы. Так что используйте на свой страх и риск.
Отключить Network Manager во избежания проблем можно так.
Настройка сети в CentOS
Инструкция применима к CentOS версий 7 и 8, CentOS mini (минимальная сборка), Fedora.
Базовая настройка сети
Смотрим все установленные сетевые адаптеры в системе:
В результате получаем что-то подобное:
1: lo: 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:
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:
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.
Дополнительные опции (не обязательны для работы сети)
| Опция | Описание | Возможные значения |
|---|---|---|
| DOMAIN | Указываем домен, который необходимо добавлять к имени хостов, если он не указан в запросе явно. | Строковое значение, соответствующее имени домена. |
| IPV4_FAILURE_FATAL | Отключение сетевого интерфейса, если IP-адрес (v4) имеет неверную конфигурацию | yes: отключать, no: не отключать |
| IPV6_FAILURE_FATAL | Отключение сетевого интерфейса, если IP-адрес (v6) имеет неверную конфигурацию | yes: отключать, no: не отключать |
| IPV6_AUTOCONF | Разрешает или запрещает автоконфигурирование IPv6 с помощью протокола Neighbor Discovery | yes: разрешить автоконфигурирование, no: запретить |
| IPV6INIT | Говорит о возможности использовать сетевой интерфейс для адресации IPv6 | yes: адресация может использоваться, no: не используется |
| PEERROUTES | Задает приоритет настройки шлюза по умолчанию, полученного от DHCP | yes: маршрут от DHCP важнее, чем назначенный вручную, no: важнее маршрут, заданный вручную |
| IPV6_PEERROUTES | Задает приоритет настройки шлюза по умолчанию, полученного от DHCP (для IPv6) | |
| UUID | Уникальный идентификатор сетевого интерфейса. Его можно сгенерировать самостоятельно командой uuidgen | Строка из 32-х символов в формате 8-4-4-4-12. Например: fca8cc84-6f21-4bac-9ccb-36f281321ba4 |
Настройка сети из консоли (командами)
Настройка из консоли будет работать только до перезагрузки системы. Ее удобно применять для временного конфигурирования или проведения тестов.
Назначение 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 на одном сетевом адаптере
В зависимости от версии операционной системы, дополнительные адреса добавляются посредством:
Рассмотрим оба варианта подробнее.
Создание псевдонимов (более ранние версии 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, однако мы рассмотрим альтернативный способ, на случай, если кому-то это пригодится.
* в данном примере мы создали скрипт, который сначала добавит нужную нам запись в файл /etc/resolv.conf, а после добавит туда значения, полученные от DHCP. Обратите внимание, что в конкретном примере:
Разрешаем запуск скрипта:
chmod +x /etc/NetworkManager/dispatcher.d/99-resolv.conf.dhclient
systemctl restart NetworkManager
Через 2 секунды проверяем:
Читайте также
Другие статьи на тему сетевых настроен CentOS:
Как настроить статический IP-адрес на сервере CentOS 7
Способ #1: Настройка IP-адреса путем правки файлов конфигурации
] # ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3 :
mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:96:34:52 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.104/24 brd 192.168.0.255 scope global dynamic enp0s3
valid_lft 7006sec preferred_lft 7006sec
inet6 fe80::a00:27ff:fe96:3452/64 scope link
valid_lft forever preferred_lft forever
Сейчас можно видеть, что IP-адресом сервера является 192.168.0.104, который был выдан DHCP сервером.
Переходим к конфигурационному файлу /etc/sysconfig/network-scripts/ifcfg-enp0s3 для последующей настройки. Если у вас не оказалось этого файла, то создайте его самостоятельно. Откройте файл любым редактором, я использую редактор vi.
В свежеустановленной CentOS 7 этот конфиг может выглядеть следующим образом.
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=3e9ee32f-0218-4644-a645-e9665057258a
DEVICE=enp0s3
ONBOOT=no
Измените значения некоторых параметров в этом файле, а также укажите новые параметры.
HWADDR=45:08:02:88:AC:68
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none # Не используем протокол назначения Ip-адреса
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPADDR=192.168.0.251 # Назначаем статический IP-адрес
NETMASK=255.255.255.0 # Маска подсети (или PREFIX=24)
IPV6INIT=no # Если не используете IpV6, то его можно отключить
# IPV6_AUTOCONF=yes
# IPV6_DEFROUTE=yes
# IPV6_FAILURE_FATAL=no
# IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=3e9ee32f-0218-4644-a645-e9665057258a
DEVICE=enp0s3
ONBOOT=yes # Включаем настройки при запуске сетевой службы
NETWORKING=yes # Конфигурация сети
GATEWAY=192.168.0.1 # Адрес маршрутизатора
nameserver 8.8.8.8
nameserver 8.8.4.4
search meliorem.ru
После правки конфигов перезапустим сетевую службу network.
Проверим изменения IP-адреса.
] # ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3:
mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:96:34:52 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.251/24 brd 192.168.0.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe96:3452/64 scope link
valid_lft forever preferred_lft forever
На этом настройка статического IP-адреса завершена.
Способ #2: Настройка IP-адреса через Network Manager
Данный способ заключается в использовании утилиты Network Manager, которая помогает в упрощенном виде настроить IP-адрес.
Проверка доступных устройств.
Рекомендую использовать первый способ, т.к. там вы точно знаете, что и где редактируете в отличии от использования Network Manager. Некоторые администраторы и вовсе советуют отключить Network Manager, по причине возможных непреднамеренных изменений настроек сети.
Если вы не хотите, что бы Network Manager управлял каким либо сетевым интерфейсом, то пропишите директиву NM_CONTROLLED=no в конфиге интерфейса ( ifcfg-enp0s3 ) или вовсе отключите его.
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network
Понравилась статья? Расскажите о ней друзьям!
Как настроить сеть в CentOS
Настройте сеть в CentOS 6, CentOS 7, CentOS 8, CentOS Stream 8, чтобы приступить к работе с вашим сервером. В статье описана настройка сети CentOS (ОС на базе Linux) при установке операционной системы и в консоли с помощью конфигурационного файла.
Мы рассмотрим первоначальную настройку сети с помощью базовых параметров: IP-адреса, маски подсети, шлюза и DNS-серверов.
Основные CentOS-команды
Перед тем как перейти к пошаговой настройке сети, перечислим CentOS-команды консоли, которые понадобятся.
Для просмотра списка установленных сетевых интерфейсов:
Для CentOS 8/Stream 8:
Как настроить сеть при установке
Обычно сеть нужно настраивать при первой установке дистрибутива CentOS.
В инструкции описана настройка сети CentOS 7. Инструкция также подойдет для CentOS 6, 8 и Stream 8.
При установке нажмите Сеть и имя узла:
Слева показан список подключенных сетевых интерфейсов. Выберите нужный и нажмите Настроить.
Перейдите на вкладку Параметры IPv4. Выберите метод Вручную и нажмите Добавить. Затем введите нужные параметры сети: статический IP-адрес, маску подсети, шлюз, серверы DNS. Нажмите Сохранить:
Готово, теперь вы знаете, как при установке CentOS настроить сеть. Далее продолжится установка операционной системы, после чего ваш сервер будет иметь необходимые сетевые настройки.
Как настроить сеть в консоли
Настроить сеть можно не только на этапе установки, но и после неё. Настройка сети 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 (запускать вручную);
NETMASK — маска подсети;
GATEWAY — шлюз для доступа к интернету;
DNS1 (а также DNS2, DNS3) — DNS-серверы — можно добавить несколько.
Затем необходимо перезапустить сеть. Если у вас CentOS 7, введите команду:




