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

Способ #1: Настройка IP-адреса путем правки файлов конфигурации

Первое что нужно сделать - определить доступные сетевые устройства.

ip addr

[root@centos ~]ip addr
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
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> 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 сервером.

Сетевым устройством, в моем случае, является enp0s3, у вас это имя может выглядеть по другому, например eth0.

Переходим к конфигурационному файлу /etc/sysconfig/network-scripts/ifcfg-enp0s3 для последующей настройки. Если у вас не оказалось этого файла, то создайте его самостоятельно. Откройте  файл любым редактором, я использую редактор vi.

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

 В свежеустановленной 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              # Включаем настройки при запуске сетевой службы 

Затем добавим пару параметров в файле /etc/sysconfig/network, который относится уже не к отдельному сетевому устройству, а конфигурации сети.

vi /etc/sysconfig/network

NETWORKING=yes        # Конфигурация сети
GATEWAY=192.168.0.1   # Адрес маршрутизатора

Осталось добавить адреса DNS серверов в файле /etc/resolv.conf. В данном файле указывается не более 3 DNS адресов, использоваться будет только первый, если он недоступен, то выбирается далее по списку.

vi /etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4
search meliorem.ru

После правки конфигов перезапустим сетевую службу network.

systemctl restart network

Проверим изменения IP-адреса.

ip addr

[root@centos ~]ip addr
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
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> 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-адрес.

Проверка доступный устройств.

nmcli -p dev

[root@centos ~]nmcli -p dev
=====================
  Status of devices
=====================
DEVICE  TYPE      STATE      CONNECTION
--------------------------------------------------------------
enp0s3  ethernet  connected  enp0s3
lo      loopback  unmanaged  --

Настройка IP-адреса.

nmtui edit ens0s3
Настройка IP-адреса в Network Manager
Настройка IP-адреса в Network Manager

Рекомендую использовать первый способ, т.к. там вы точно знаете, что и где редактируете в отличии от использования Network Manager. Некоторые администраторы и вовсе советуют отключить Network Manager, по причине возможных непреднамеренных изменений настроек сети.

Если вы не хотите, что бы Network Manager управлял каким либо сетевым интерфейсом, то пропишите директиву NM_CONTROLLED=no  в конфиге интерфейса (ifcfg-enp0s3) или вовсе отключите его.

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network