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

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

centos

После процесса установки операционной системы CentOS 7, который описан в соответствующей статье, необходимо выполнить ряд базовых настроек. Одна из которых – настройка сетевых подключений. Рассмотрим по порядку данную операцию.

У начинающих пользователей Linux могут возникнуть затруднения на самом первом этапе – не получится проверить текущее состояние сети командой ifconfig (будет выдаваться сообщение – команда не найдена). Это не проблема, это особенность работы CentOS, поэтому данную команду необходимо запускать от суперпользователя (администратора) командой:

su –

Причина заключается в том, что обычные пользователи системы и root пользователь имеют различные переменные окружения PATH (вы можете посмотреть PATH пользователя при помощи echo $PATH). После ввода команды Linux, оболочка будет искать пользовательский PATH, чтобы попытаться найти команду для запуска. Она начинает поиск в каждой директории указанной в PATH, пока цель не будет найдена. Команды обычных пользователей обычно расположены в /usr/local/bin, /usr/bin и /bin. А команды пользователя root распологаются в основном в /usr/local/sbin, /usr/sbin, /sbin и корневой PATH это отражает. Поэтому, когда вы становитесь суперпользователем при помощи “su -“, то вы также принимаете и новый путь PATH к основным командам. А используя только ‘su’, сохраняется пользовательский путь PATH по умолчанию, следовательно, при попытке выполнить программу расположенную в /usr/local/sbin, /usr/sbin, /sbin выдаст результат: ‘command not found’ error. Для более детального объяснения, смотрите справочную страницу (man bash), особенно раздел login shells. Таким образом, вы или должны указывать полный путь к команде (пример – /sbin/ifconfig) при использовании ‘su’, либо использовать ‘su -‘, когда становитесь root-ом.

Для проверки текущих сетевых настроек стоит использовать команду:

ip a

При работе в ОС семейства Linux, необходимо знать и понимать, что все аппаратные и программные устройства, а также различные параметры самой операционной системы и программ хранятся в конфигурационных файлах. Таким образом, конфигурационные файлы интерфейсов управляют программными интерфейсами отдельных сетевых устройств. При загрузке ОС происходит считывание этих файлов и информации в ней, на основе которой и происходит определение необходимых (используемых и настроенных) интерфейсов, а также их запуск.

Такие файлы обычно называются ifcfg-<имя>, где <имя> относится к имени устройства, которое управляется этим конфигурационным файлом. Как было сказано выше – все интерфейсы и параметры ОС хранятся в различных специализированных файлах, что дает администратору удобною и гибкую возможность настройки параметров ОС и оборудования.

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

Настроим сетевой интерфейс путем редактирования конфигурационного файла, который расположен в директории /etc/sysconfig/network-scripts/

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

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

Напоминаю, чтобы внести изменения в содержание файла в редакторе vi– необходимо:

  • нажать клавишу “i” или “Insert”
  • для выхода из режима редактирования – “esc”
  • для сохранения внесенных изменений – “Shift+:” затем “wq” и нажать “Enter”

Для сети со статическим IP адресом:

DEVICE=”eth0″
BOOTPROTO=”none”
ONBOOT=”yes”
IPADDR=”192.168.1.100″
NETMASK=”255.255.255.0″
GATEWAY=”192.168.1.1″

Для сети с использованием DHCP:

DEVICE=”eth0″
BOOTPROTO=”dhcp”
ONBOOT=”yes”

Комментарии выполненных действий:

DEVICE=<name>Имя физического устройства
BOOTPROTO=<none|bootp|dhco>Используемый протокол.
none – Не используем никакой протокол при загрузке
bootp – Используем BOOTP протокол
dhcp – Используем DHCP
ONBOOT=<yes|no>Активировать ли устройство во время загрузки
IPADDR=<address>IP адрес
GATEWAY=<address>IP адрес шлюза
NETMASK=<mask>Значение сетевой маски

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

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

# vi /etc/sysconfig/network

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

NETWORKING=”yes”
HOSTNAME=”Имя.Вашего.Сервера” или рабочей станции

Для корректного применения настроек (чтобы они вступили в силу) выполняем перезапуск сети:

# /etc/init.d/network restart

Если изменения в файле /etc/sysconfig/network не требуются, тогда можно рестартануть только интерфейс :

# ifdown eth0 && ifup eth0

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

ifconfig eth0 192.168.Х.Х netmask 255.255.255.0

Для отключения сетевого интерфейса выполните:

ifconfig eth0 down

Если же вы хотите, чтобы настройки были получены автоматически по DHCP, то выполните следующую команду:

dhclient eth0

В данном случае, чтобы прекратить работу сетевого интерфейса необходимо будет завершить работу программы dhclient:

killall dhclient

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

Настройка DNS

Открываем файл ‘resolv.conf’ :

# vi /etc/resolv.conf

Пропишите Ваши DNS сервера :

nameserver 192.168.Х.Х
nameserver 192.168.Х.Х

или же всем знакомый и привычный – 8.8.8.8 / 8.8.4.4

Настройка работы сети (и сетевых инструментов) в CenOS завершена.

blank

Занимаюсь IT с 2007 года. Всё началось с увлечения — разгона компьютерного оборудования. Много воды и азота утекло с тех пор... Сейчас уже более 3х лет со своей командой оказываю комплексную поддержку и продвижение бизнеса: SEO, Яндекс.Директ, рассылки и удалённое обслуживание серверов. Буду рад помочь, обращайтесь!

Оцените автора
IT для специалистов и бизнеса
Добавить комментарий

  1. blank
    DmitryS

    Вечер добрый, сегодня настраивал сетевой интерфейс на CentOS 7 и при указании dns в resolv.conf, получаю unknown host при пинге ya.ru, при этом в файле появилось сообщение с рекомендацией внести dns в ifcfg-eth0 в формате DNS1=xx.xx.xx.xx.
    При настройке версий ниже 7, проблем никогда не возникало.

    Ответить
    1. blank
      Alex S

      Добрый.
      Аналогичная проблема. По IP яндекс пингуется.
      Удалось решить проблему?

      Ответить
      1. blank
        DmitryS

        К сожалению пока нет, пересетапил и настроил сеть при установке, на выходных буду разбираться.

        Ответить
      2. blank
        DmitryS

        Просетапил CentOS 7
        отредактировал /etc/sysconfig/network-scripts/ifcfg-eno1
        BOOTPROTO изменил с dhcp на none
        добавил строки:
        IPADDR=xx.xx.xx.xx
        NETMASK=xx.xx.xx.xx
        GATEWAY=xx.xx.xx.xx
        DNS1=хх.хх.хх.хх
        DNS2=xx.xx.xx.xx
        Больше изменений никуда не вносилось.
        Сеть работает.

        Ответить
        1. blank
          Alex S

          я тоже DNSы в настройках интерфейса прописал.

          Ответить
          1. blank
            DmitryS

            И не завелось?

          2. blank
            Alex S

            Все завелось. Все работает 🙂

  2. blank
    SsergeySav

    ещё бы не помешало добавить настройку доп праметров. Я не нашёл как в конфиге прописать
    ethtool -s enp0s3 speed 1000 duplex full autoneg off
    ethtool -G enp0s3 rx 4096 tx 4096

    Ответить
    1. blank
      SsergeySav

      точнее нашёл только часть
      в файле /etc/sysconfig/network-scripts/ifcfg-enp0s3 можно прописать
      ETHTOOL_OPTS=”speed 1000 duplex full autoneg off”
      но как задавать остальные параметры пока не понятно

      Ответить
      1. blank
        Igor Ovcharenko

        Хорошо, в ближайшее время добавлю данную информацию.

        Ответить
        1. blank
          LumpenVasya

          Прошло 2 года…

          Ответить
          1. blank
            Николай Моисейко

            и 4 месяца