Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7 Хостинг
Содержание
  1. Установка ifconfig
  2. Получить DHCP адрес
  3. Как работает сеть?
  4. NetworkManager
  5. Настройка статического IP адреса в nmcli
  6. Полезные команды по работе с сетью в CentOS
  7. Настройка IP адреса с помощью утилиты ip
  8. Установка и базовая настройка DHCP
  9. Как настроить несколько IP адресов на одном сетевом интерфейсе CentOS?
  10. Открытые порты
  11. Создать новый сетевой адаптер
  12. Узнать Gateway
  13. Настройка IP в графическом интерфейсе
  14. Установка статического IP
  15. Настройка сети в GUI с помощью Network Manager
  16. Настройка статического IP адреса
  17. Как отключить IPv6 в CentOS?
  18. Веб-интерфейс управления сервером в CentOS 8
  19. Настройка сети через консоль с помощью networking
  20. Настройка получения IP по DHCP
  21. Настройка сети со статическим IP
  22. Резервирование IP адресов на DHCP сервере
  23. Hostname
  24. Шаг 1. Проверка текущего hostname
  25. Шаг 2. Смена hostname
  26. Ошибки и предупреждения
  27. Настройка сети
  28. Настройка нескольких сетевых интерфейсов в CentOS
  29. Как указать DNS сервера для сетевого интерфейса в CentOS?
  30. Network
  31. Виртуальный интерфейс
  32. Настройка VLAN (802. 1Q) в CentOS
  33. Управление сетью с помощью NetworkManager в CentOS 8
  34. Настройка ip адреса в Ubuntu
  35. Сбросить IP
  36. Что нового в CentOS 8?
  37. Настройка IP адреса в CentOS
  38. Именование сетевых интерфейсов в CentOS
  39. Установка CentOS 8 с помощью ISO-образа
  40. Ручная настройка конфигурационного файла сетевого интерфейса в CentOS
  41. Настройка статического IP адреса в CentOS
  42. Получение динамического IP адреса для интерфейса через DHCP
  43. Получение сетевых настроек DCHP клиентом
  44. Открыть порт
  45. Базовая настройка CentOS 8 после установки
  46. CentOS 8: Установка обновлений и инструментов администратора
  47. Отключение SELinux
  48. Настройка сети в CentOS 8
  49. Установка и смена hostname
  50. Настройка firewalld в CentOS 8
  51. Настройка времени и часового пояса (time-zone)
  52. Настройка истории команда в bash_history
  53. Утилиты администрирования сети в CentOS
  54. Изменить маску
  55. Добавить IP
  56. Включать интерфейс при загрузке
  57. Изменить IP
  58. Выводы
  59. Выводы
  60. Выводы
  61. Список адаптеров

Установка ifconfig

yum provides ifconfig

yum whatprovides ifconfig

ifconfig входит, например, в состав net-tools

sudo yum install net-tools

Получить DHCP адрес

Если нужно явно запросить у DHCP адрес выполните

sudo dhclient enp0s8

Вместо enp0s8 введите имя нужного адаптера

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

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

Для идентификации компьютеров в сети используются 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, то каждый из параметров нужно указать вручную. А теперь перейдем к практике.

NetworkManager

Проверить статус можно командой

systemctl status NetworkManager

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

Сетевой конфигуратор NetworkManager сейчас используется практически повсеместно. Если нужно настроить IP в терминале вы можете использовать утилиту nmcli. Сначала смотрим доступные подключения. Для этого выполните:

Допустим, что необходимое вам подключение называется Проводное соединение 2. Тогда осталось установить IP адрес, шлюз и DNS сервер:

nmcli con mod "Проводное соединение 2" ipv4.addresses 192.168.1.64/24
nmcli con mod "Проводное соединение 2" ipv4.gateway 192.168.1.1
nmcli con mod "Проводное соединение 2" ipv4.dns "8.8.8.8"

Затем надо сообщить утилите, что IP адрес будет настраиваться вручную:

nmcli con mod "Проводное соединение 2" ipv4.method manual

В этом примере IP адрес задается немного по другому. Сначала идёт выбранный ip адрес, а затем маска в формате /24. Это аналог записи 255.255.255.0, только короче.

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

  • ifdown eth1
    — отключить указанный сетевой интерфейс.
  • ifup eth1
    – поднять указанный сетевой интерфейс.
  • ifconfig
    – проверить информацию о всех интерфейсах.
  • ifconfig -a | grep ether | gawk '{print $2}'
    — команда для вывода MAC-адресов интерфейсов
  • ip a | grep ether | gawk '{print $2}'
    — тоже самое, только через утилиту ip a
  • service network restart
    или
    systemctl restart network
    – перезапустить сервис network с помощью systemctl
  • systemctl restart NetworkManager.service
    – перезапустить NM
  • ip route
    или
    ip route show
    — посмотреть таблицу маршрутизации (https://winitpro.ru/index.php/2020/04/13/nastrojka-marshrutov-v-linux/)
  • ping host
    – пропинговать указанный хост
  • whois domain
    – получить информацию whois для домена
  • dig domain
    – получить DNS информацию о домене

Настройка IP адреса с помощью утилиты ip

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

sudo ip link set eth0 up

Сначала нужно изменить IP и маску сети:

sudo ip addr add 192.168.0.65/255.255.255.0 dev eth0

Затем добавить шлюз:

sudo ip route add default via 192.168.0.1

Готово, теперь ваша сеть должна работать. Только эти настройки будут работать до первой перезагрузки.

Установка и базовая настройка DHCP

В CentOS/RHEL можно установить DHCP-сервер с помощью менеджера пакетов из базового репозитория:

# dnf install dhcp-server -y
– установка DHCP сервера для CentOS/RHEL 8

# yum install dhcp -y
– установка DHCP сервера для CentOS/RHEL 7

установка dhcp-server в centos

Конфигурационный файл DHCP сервиса — /etc/dhcp/dhcpd.conf. Откройте в него и добавьте описание DHCP зоны (IP подсети) с настройками, которые ваш DHCP сервер должен выдавать клиентам.

# nano /etc/dhcp/dhcpd.conf

subnet 15.10.0.0 netmask 255.255.255.0 { range 15.10.0.100 15.10.0.200; option domain-name-servers 77.88.8.8, 8.8.8.8; option domain-name "winitpro.ru"; option routers 15.10.0.1; option broadcast-address 15.10.0.255;  

default-lease-time 3600; max-lease-time 7200; }

Краткое описание настраиваемых параметров DHCP зоны:

  • subnet – адресное пространство (IP сеть), которое обслуживает данный DHCP сервер;
  • range – диапазон IP адресов, из которого будут назначаться адреса устройствам;
  • option domain-name-servers – адреса DNS серверов, которые будут использоваться клиентом;
  • option domain-name — параметр задает доменное имя, которое клиенты используют при запросах к DNS;
  • option routers — IP адрес шлюза, который будет использоваться DHCP клиентом
  • option broadcast-address — широковещательный (бродкаст) адрес IP сети;
  • default-lease-time, max-lease-time – время и максимальное время (в сек) на которое выдается IP адрес клиенту. После истечения этого времени IP клиент должен продлить срок аренды.

Некоторые опции DHCP можно задать на уровне глобальных параметров DCHP сервера (в начале файла dhcpd.conf). Например:

option domain-name "winitpro.ru";
option domain-name-servers 77.88.8.8, 8.8.8.8;
default-lease-time 3600;
max-lease-time 7200;
authoritative;
 log-facility local7;

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

# dhcpd -t -cf /etc/dhcp/dhcpd.conf

dhcpd -t -cf проверка конфигурационного файла DHCP сервиса

На скриншоте с цифрой 1 показан пример проверки при корректной настройке конфигурационного файла DHCP. В сегменте с цифрой 2 показано, что при наличии ошибок в конфигурации утилита dhcpd указывает на них.

Добавьте сервис dhcpd в автозагрузку и запустите:

# systemctl enable dhcpd
# systemctl start dhcpd

У меня сразу сервис не запустился. Служба dhcpd вернула ошибку:

Not configured to listen on any interfaces!

dhcpd Not configured to listen on any interfaces!

# nano /etc/sysconfig/dhcpd

Добавьте в него следующую строку:

DHCPDARGS=ens5

Где ens5 — это имя сетевого интерфейса, котором будет обслуживать DHCP запросы.

Затем создайте файл конфигурации сетевого интерфейса (если он не создан):

# nano /etc/sysconfig/network-scripts/ifcfg-ens5

TYPE="Ethernet"
DEVICE="ens5"
ONBOOT="yes"
 BOOTPROTO="static"
IPADDR="15.10.0.5"
NETMASK="255.255.255.0"
DNS1=77.88.8.8

настройка интерфейса на dhcp сервере

Выполните рестарт сети:

# service network restart
– для CentOS/RHEL 7
# systemctl restart NetworkManager
– для CentOS/RHEL 8

Когда настройки сети будут выполнены и применены, можно запустить сам сервис dhcpd:

# systemctl start dhcpd.service

запуск сервера dhcpd в centos linux

Сервис успешно настроен и запущен. Чтобы DHCP-клиент мог получить адрес с нашего сервера, нужно добавить сервис в исключения в firewalld:

# firewall-cmd --permanent --add-service=dhcp
# firewall-cmd --reload

Если вы используете другой файерволл, откройте 67 UDP порт на нем.

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

# nano /etc/sysconfig/network-scripts/ifcfg-eth0

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

# Generated by parse-kickstart
UUID="b8bccd4c-fb1b-4d36-9d45-044c7c0194eb"
IPADDR1="*.*.*.*"
IPADDR2="*.*.*.*"
GATEWAY="*.*.*.*"
NETMASK="255.255.255.0"
BOOTPROTO="static"
DEVICE="eth0"
ONBOOT="yes"
DNS1=77.88.8.8
DNS2=8.8.8.8
DNS3=8.8.4.4

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

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

# nano /etc/sysconfig/network-scripts/ifcfg-eth0:1

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

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

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

Restarting network (via systemctl): [ OK ]

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

Открытые порты

Список открытых портов

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port

Выдаст все порты, поэтому если нужно проверить какой-то определённый удобно применить
grep

Создать новый сетевой адаптер

Подробный разбор этого действия вы можете изучить в статье

«Создать новый интерфейс»

Узнать Gateway

Чтобы узнать текущий IP адрес шлюза (gateway) выполните

default via 10.0.2.1 dev enp0s3 proto dhcp metric 100

IP адрес шлюза 10.0.2.1

Настройка IP в графическом интерфейсе

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

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

В открывшемся окне параметров нажмите значок шестеренки напротив нужного соединения, например, Проводное:

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

Перейдите на вкладку IPv4 и напротив пункта Метод IPv4 выберите Вручную. Появится несколько полей, которые надо заполнить. Заполните IP адрес, маску и шлюз:

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

Затем чуть ниже пропишите DNS. Когда всё будет готово нажмите кнопку Применить.

Установка статического IP

nmcli conn show

NAME UUID TYPE DEVICE
enp0s3 64486a76-a4b0-4693-9110-205da942c9c5 ethernet enp0s3
enp0s8 fc26857f-4cb0-3756-a7fa-95ec246b3981 ethernet enp0s8

Настроим статический IP адрес для enp0s8

Настройки сети хранятся в директории

Отредактировать нужно файл

ifcfg-enp0s8

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

TYPE — тип соединения, проводное (Ethernet), беспроводное(Wired) и т д;

BOOTPROTO — способ получения IP адреса, static, dhcp или none;

NAME — имя соединения;

DEVICE — имя сетевого интерфейса;

ONBOOT — необходимо ли запускать при старте системы;

IPADDR — IP адрес, который будет использован для этого компьютера;

GATEWAY — шлюз для доступа к интернету;

NETMASK — маска сети;

DNS1 — сервер для разрешения доменных имен DNS.

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

Для DHCP, который, скорее всего, стоит по умолчанию будет что-то

Нужно именить BOOTPROTO на none и добавить несколько строк

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no

# Server IP #

# Subnet #

# Defautl Gateway #

# DNS Servers #

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=40a957b1-90fd-428c-9e99-df7849e1d104
DEVICE=enp0s3
ONBOOT=yes

Читайте также:  Хостинг-провайдеры в Кемерово: адреса и телефоны, хостинг-провайдеры (Кемерово) - отзывы и рейтинг в каталоге Orghost

sudo systemctl restart network

Изображение баннера

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

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

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

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

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

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

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

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

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

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

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

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

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

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

# netstat -tulnp

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

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

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

# mcedit /etc/ssh/sshd_config

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

#AddressFamily any
#ListenAddress 0.0.0.0

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

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

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

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

# nano /etc/sysctl.conf
И добавьте туда следующие строки:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

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

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

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

NETWORKING_IPV6=no
IPV6INIT=no

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

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

IPV6INIT="yes"

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

# nano /etc/default/grub

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

ipv6.disable=1

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

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

# grub2-mkconfig -o /boot/grub2/grub.cfg

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

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 185.*.*.* netmask 255.255.255.0 broadcast 185.*.*.255
ether 52:54:00:d3:1c:3e txqueuelen 1000 (Ethernet)
RX packets 10068 bytes 613092 (598.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 32 bytes 5399 (5.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

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

Веб-интерфейс управления сервером в CentOS 8

Как мы уже упоминали, в CentOS 8 предустановлен веб-интерфейс управления сервером cockpit. Он также управляется через systemctl. Вы можете запустить его и добавить в автозгрузку:

# systemctl enable cockpit.socket
# systemctl start cockpit.socket

По–умолчанию веб сервер Cockpit слушает на порту 9090. Добавьте этот порт в разрешенные:

# firewall-cmd --get-active-zones
# firewall-cmd --add-port=9090/tcp --zone=MY_ACTIVE_ZONE --permanent
# firewall-cmd --reload

Для доступа к веб-интерфейсу Cockpit, откройте в браузере URL адрес https://your-CentOS8-IP:9090 и авторизуйтесь.

Cockpit - веб интерфейс управления сервером centos 8

С помощью веб-интерфейса Cockpit вы можете смотреть загрузку своего сервера, управлять сетями и хранилищами, контейнерами, смотреть логи.

На этом моя типовая настройка CentOS сервера закончена, далее я выполняю настройки согласно технического задания по различным проектам и обычно они отличаются.

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

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

sudo ls /sys/class/net/

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

У меня имя сетевого интерфейса 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, остальные параметры задавать необязательно:

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

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

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

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

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

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

sudo systemctl restart networking

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

Резервирование IP адресов на DHCP сервере

DHCP сервер выдает динамические IP адреса. Это значит, что IP адрес, назначаемый конкретному клиенту может иногда меняться. В конфигурационном файле DHCP сервера вы можете зарезервировать (зафиксировать) для любого клиента конкретный статический IP адрес. Просто добавьте в файл /etc/dhcp/dhcpd.conf следующие строки:

host host1 {
  hardware ethernet 52:54:00:b6:89:82; fixed-address 15.10.0.101;
}

Как вы видите, нужно указать MAC-адрес устройства и зафиксированный за ним IP адрес из зоны DHCP, которую обслуживает сервер.

Не обязательно располагать отдельный DHCP сервер в каждом сегменте сети. Один DCHP сервер может обслуживать любое количество IP-подсетей. В этом случае на уровне маршрутизатора IP сегмента нужно настроить пересылку DHCP запросов на ваш сервер (функция DHCP-relay или ip helper-address в терминологии Cisco).

В конфигурационном файле dhcpd можно добаить несколько зон DHCP. Просто добавьте еще один блок:

subnet xxx.xxx.xxx.xxx netmask 255.xxx.xxx.xxx {...} 

# nano /etc/dhcp/dhcpd.conf

добавить дополнительные зоны в конфигурационный файл dhcpd

Чтобы не загромождать основной конфиг dhcpd, вы можете с помощью функции include подключать дополнительные файлы конфигурации:

include "/etc/dhcp/conf.d/subnets.conf";

В файле subnets.conf можно описать все DCHP зоны, которые обслуживаются вашим сервером.

Для просмотра списка IP адресов, которые выданы клиентам вашим DHCP-сервером, используйте команду:

# cat /var/lib/dhcpd/dhcpd.leases

Все логи DHCP по умолчанию пишутся в файл /var/log/messages. Для фильтрации событий dhcp можно использовать команду:

Или перенастроить сохранение журнала в отдельный файл, через rsyslog. В файл /etc/rsyslog.conf добавьте строку:

local6.* /var/log/dhcp.log

А в файл /etc/dhcp/dhcpd.conf строку:

log-facility local6;

Перезапустите оба сервиса:

# systemctl restart rsyslog
# systemctl restart dhcpd

Теперь все события DHCP сервера пишутся в отдельный лог-файл.

# cat /var/log/dhcp.log

Oct 28 00:28:02 server2 dhcpd[2981]: Internet Systems Consortium DHCP Server 4.3.6
Oct 28 00:28:02 server2 dhcpd[2981]: Copyright 2004-2017 Internet Systems Consortium.
Oct 28 00:28:02 server2 dhcpd[2981]: All rights reserved.
Oct 28 00:28:02 server2 dhcpd[2981]: For info, please visit https://www.isc.org/software/dhcp/
Oct 28 00:28:02 server2 dhcpd[2981]: Source compiled to use binary-leases
Oct 28 00:28:02 server2 dhcpd[2981]: Wrote 0 deleted host decls to leases file.
Oct 28 00:28:02 server2 dhcpd[2981]: Wrote 0 new dynamic host decls to leases file.
Oct 28 00:28:02 server2 dhcpd[2981]: Wrote 0 leases to leases file.
Oct 28 00:28:02 server2 dhcpd[2981]: Listening on LPF/ens5/52:54:00:80:be:db/15.10.0.0/24
Oct 28 00:28:02 server2 dhcpd[2981]: Sending on LPF/ens5/52:54:00:80:be:db/15.10.0.0/24
Oct 28 00:28:02 server2 dhcpd[2981]: Sending on Socket/fallback/fallback-net
Oct 28 00:28:02 server2 dhcpd[2981]: Server starting service.

На этом настройка и отладка DHCP-сервера окончена.

Hostname

Шаг 1. Проверка текущего hostname

Чтобы получить информацию о хосте выполните

Static hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: a714bee8007d114a84177dbb15072f2e
Boot ID: b02d9498c1764a338c781672aac1be29
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64

Нужная информация находится в первой строке

Static hostname: localhost.localdomain

Шаг 2. Смена hostname

Так как CentOS 7 поддреживает только Fully Qualified Domain Names (FQDNs),
советую тщательно проверить hostname, который вы планируете использовать.

  • Строчные буквы от a до z
  • Цифры от 0 до 9
  • Точки и дефисы
  • Hostnames может быть от 2 до 63 символов
  • Hostnames должен начинаться и заканчиваться цифрой или буквой

hostnamectl set-hostname my.new-hostname.server

Подробности в статье
hostname

Изображение баннера

Ошибки и предупреждения

sudo systemctl restart networking

Job for network.service failed because the control process exited with error code. See «systemctl status network.service» and «journalctl -xe» for details.

systemctl status network.service

Настройка сети

Чтобы изучить подключения выполните одну из команд:

  • sudo ls /sys/class/net/
  • ip a s
  • ifconfig
  • nmcli conn show

nmcli conn show

NAME UUID TYPE DEVICE
enp0s3 64486a76-a4b0-4693-9110-205da942c9c5 ethernet enp0s3
enp0s8 fc26857f-4cb0-3756-a7fa-95ec246b3981 ethernet enp0s8

Если какой-то интерфейс, например enp0s3, выключен у него в столбце DEVICE будет стоять —

Обычно неактивный интерфейс выделен серым цветом а активный зелёным.

NAME UUID TYPE DEVICE
enp0s3 64486a76-a4b0-4693-9110-205da942c9c5 ethernet —
enp0s8 fc26857f-4cb0-3756-a7fa-95ec246b3981 ethernet enp0s8

Включить интерфейс можно командой

nmcli conn up enp0s3

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

1: lo: <LOOPBACK,UP,LOWER_UP> 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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:d3:1c:3e brd ff:ff:ff:ff:ff:ff
inet 185.*.*.*/16 brd 185.*.*.255 scope global eth0
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 52:54:00:5f:f3:b8 brd ff:ff:ff:ff:ff:f

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

# nano /etc/sysconfig/network-scripts/ifcfg-eth1

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

IPADDR="*.*.*.*"
GATEWAY="*.*.*.*"
NETMASK="255.255.255.0"
BOOTPROTO="static"
DEVICE="eth1"
ONBOOT="yes"

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

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

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 185.*.*.1 0.0.0.0 UG 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
185.*.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
185.*.*.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

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

# route add default gw *.*.*.*
– заменяем шлюз на тот, который указан в сетевом интерфейсе eth0

# route delete default gw *.*.*.*
— удаляем шлюз интерфейса eth1

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

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

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

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

DNS1=
DNS2=
DNS3=

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

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

nameserver 77.88.8.8
nameserver 8.8.8.8
nameserver 8.8.4.4

Network

Проверить статус можно командой

Читайте также:  Краткое и простое руководство по установке сетевых сценариев Centos 7

systemctl status network

Виртуальный интерфейс

Виртуальный интерфейс — это alias к существующему интерфейсу. Допустим у вас есть ens192

cp /etc/sysconfig/network-scripts/ens192 /etc/sysconfig/network-scripts/ens192:0

vi /etc/sysconfig/network-scripts/ens192:0

Поменяйте там что-то, например поставьте другой IP из той же подсети

systemctl restart network

Так как виртальный интерфейс может быть только внутри той же подсети, он не даст вам возможности слушать другую сейть.

Настройка VLAN (802. 1Q) в CentOS

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

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

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

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

# systemctl status NetworkManager.service

systemctl status NetworkManager.service

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

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

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

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

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

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

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

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

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

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

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

# nmcli con mod eth1 ipv4.addresses 192.168.10.14/24
# nmcli con mod eth1 ipv4.gateway 192.168.10.1
# nmcli con mod eth1 ipv4.dns "8.8.8.8"

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

# nmcli con up eth1

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

# yum install network-scripts -y

Upgraded:
initscripts-10.00.1-1.el8_0.1.x86_64
Installed:
network-scripts-10.00.1-1.el8_0.1.x86_64 network-scripts-team-1.27-10.el8.x86_64
Complete!

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

network-scripts в centos 8

Настройка ip адреса в Ubuntu

Настройкой сети в Ubuntu по умолчанию занимается специальная служба networking, конфигурация которой находятся в файле /etc/network/interfaces. Стандартные настройки с использованием динамического получения ip адреса по DHCP выглядят следующим образом:

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

В этом примере настраиваются два интерфейса, lo и eth0. Нас будет интересовать только строчка, касающаяся проводного соединения eth0, она тут одна:

iface eth0 inet dhcp

Отредактируйте конфигурацию как показано ниже, нужно закомментировать строчку получения ip по DHCP и добавить вместо нее настройку статического ip адреса, подсети, и шлюза:

auto lo
iface lo inet loopback
# iface enp24s0 inet dhcp
auto enp24s0
iface enp24s0 inet static
address 192.168.0.65
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8,8.8.4.4

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

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

sudo systemctl restart networking

Чтобы убедиться что все установлено правильно используйте утилиту ip.

Настройка статического ip-адреса на сетевых интерфейсах в CentOS 7

Сбросить IP

Если IP получен по DHCP можно освободиться от него выполнив

sudo dhclient -r enp0s8

Вместо enp0s8 введите имя нужного адаптера. Эту команду обычно нужно выполнять тем, кто делал сброс адреса.

Что нового в CentOS 8?

24 сентября 2019 года, вышел релиз 8-ой версии CentOS. CentOS — дистрибутив Linux, основанный на коммерческом Red Hat Enterprise, компании Red Hat и совместимый с ним.

Рассмотрим наиболее крупные изменения в релизе CentOS 8:

  • Используется ядро Linux kernel 4.18.
  • Переход с пакетного менеджера yum на dnf. В данный момент yum существует как алиас к dnf.
  • Выполнено разделение основного репозитория на 2 — это BaseOS и AppStream. Сделано это для того, чтобы у пользователя появилась возможность устанавливать разные версии пакетов на сервер. BaseOS работает как и раньше.
  • Обновилось все ПО, в том числе и ядро. В базовом репозитории теперь устанавливается php версии 7.2 (наконец-то).
  • Замена iptables на nftables. Лично я пока еще со вторым не работал напрямую, поэтому не могу сказать, хорошо это или плохо. Единственный момент, если нужно будет переносить какие-то проекты на новую ОС, придется разбираться с правилами, так как есть сервера с чистым iptables.
  • network-skripts не используются по умолчанию для настройки сети, теперь управления сетью возложено на Network Manager.
  • По умолчанию устаналивается веб-интерфейс управления сервером cockpit (удобно для новичков).
  • Для управления контейнерами используется podman (вместо docker и mobdy).
  • Новая версия стека TCP/IP 4.16 с улучшенной производительностью и поддержкой алгоритмов контроля BBR и NV.
  • Новые версии дситрибутивов:

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

В системах, основанных на дистрибутиве RedHat, файлы настройки сети немного отличаются. Тут за начальную настройку сети отвечает фреймворк Wiched. Настройки получения IP адреса хранятся отдельно для каждого сетевого интерфейса в файлах /etc/sysconfig/network-scripts/ifcfg-имя_интерфейса, например, enp2s0. Настройки статического ip для сетевого адаптера с адресом enp2s0 будут выглядеть следующим образом:

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp2s0

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

sudo systemctl restart networking

Готово, настройка ip адреса linux с помощью стандартных средств системы завершена и вы можете дальше использовать свой компьютер.

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

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

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

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

# nano /etc/default/grub

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

net.ifnames=0 biosdevname=0

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

GRUB_CMDLINE_LINUX="consoleblank=0 fsck.repair=yes crashkernel=auto nompath selinux=0 rhgb quiet net.ifnames=0 biosdevname=0"

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

# grub2-mkconfig -o /boot/grub2/grub.cfg

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

# mv /etc/sysconfig/network-scripts/ifcfg-ens3 /etc/sysconfig/network-scripts/ifcfg-eth0

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

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

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

# ip a

ip a - centos

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

Установка CentOS 8 с помощью ISO-образа

Так как я проводил установку операционной системы на виртуальной машине KVM, предварительно я скачал установочный ISO-образ с одного из официальных зеркал (https://www.centos.org/download/mirrors/) и примонтировал его для установки на виртуальном сервере (при установке на физический сервер залейте установочный образ СentOS на USB флешку). Сразу скажу, процесс установки CentOS 8, не отличается от установки предыдущей версии и данная статья рассчитана на то, что будет служить помощником для пользователей, которые выполняют подобное впервые.

В рекомендуемых требования указано, что для установки CentOS 8 необходимо минимум 10 Гб места на диске и 512 Мб RAM на одно ядро процессора

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

Install CentOS Linux 8.0.1905

Install CentOS Linux 8.0.1905

Выбрав его, у вас запустится процесс установки:

запуск установки centos 8

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

И когда черный экран сменится на интерактивный с логотипом CentOS, пора брать в руки мышь и клавиатуру.

язык установки centos 8

В приветствии, система попросит вас выбрать язык, я всегда ставлю English (английский), потому что мне так удобнее работать (да и не понимаю, зачем вообще ставить русский язык на сервере). Нажмите кнопку “Continue”. В следующем меню нужно выбрать основные настройки для установки CentOS.

параметры установки centos 8

Для запуска установки, обязательно настроить только один пункт “Installation Destination”, там вы указываете разбивку диска, но я предпочитаю так же, сразу настроить сеть и дату со временем.

выбор часового пояса в centos

В зависимости от вашего часового пояса, вы устанавливаете свои параметры, для меня это Москва.

Чтобы настроить сеть, переходим в пункт “Network & Host Name”

настройка сети при установке centos 8

В поле “Host Name” указываем имя сервера и для конфигурации сетевых интерфейсов нажимаем “Configure”

автоматически подключать сеть

В главной вкладке, нужно отметить галочкой “Automatically connect to this network when it is available”, это нужно для того, чтобы сетевой интерфейс поднимался автоматически.

задать статический ip адрес при установке centos 8

Для ввода конкретного IP, нужно выбрать метод “Manual” и нажать кнопку “Add”, после чего у вас появится возможность ввести нужные данные. Сохранив все, мы вернемся к начальному окну настроек сети

сеть в centos подключена

Как можно увидеть на скриншоте, IP адрес добавился и сетевой интерфейс уже поднят (состояние Connected).

Следующим шагом мы перейдем к разбивке диска:

настройка диска при установке centos 8

Для примера установки я воспользовался автоматической разбивкой от разработчиков CentOS. Если вы хотите разбить диск по-своему, нужно выбрать пункт “Custom”.

Так как на моей виртуальной машине, ранее была установлена ОС, система установки увидела это. Я удалил разделы предыдущей операционной системы в последующих открывающихся меню:

очистка разделов на диске при установке centos 8

reclaim disk space

Удалить разделы можно кнопкой “Delete all”, после чего потребуется нажать кнопку “Reclaim space”, чтобы размер дискового пространства стал актуальным.

Список пакетов для установки выбирается в пункте Software Selection. Если вы планируете использовать CentOS 8 в качестве сервера, достаточно выбрать Minimal Install, а из добавлений Standard и Guest Agents (если вы ставите гостевую ОС в виртуальной машине).

После вышеописанных действий, можно запускать установку кнопкой “Begin Installation”

начать установку centos 8

В процессе уже самой распаковки и установки необходимых компонентов, вам потребуется указать пароль для root-пользователя и можно создать дополнительного пользователя, но это не обязательный пункт.

задать пароль root и создать новаых пользователей при установке centos 8

Нажмите на кнопку “Root Password”, введите и повторите пароль и нажмите “Done”, чтобы вернуться к установке:

пароль root

Изначально я задаю простой пароль, чтобы в случае проблем с сетью, я мог легко его ввести в VNC-консоли и исправить проблемы. После того, как система будет установлена, пароль рекомендуется изменить на более сложный. Установка CentOS 8 у меня заняла порядка 5-7 минут и когда в окне установки загорится кнопка “Reboot”, это означает, что все было установлено и нужно перезапустить сервер.

перезагрузка сервера после устаноовки centos 8

На этом установка CentOS 8 завершена.

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

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

# ip a

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

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

  • DEVICE – имя сетевого адаптера, совпадает с именем в системе, у нас это eht0
  • BOOTPROTO – способ назначения IP-адреса (static — статическое значение, указываем в ручную. dhcp — получить адрес автоматически)
  • IPADDR – IP-адрес
  • NETMASK – маска подсети
  • GATEWAY – шлюз по умолчанию
  • DNS1 – Основной DNS-сервер
  • DNS2 — альтернативный DNS-сервер
  • ONBOOT — способ запуска сетевого интерфейса (yes – автоматически, no – вручную)
  • UUID – уникальный идентификатор сетевого интерфейса. Можно сгенерировать самостоятельно командой uuidgen.
  • IPV4_FAILURE_FATAL – отключение сетевого интерфейса с IP-адресом v4, если он имеет неверную конфигурацию (yes – отключить, no – не отключать)
  • IPV6_FAILURE_FATAL – отключение сетевого интерфейса с IP-адресом v6, если он имеет неверную конфигурацию (yes – отключить, no – не отключать)
  • IPV6_AUTOCONF – разрешает или запрещает автоконфигурирование Ipv6 с помощью протокола
  • IPV6_INIT – включение возможности использования адресации Ipv6(yes – адресация может использоваться, no – не используется)
  • PEERROUTES – устанавливает приоритет настройки шлюза по умолчанию, при использовании DHCP
  • IPV6_PEERROUTES — устанавливает приоритет настройки шлюза по умолчанию, при использовании DHCP для IPv6
Читайте также:  Раскройте возможности расширения PHP: руководство для начинающих

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

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

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

# mcedit /etc/sysconfig/network-scripts/ifcfg-eth0

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

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

ONBOOT=”yes”

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

Restarting network (via systemctl): [ OK ]

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

# nmcli connection reload

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

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

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

Получение сетевых настроек DCHP клиентом

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

# nano /etc/sysconfig/network-scripts/ifcfg-ens5

Внесите в него следующие параметры:

DEVICE=ens5
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes

Сохраните файл и перезапустите сетевой сервис:

# systemctl restart NetworkManager

В моем случае IP адрес на интерфейсе появился только после перезагрузки сервера:

3: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:b6:89:82 brd ff:ff:ff:ff:ff:ff
inet 15.10.0.101/8 brd 15.255.255.255 scope global noprefixroute ens5

Несколько полезных команд для DHCP-клиента:

# dhclient -r ens5
– освободить текущий IP адрес
# dhclient -v ens5
– получить новый IP адрес у DHCP сервера
# dhclient -v ens5 -H testserver
– указать имя клиента

Имя клиента вы можете прописать на сервере(dhcp-клиенте) в файле /etc/dhcp/dhclient.conf, Добавьте строку:

send host-name "testserver";

# dhclient -r ens5
# dhclient -v ens5

Открыть порт

Чтобы открыть порт XXXX в firewall выполните

sudo firewall-cmd —add-port=XXXX/tcp —permanent

sudo firewall-cmd —reload

Подробности в статье
Centos firewall

Базовая настройка CentOS 8 после установки

Базовая настройка CentOS 8 практически не отличается от настройки CentOS, я делаю базовые настройки одинаковые на всех серверах.

CentOS 8: Установка обновлений и инструментов администратора

Как уже отмечалось ранее, в CentOS 8 на замену yum, пришел dnf.

Dnf – это следующее поколение приложения YUM, менеджер пакетов для дистрибутивов Linux на основе RPM-пакетов. Ранее dnf использовался в дистрибутивах Fedora, а теперь и в CentOS 8.

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

dnf update -y

Если образ свежий, то скорее всего у вас не будет пакетов для обновлений как в моем случае:

Last metadata expiration check: 0:21:47 ago on Wed 09 Oct 2019 02:36:45 PM +06.
Dependencies resolved.
Nothing to do.
Complete!

Если у вас обнаружатся обновления, обязательно их установите.

Следующим шагом, подключим репозиторий EPEL и установим необходимые утилиты для удобного администарирования сервера:

dnf install epel-release -y
dnf install mc wget screen nano net-tools bind-utils curl lsof vim -y

Мне для комфортного администрирования хватает этого набора утилит, вы можете установить свои привычные утилиты.

Автоматическое обновление системы я не включаю, так как всегда устанавливаю необходимые обновления вручную. Если вы хотите настроить автоматическое обновление, установите пакет dnf-automatic:

dnf install -y dnf-automatic

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

systemctl list-timers *dnf-*

Отключение SELinux

На начальном этапе я всегда отключаю SELinux (для применения изменения нужно перезагрузить сервер):

Отключение SELinux налету, можно выполнить командой:

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

Так как сеть я настроил на этапе установки системы, настройка ее в данный момент не требуется (подробная статья по настройке сети в CentOS). Хочу лишь сказать, что в CentOS 8, сеть управляется только через Network Manager и утилиту nmcl. Network-scripts по умолчанию не поддерживаются. Если честно, в своей работе я всегда отключал NM и не использовал, для меня это не удобный инструмент, теперь придется разбираться и с ним.

Проверка статуса сети:

● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-10-07 08:23:11 MSK; 3h 37min ago
Docs: man:NetworkManager(8)
Main PID: 870 (NetworkManager)
Tasks: 3 (limit: 5060)
Memory: 4.7M
CGroup: /system.slice/NetworkManager.service
└─870 /usr/sbin/NetworkManager --no-daemon

Установка и смена hostname

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

hostnamectl set-hostname нужный_хостнейм

Настройка firewalld в CentOS 8

Добавим в доверенные зоны на firewalld, нужные для начальной работы сервисы (SSH и HTTP/HTTPS):

firewall-cmd –-add-service=ssh
firewall-cmd --permanent –-add-service=http
firewall-cmd --permanent –-add-service=https

Настройка времени и часового пояса (time-zone)

Чтобы посмотреть текущее время и time-zone, нужно ввести команду date:

Wed Oct 9 13:03:00 MSK 2019

Мы указали time-zone при установке самой системы, поэтому у нас время по Москве. Чтобы поменять time-zone, нужно воспользоваться соответствующей командой:

timedatectl set-timezone Europe/Moscow

Где вместо Europe/Moscow вы можете указать свой вариант, например:

Mon Oct 7 15:46:22 +06 2019

Для синхронизации времени используется chronyd, мы включим его и добавим в автозагрузку через systemctl:

systemctl start chronyd
systemctl enable chronyd

● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-10-07 16:13:48 +06; 9s ago
Docs: man:chronyd(8)
man:chrony.conf(5)
Main PID: 31700 (chronyd)
Tasks: 1 (limit: 5060)
Memory: 1.1M
CGroup: /system.slice/chronyd.service
└─31700 /usr/sbin/chronyd

Настройка истории команда в bash_history

Для удобного просмотра истории, я всегда добавляю пару строк в .bashrc, чтобы в последствии можно было легко ориентироваться в отчетах.

При настройке по умолчанию, вывод history выглядит следующим образом:

1 dnf repolist
2 dnf install epel-release

То есть мы видим, что выполнялось на сервере, но не видим время и точную дату, для меня это критично, так как доступ к серверам могут иметь несколько специалистов. Поэтому приведем history к приятному виду:

Откроем файл /root/.bashrc и добавим в него нужные строки:
nano /root/.bashrc

export HISTSIZE=10000
export HISTTIMEFORMAT="%h/%d/%y - %H:%M:%S "

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

1 Oct/07/19 - 16:16:29 dnf repolist
2 Oct/07/19 - 16:16:29 dnf install epel-release

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

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

# yum install net-tools -y

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

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 185.*.*.* netmask 255.255.255.0 broadcast 185.*.*.255
inet6 fe80::5054:ff:fed3:1c3e prefixlen 64 scopeid 0x20<link>
ether 52:54:00:d3:1c:3e txqueuelen 1000 (Ethernet)
RX packets 2189424 bytes 144208326 (137.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2350 bytes 260486 (254.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

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

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

# ip a

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

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

Изменить маску

Если нужно поменять только маску подсети — выполните

sudo ifconfig enp0s8 netmask 255.255.255.0

Добавить IP

Добавить IP на интерфейс можно командой

ip addr add 172.17.67.3/16 dev enp0s8

IP адрес добавлен динамически — то есть после перезагрузки он пропадёт

Удалить этот IP адрес можно командой

ip addr del 172.17.67.3/16 dev enp0s8

Включать интерфейс при загрузке

Чтобы не включать сетевой интерфейс каждый раз вручную можно в настройках прописать ONBOOT=yes

Как вариант можно перейти в

И отредактировать с помощью

vi

файл

ifcfg-ИМЯ_ИНТЕРФЕЙСА
— например

ifcfg-enp0s3

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Либо под root использовать

sed

sudo sed -i sONBOOT=noONBOOT=yes /etc/sysconfig/network-scripts/ifcfg-enp0s3

Если команда выше вам не до конца понятна — изучите статью

«Основы sed»

Проверить получилось ли изменить ONBOOT на yes можно командой

grep ONBOOT !$

Подробную информацию о каждом сетевом интерфейсе можно получить выполнив nmcli connection show имя_интерфейса

nmcli connection show ens192

connection.id: ens192
connection.uuid: 5c2584c5-7d87-4826-ba2a-79713eb62a9a
connection.stable-id: —
connection.type: 802-3-ethernet
connection.interface-name: ens192
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
connection.timestamp: 1618914913
connection.read-only: no
connection.permissions: —
connection.zone: —
connection.master: —
connection.slave-type: —
connection.autoconnect-slaves: -1 (default)
connection.secondaries: —
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: default
connection.mdns: -1 (default)
connection.llmnr: -1 (default)
802-3-ethernet.port: —
802-3-ethernet.speed: 0
802-3-ethernet.duplex: —
802-3-ethernet.auto-negotiate: no
802-3-ethernet.mac-address: —
802-3-ethernet.cloned-mac-address: —
802-3-ethernet.generate-mac-address-mask:—
802-3-ethernet.mac-address-blacklist: —
802-3-ethernet.mtu: auto
802-3-ethernet.s390-subchannels: —
802-3-ethernet.s390-nettype: —
802-3-ethernet.s390-options: —
802-3-ethernet.wake-on-lan: default
802-3-ethernet.wake-on-lan-password: —
ipv4.method: auto
ipv4.dns: —
ipv4.dns-search: —
ipv4.dns-options: «»
ipv4.dns-priority: 0
ipv4.addresses: —
ipv4.gateway: —

Изменить IP

Быстро изменить IP можно с помощью ifconfig

Сперва нужно установить пакет содержащий ifconfig —

по инструкции

Менять IP нужно командой

sudo ifconfig enp0s8 192.168.56.111

Вместо enp0s8 введите нужный интерфейс

Вместо 192.168.56.111 введите IP, который хотите установить

Если ваш IP был получен от DHCP сервера — сообщите ему о смене выполнив

sudo dhclient -r

Изменённый таким образом IP адрес будет сброшен DHCP сервером на тот, который ему больше нравится
после первой перезагрузки.

Если нужно поменять ещё и маску подсети — выполните

sudo ifconfig enp0s8 192.168.56.111 netmask 255.255.255.0

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Выводы

Вот и все. В этой статье мы рассмотрели как выполняется настройка ip адреса linux. Все это может показаться сложным, но если хорошо разобраться, то смена ip linux уже не будет вызывать таких проблем. Если у вас остались вопросы, спрашивайте в комментариях!

На завершение, видео о том что значат цифры ip адреса и зачем они нужны:

https://youtube.com/watch?v=UVe2W_i0nUE%3Ffeature%3Doembed

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Выводы

В этой статье мы рассмотрели как выполняется настройка сервера CentOS 7 после установки. Как видите, есть много элементарных действий, которые желательно сделать перед тем, как использовать сервер на производстве. Если у вас остались вопросы, спрашивайте в комментариях!

https://youtube.com/watch?v=DykcDYZb8xI%3Ffeature%3Doembed

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Список адаптеров

Получить список адаптеров, в том числе отключенных.

DEVICE TYPE STATE CONNECTION
wlp0s20f3 wifi connected SSH-office
docker0 bridge connected docker0
p2p-dev-wlp0s20f3 wifi-p2p disconnected —
enp0s31f6 ethernet unavailable —
vboxnet0 ethernet unmanaged —
lo loopback unmanaged —

Оцените статью
Хостинги