Настройка сети в CentOS 8, за минуту
- Что мы научимся делать
- Настройка сети при установке CentOS 8
- Настройка IPv6 при установке CentOS 8
- Настройка сети CentOS 8 через конфигурационные файлы
- Установка IFCONFIG в CentOS 8
- Другие методы перезапустить сеть CentOS 8
- Как настроить DNS в CentOS 8
- Как изменить имя в CentOS 8
- Настройка шлюза по-умолчанию в CentOS 8
- Настройка сети CentOS 8 через Nmcli
Добрый день! Уважаемые читатели и гости одного из крупнейших блогов по системному администрированию Pyatilistnik.org. В прошлый раз мы с вами установили CentOS 8 на виртуальную машину Vmware ESXI 6.5. Нужно двигаться дальше и научиться настраивать в CentOS 8 статический IP адрес. а так же получение динамического IP-адреса от сервера DHCP. Эта процедура является базовой настройкой сервера, перед вводом его в эксплуатацию.
Что мы научимся делать
- Разберем способы позволяющие вам настроить сеть в CentOS 8
- Научимся задавать статический IP-адрес в CentOS 8
- Настраивать DNS и основной шлюз в CentOS 8
- Получать IP-адрес по DHCP, автоматически в CentOS 8
- Разберем утилиты Network Manager, System config network tui, Nmcli
- Находить и дублировать сетевую конфигурацию сети
- Как создать конфигурацию виртуального интерфейса
- Разберем траблшутинг сети, отсутствие сетевых карт, недоступен шлюз. Разберем использование утилит ping, traceroute, dig
- Покажу как производится настройка VLAN в CentOS 8
Настройка сети при установке CentOS 8
Подобный методом мы рассматривали, когда во время установки задавали статический Ip адрес CentOS 7, кто не помнит может посмотреть по ссылке. Данный способ хорош тем, что если вы инсталлируете новый сервер, можете все сделать из красивого, графического интерфейса. Находясь на окне "Installation Summary" вам необходимо выбрать пункт "Network & Host Name".
В окне "Network & Host Name" вы увидите список ваших сетевых интерфейсов, они по умолчанию отключены. В моем примере их два. Каждый сетевой интерфейс имеет отличительное имя, в моем примере, это ens33 и ens36. Видно, что текущий статус "Disconnected", чтобы это изменить переведите тумблер с состояния "Off" на "On".
Если в вашей с локальной сети есть сервер DHCP, в моем примере на CISCO, то вы должны получить нужные настройки, как видно я поймал IP адрес 192.168.31.10/24 и DNS 192.168.31.1, 192.168.31.2. Чуть ниже в левом нижнем углу вы можете сразу задать имя вашего сервера CentOS 8. Если вас не устраивает, что CentOS 8 будет получать настройки сети по DHCP и вы хотите задать статический IP-адрес, то нажмите кнопку "Configure".
В окне свойств сетевого интерфейса найдите вкладку IPV4 Settings, обратите внимание, что тут будет поле "Method", в котором по умолчанию стоит "Automatic (DHCP)", то есть динамическое получение сетевых настроек в CentOS 8. На выбор у вас будут вот такие пункты:
- Automatic (DHCP) - автоматическое получение всех настроек: IP, маску, DNS, Основной шлюз, маршруты
- Automatic (DHCP) addresses only - вы получите автоматически только IP-адрес
- Manual - ручная настройка сети CentOS 8
- Link-Local Only - Локальные ссылки назначаются автоматически, когда компьютер не настроен на использование статического IP-адреса и не может найти DHCP-сервер. По сути, то APIPA адрес из диапазона 169.254.0.0
- Shared to other computers - это совместное использование сетевого интерфейса. Простой пример у вас есть сервер с двумя сетевыми интерфейсами один LAN второй WAN, и есть другой сервер, где просто один сетевой интерфейс с LAN и без интернета. Вы можете выставить на первом сервере WAN в режим "Shared to other computers" и указать его в маршрутах для выхода в интернет.
- Disabled - отключение получения настроек
Давайте я настрою статический IP-адрес на моем сетевом интерфейсе ens33. Выставляю в методе получения "Manual". В поле "Address" я нажимаю кнопку "Add", для добавления новых настроек, задаю Ip-адрес, маску в "Netmask" и основной шлюз в "Gateway". Чуть ниже я указываю свои DNS сервера, у меня это 192.168.31.1, 192.168.31.2, так же можете в поле "Search domains" указать ваше имя домена Active Directory, у меня это root.pyatilistnik.org.
Галка "Require IPv4 addressing for this connection to complete (Требовать адресацию IPv4 для этого соединения)" - Чтобы разрешить системе устанавливать это соединение в сети с поддержкой IPv6, если конфигурация IPv4 завершится неудачно, но конфигурация IPv6 будет успешной. Кнопка "Routes" позволяет вам настроить дополнительные маршруты в CentOS 8.
Нажмите кнопку "Add", чтобы добавить IP-адрес, маску сети, адрес шлюза и метрику для нового статического маршрута. Можете выбрать "Use this connection only for resources on its network", чтобы ограничить подключения только к локальной сети.
Настройка IPv6 при установке CentOS 8
Если вы хотите задать настройки для IPv6, то перейдите на соответствующую вкладку. Возможные варианты настройки:
- Игнорировать (Ignore) - IPv6 игнорируется для этого соединения.
- Автоматическая (Automatic) - NetworkManager использует объявление маршрутизатора (RA) для создания автоматической конфигурации без сохранения состояния.
- Автоматически, только адреса (Automatic, addresses only) - NetworkManager использует RA для создания автоматической конфигурации без сохранения состояния, но DNS-серверы и поисковые домены игнорируются и должны настраиваться вручную.
- Автоматический, только DHCP (Automatic, DHCP only) - NetworkManager не использует RA, но запрашивает информацию у DHCPv6 напрямую для создания конфигурации с сохранением состояния.
- Ручная (Manual) - Параметры IPv6 настраиваются вручную для статической конфигурации.
- Link-Local Only - link-local адрес с FE80 ::/10 префиксом назначается интерфейсу
Если вы выбрали метод, который требует ввода параметров вручную, введите сведения об IP-адресе для этого интерфейса, маске сети и шлюзе. Используйте кнопки Добавить и Удалить, чтобы добавить или удалить адреса. Введите разделенный запятыми список DNS-серверов в поле DNS-серверов и разделенный запятыми список доменов в поле "Search Domain" для любых доменов, которые вы хотите включить в поиск серверов имен. При желании введите имя для этого сетевого подключения в поле идентификатора клиента DHCP (DHCP client ID).Это имя должно быть уникальным в подсети. Когда вы назначаете значимый идентификатор клиента DHCP для соединения, это соединение легко идентифицировать при устранении неполадок в сети. Снимите флажок, если он стоит "Require IPv6 addressing for this connection to complete (Требовать адресацию IPv6 для этого соединения для завершения)", чтобы разрешить системе устанавливать это соединение в сети с поддержкой IPv4, если конфигурация IPv6 не удалась, но конфигурация IPv4 прошла успешно.
Сохраняем все сетевые настройки. Теперь можно сказать, что вы произвели базовую настройку сети при установке CentOS 8, можно дальше продолжить инсталляцию.
Настройка сети CentOS 8 через конфигурационные файлы
Первый метод мы с вами разобрали, он подходит всем, кто делает установку системы сам. Теперь ситуация, когда вам передали уже готовую CentOS 8, пусть в установке Minimal, это стандартный нормальный вариант использования CentOS 8, в качестве серверной ОС. Нет графики, нет кучи компонентов, меньше фронт атаки. Подключаемся к вашему терминалу. Первое, что вам необходимо сделать, это посмотреть список и названия всех ваших сетевых интерфейсов, для этого есть команда:
Как видим у меня два сетевых интерфейса ens33 и ens36. У меня почему, то у интерфейса ens33 нет IPv4 адреса, у второго я получил 192.168.253.145, это мой интернет шнурок.
Пробуем с вами посмотреть текущие сетевые настройки IP адреса, маску, шлюз в более удобном виде, для этого мы использовали утилиту IFCONFIG. Пишем команду:
Но в случае с CentOS 8 Minimal у вас выскочит ошибка "Command not found" или в русском варианте "ifconfig команда не найдена". Нам ее нужно установить
Установка IFCONFIG в CentOS 8
Давайте выясним, в каком пакете у нас идет утилита IFCONFIG, для этого вам необходимо выполнить команду:
На выходе я получил "Basic networking tools (BaseOS)"
Установим данный пакет, пишем команду:
Вас спросят хотите ли вы установить данный пакет net-tools, нажмите "Y". Видим, что все успешно установилось.
Пробуем теперь запустить IFCONFIG. Как видим в таком варианте считывание информации, о настройках сети CentOS 8 куда приятнее.
Давайте теперь я отредактирую сетевые настройки для интерфейса ens33 и задам ему:
- IP - 192.168.31.31
- Маску - 255.255.255.0
- Шлюз - 192.168.31.1
- DNS - 192.168.31.1, 192.168.31.2
- Автоматическое включение при старте CentOS 8
В операционных системах CentOS настройки сетевых интерфейсах лежат по пути /etc/sysconfig/network-scripts/. Давайте посмотрим содержимое Для этого введите:
Вы увидите конфигурационные файлы ваших сетевых интерфейсов, в моем случае, это ens33 и ens36
Чтобы настроить сеть на интерфейсах CentOS 8, вам необходимо отредактировать нужный конфигурационный файл. Для этого я воспользуюсь встроенным редактором vi. Пишем команду:
Чтобы начать редактировать файл нажмите клавишу "INSERT"
Далее чтобы задать статический IP-адрес приведите настройки вот к такому виду:
- TYPE=Ethernet
- BOOTPROTO=none (означает задать статические настройки), можно поменять значение на DHCP
- NAME=ens33
- ONBOOT=yes (иначе не будет стартовать при запуске)
- NAME=ens33 мое имя интерфейса
- UUID можно менять при клонировании конфигурационного файла
- IPADDR=192.168.31.31 мой IP-адрес
- PREFIX=24 маска 255.255.255.0
- DNS1=192.168.31.1 мой основной DNS
- DNS2=192.168.31.2 дополнительный DNS
- DOMAIN=root.pyatilistnik.org
- GATEWAY=192.168.31.1 основной шлюз
Чтобы получать динамический IP-адрес по DHCP, выставите в опции BOOTPROTO=dhcp и удалите пункты DNS, IPADDR, PREFIX, GATEWAY
осталось теперь поднять наш сетевой интерфейс для этого есть несколько методов, самый простой использование ifup введите:
Как видим, у меня сетевой интерфейс стал в состояние подключено и я вижу через ifconfig его ip адрес.
Проверим через утилиту PING доступность контроллера домена и другого сервера, отлично пакеты ходят.
Другие методы перезапустить сеть CentOS 8
Чтобы так же поднять сетевой интерфейс вы можете ввести команду:
В итоге я вижу успешный перезапуск сети в CentOS 8.
Снова потушу сетевой интерфейс командой:
Для перезапуска сети введите команду:
Как настроить DNS в CentOS 8
Начиная с CentOS 6, основные настройки DNS стали прописываться в файлах /etc/sysconfig/network-scripts/, но в CentOS есть специальный файл куда попадают настройки из конфига интерфейса, называется он resolv.conf. Честно не знаю, почему так сделали. Resolv.conf - это имя компьютерного файла, используемого в различных операционных системах для настройки преобразователя системы доменных имен (DNS). Файл представляет собой простой текстовый файл, который обычно создается сетевым администратором или приложениями, которые управляют задачами конфигурации системы. Программа resolvconf - это одна из таких программ на FreeBSD или других Unix- машинах, которая управляет файлом resolv.conf.
В большинстве Unix-подобных операционных систем и других, в которых реализована библиотека распознавателя BIND Domain Name System (DNS), файл конфигурации resolv.conf содержит информацию, которая определяет рабочие параметры распознавателя DNS. DNS-распознаватель позволяет приложениям, работающим в операционной системе, преобразовывать понятные человеку доменные имена в числовые IP-адреса, необходимые для доступа к ресурсам в локальной сети или в Интернете. Процесс определения IP-адресов по доменным именам называется разрешением. В системных дистрибутивах Linux /etc/resolv.conf
есть символическая ссылка на /run/systemd/resolve/stub-resolv.conf.
Хочу отметить, что если вы соберетесь редактировать отдельно файл Resolv.conf и вносить альтернативные DNS сервера отличные от тех, что прописаны на сетевых интерфейсах, то после перезагрузки сервера они снова будут затерты на те, что прописаны в конфигурационных файлах сетевых интерфейсов. Давайте я для примера добавлю в это файл сервера Google 8.8.8.8 и 8.8.4.4.
Перезапустим сеть:
После снова смотрим файл и, о чудо ранее добавленные DNS сервера пропали, так, что учитывайте, что все настройки делаются в одном конфиг файле.
Как изменить имя в CentOS 8
Давайте я покажу вам какой конфигурационный файл отвечает за имя хоста (Hostname). Если вы или не вы во время установки CENTOS 8 не удосужились задать правильное DNS имя вашего сервера, то у вас оно по умолчанию будет localhost.localdomain. Посмотреть, это можно командой uname или hostname.
В моем примере, это CentOS 8
Предположим, что я хочу сделать имя SuperCentOS01, для этого отредактируйте конфигурационный файл etc/hostname. Пишем команду;
либо вы можете воспользоваться и вот такой командой, чтобы задать нужное имя хоста в CentOS 8:
Настройка шлюза по-умолчанию в CentOS 8
Если есть необходимость поменять шлюз по умолчанию, или задать его при его отсутствии, то это легко делается. Для начала вам необходимо посмотреть текущие параметры, кто в вашей системе шлюз по умолчанию, для этого есть старая, добрая команда:
0.0.0.0 192.168.253.2 0.0.0.0 UG 0 0 0 ens36
192.168.31.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.253.0 0.0.0.0 255.255.255.0 U 0 0 0 ens36
В итоге в моем примере есть основной шлюз 0.0.0.0 192.168.235.2. Напоминаю, что в системе может быть только один шлюз по умолчанию.
Если хотите поменять его, то для этого вы можете ввести команду:
Если нужно удалить шлюз или маршрут, то для этого есть ключ del.
Настройка сети CentOS 8 через Nmcli
nmcli - это интерфейс командной строки NetworkManager, он идет по умолчанию в CentOS 8, это новое и более удобное средство по настройке сети в centOS 8. Как я показывал выше вы можете посмотреть список ваших интерфейсов командой ip addr show, у меня это ens33 и ens36. Чтобы получить более подробную информацию о сетевом интерфейсе ens33, вы можете выполнить следующую команду:
На выходе ужен больше полезных данныж, тут видно и статус подключения, Ip-адрес, шлюз, DNS, маску, MTU:
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:0C:29:E1:D0:26
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ens33
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.31.31/24
IP4.GATEWAY: --
IP4.ROUTE[1]: dst = 192.168.31.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]: 192.168.31.1
IP4.DNS[2]: 192.168.31.2
IP6.ADDRESS[1]: fe80::ae8e:ebde:2fa6:dea0/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
Давайте теперь для интерфейса настроим сеть вот с такими параметрами:
- Ip - поменяем на 192.168.31.10/24
- Шлюзом сделаю 192.168.31.131
- DNS 192.168.31.231
Первой командой мы зададим или поменяем текущий IP-адрес.
далее зададим шлюз:
Задать DNS
Теперь нужно перезапустить ваш сетевой интерфейс или сеть centOS 8. Сделать, это можно командой:
Эти изменения также будут сохранены в файле /etc/ sysconfig/network-scripts/ens33.
Если нужно настроить дополнительнвый IP-адрес, то введите
Добавить дополнительный DNS:
Как видите утилита nmcli позволяет очень быстро задать статический IP или произвести полную настройку сети в CentOS 8.
Спасибо большое я новичок еще мне очень помогают ваши статьи
Добрый день! Очень рад, что смог вам помочь!
Здравствуйте.
Спасибо. Не хватает как сделать шары чтобы можно было подключиться к сети windows и наоборот
Спасибо, это идея для статьи
Ахаха очень смешно когда нет сети то и yum install net-tools не работает так как нет сети нет ИНТЕРНЕТА!!!
Для особо слепых, тут как бы много методов, кто мешает выбрать нужный?
Как в установщике задать адрес прокси сервера в сети? В настройках интерфейса тупо нет такой возможности. Только авто настройка через скрипт. А включаешь сетевую карту, выходишь из настроек интерфейса, и интерфейс установщика виснет. Как я понимаю опрашивает репозитории до которых достучаться не может.