Настройка сети в CentOS, Fedora, Red Hat Enterprise Linux (RHEL)
Настройка сети в CentOS, Fedora, Red Hat Enterprise Linux (RHEL)
Рассмотрим конфигурирование сети в операционных системах по управлением Red Hat Enterprise Linux (RHEL) / CentOS / Fedora.
Коротко о дистрибутивах:
Red Hat Enterprise Linux (RHEL) — Операционная система на снове Linux выпускаемая компанией Red Hat для корпоративного использования и распространяется по годовой платной подписке. Состоит из хорошо провереных и отлаженных компонентов.
Fedora — Операционная система выпускаемая также компанией Red Hat, но в отличие от RHEL проект Fedora распространяется свободно, на Fedore тестируются новых разработки компании Red Hat, которые в дальнейшем уже испольуются для корпоративно дистрибутива RHEL.
CentOS — Операционная система основанная на исходном коде RHEL и по сути является ее клоном. Проект был создан и поддерживается интернациональной командой энтузиастов.
Основные конфигурационные файлы.
Сетевые настройка осуществляется методом правки конфигурационных файлов, т.к. Fedora и CentOS основаны на RHEL, то и сами файлы настроек и их расположение однинаковое, поэтому дальнейшие примеры настроек будут подходить ко всем трем дистрибутивам.
Файл настройки общей интформации /etc/sysconfig/network
В этом файле задается сетевое имя компьютера (HOSTNAME), дефолтный маршрут (GATEWAY), DNS-домен (DOMAINNAME).
Пример конфигурации в файле network для Red Hat / CentOS / Fedora.
[root@linux ~]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=myhostname DOMAINNAME=domainname.com ## поле является необязательным. GATEWAY=192.168.1.1 ## default gateway для системы.
Скрипты настройки сетевых интерфейсов /etc/sysconfig/network-scripts/ifcfg-*
В этих файлах настраиваются основные данные для сетевых интерфейсов такие как ip адрес (IPADDR), сетевая маска (NETMASK), адрес сети (NETWORK), braodcast адрес (BROADCAST). Под звездочкой понимается имя сетевого интерфейса, например eth0, eth2, eth3, lo и т.п., зависит от количества установленных сетевых карт в системе.
Приведу пример файла cо статической настройкой сетевых параметров интерфейса eth0 для Red Hat / CentOS / Fedora.
[root@linux ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ## eth0 - имя интерфейса. BOOTPROTO=static HWADDR=FE:14:7E:68:FA:FB ## mac адрес интерфейса. IPADDR=192.168.1.10 NETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 ONBOOT=yes ## параметр yes означает автоматически поднимать интерфейс eth0 при загрузке системы.
Пример файла с настройкой интерфейса eth2 на получаение сетевых адресов по протоколу DHCP для Red Hat / CentOS / Fedora.
[root@linux ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2 DEVICE=eth2 BOOTPROTO=dhcp HWADDR=00:16:D7:AC:19:93 ONBOOT=yes
Также во всех система присуствует файл с настройками loopback интерфеса (lo).
[root@linux ~]# cat /etc/sysconfig/network-scripts/ifcfg-lo DEVICE=lo IPADDR=127.0.0.1 NETMASK=255.0.0.0 NETWORK=127.0.0.0 BROADCAST=127.255.255.255 ONBOOT=yes NAME=loopback ## имя интерфейса.
Файл настройки статических маршрутов /etc/sysconfig/static-routes
Все записи о статических маршрутах содержащемся в этом файле будут автоматически добавлены при загрузке системы в таблицу маршрутизации. В формае записи маршрута сначала идет интерфейс, можно указать any, что будет означать любой интерфейс, потом идет тип маршрута (host — адрес хоста или net — адрес сети) , сеть, маска данной сети, и шлюз.
[root@linux ~]# cat /etc/sysconfig/static-routes eth0 -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 any -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1
Скрипт для настройки статических маршрутов для конкретного интерфейса /etc/sysconfig/network-scripts/route-eth0
Если данного файла вы ненайдете в системе неотчаивайтеь просто создайте его и пропишити нужный вам маршрут.
[root@linux ~]# cat /etc/sysconfig/network-scripts/route-eth0 192.168.0.0/16 via 192.168.1.1
Файл /etc/hosts
Впоследнее время неактуален раньше использовался для соответствия списока ip-адресов и символьных имен.
Файл настроек DNS серверов /etc/resolv.conf
В этом файле перечисляется список ip адресов DNS серверов.
[root@linux ~]# cat /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4
Управление сетевыми интерфейсами.
Для просмотра состояния и конфигурации интерфейса существуют специальные команды.
[root@linux ~]# ifconfig [root@linux ~]# ip a
Посмотреть таблицу маршрутизации модно используя команду:
[root@linux ~]# netstat -r
В Red Hat Enterprise Linux (RHEL) / CentOS / Fedora существуют специальные сценарии для управления сетевыми интерфейсами.
Сценарии ifup и ifdown позволяют включить или отключить сетевой интерфейс. В качестве аргумента эти сценарии принемают имя интерфейса.
ifdown eth0 - отключит интерфейс. ifup eth0 - включить интерфейс.
Сценарий service network или /etc/init.d/network позволяют включить (start), отключить (stop) или перезапустить (restart) все интерфейсы разом.
service network stop service network restart /etc/init.d/network start
И на последок, функция маршрутизации между интерфейсами по умолчанию отключена, однако ее можно включить для этого надо добавить в файл /ete/sysctl.conf запись net.ipv4.ip_forward=1 и перезапустить систему.
На этом рассмотрение настройки сети в операционных системах Red Hat Enterprise Linux (RHEL) / CentOS / Fedora завершено.
Настройка сети в RedHat (RHEL) 7 Linux и Fedora 25 через консоль
1. Просмотр текущей конфигурации сети
Вначале нужно посмотреть текущие настройки сети. Сделать это можно с помощью следующих команд.
Примечание: далее в примерах показано как конфигурировать одну сетевую карточку в сервере, в котором вставлено 4 сетевых карточки.
Посмотреть IP-адрес на каждом сетевом интерфейсе:
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
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: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 14:18:82:6f:f8:ec brd ff:ff:ff:ff:ff:ff
inet 10.153.0.231/16 brd 10.153.255.255 scope global dynamic eno1
valid_lft 175048sec preferred_lft 175048sec
inet6 fe80::77d0:dad3:c3a8:7358/64 scope link
valid_lft forever preferred_lft forever
3: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 14:18:82:6f:f8:ed brd ff:ff:ff:ff:ff:ff
4: eno3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 14:18:82:6f:f8:ee brd ff:ff:ff:ff:ff:ff
5: eno4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 14:18:82:6f:f8:ef brd ff:ff:ff:ff:ff:ff
6: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 1a:ac:77:ea:ed:ab brd ff:ff:ff:ff:ff:ff
Здесь нужно обратить внимание, что сетевые карточки на 2017 год обозначаются не ethX, а enoX, причем счет идет с единицы. Нас будет интересовать карточка eno1. Параметры «scope global dynamic eno1» говорят о том, что IP-адрес получен динамически (нужно уточнить, так ли это…).
Таблица маршрутизации:
# ip route
default via 10.153.0.1 dev eno1 proto static metric 100
10.153.0.0/16 dev eno1 proto kernel scope link src 10.153.0.231 metric 100
Сведения о DNS-сервере:
# dig | grep SERVER
;; SERVER: 77.88.8.8#53(77.88.8.8)
В принципе, можно посмотреть сведения о IP адресах сетевых устройств по-старинке, через программу ifconfig, если она установлена. У нее более человекочитаемый вывод:
# ifconfig
br0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 8a:ac:77:ea:ed:ab txqueuelen 1000 (Ethernet)
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
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.
inet6 fe80::77d0:dad3:c3a8:7358 prefixlen 64 scopeid 0x20<link>
ether 94:18:82:6f:f8:ec txqueuelen 1000 (Ethernet)
RX packets 2616536 bytes 879913134 (839.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 297129 bytes 30950356 (29.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16
eno2: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 94:18:82:6f:f8:ed txqueuelen 1000 (Ethernet)
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
device interrupt 17
eno3: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 94:18:82:6f:f8:ee txqueuelen 1000 (Ethernet)
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
device interrupt 16
eno4: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 94:18:82:6f:f8:ef txqueuelen 1000 (Ethernet)
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
device interrupt 17
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 17 bytes 1441 (1.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 17 bytes 1441 (1.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2. Простой путь конфигурирования
Если в системе используется NetworkManager, то можно воспользоваться текстовой утилитой nmtui, которая предоставляет ncurses-интерфейс в текстовом режиме. По-умолчанию эта утилита не ставится вместе с NetworkManager, поэтому ее нужно поставить вручную. Для этого нужно установить пакет NetworkManager-tui.
Проверить, стоит ли в системе NetworkManager можно командой:
# rpm -qa | grep etwork
NetworkManager.x86_64
NetworkManager-glib.x86_64
NetworkManager-team.x86_64
NetworkManager-tui.x86_64
dracut-network.x86_64
glib-networking.x86_64
network-manager-applet.x86_64
NetworkManager-config-server.x86_64
NetworkManager-glib.i686
NetworkManager-glib-devel.i686
NetworkManager-glib-devel.x86_64
cockpit-networkmanager.noarch
kf5-networkmanager-qt.i686
kf5-networkmanager-qt.x86_64
libproxy-networkmanager.x86_64
python-networkmanager-doc.noarch
python2-networkmanager. noarch
Тут нужно обратить внимание, что пакеты для NetworkManager в 2017 году именуются как попало: и с использованием ВерблюжьегоРегистра, и с использованием только строчных букв. Поэтому поиск надо проводить по строке «etwork» чтобы увидеть все соответствующие пакеты, либо писать соответствующее регулярное выражение типа «[Nn]etwork[Mm]anager».
Установить пакет с утилитой nmtui можно командой:
dnf install NetworkManager-tui
После установки можно от рута запустить команду nmtui, и откроется текстовый интерфейс:
Рисунок 1
При нажатии «Изменить соединение» откроется выбор интерфейса, который надо сконфигурировать:
Рисунок 2
Выбирается сетевой интерфейс, потом с помощью клавиши TAB выбирается действие «Изменить», нажимается Enter, и откроется окно редактирования параметров:
Рисунок 3
При нажатии ОК параметры будут запомнены, но не применятся. Для того, чтобы применить параметры, нужно войти в режим «Подключиться» (см. рис.1), выбрать нужный сетевой интерфейс, и нажать «Отключить», а потом снова этот же интерфейс включить путем нажатия на кнопку «Включить»:
После этих действий рекомендуется посмотреть состояние подключения командами из раздела 1, и убедиться, что сеть настроена правильно.
3. Сложный путь — конфигурировать сеть вручную
Чтобы сконфигурировать сеть через файлы, в первую очередь нужно отключить сервис NetworkManager. Данный сервис обычно устанавливается вместе с графическими средами типа KDE/Gnome/MATE, но может стоять и при отсутствии графических сред. Перед ручным конфигурированием его нужно отключить:
Остановка сервиса и запрет его автостарта:
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
Для того чтобы далее снова включить сервис, можно будет воспользоваться командой:
sudo systemctl start network.service
4. Редактирование файла настройки интерфейса ifcfg-<имя_интерфейса>
Для настройки интерфейса eno1 нужно открыть файл /etc/sysconfig/network-scripts/ifcfg-eno1, и отредактировать его. Если такого файла нет, его нужно создать.
Если этот интерфейс ранее конфигурировался автоматически по DHCP, то содержимое этого файла будет примерно таким:
HWADDR=14:18:82:6F:F8:EC
TYPE=Ethernet
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=eno1
UUID=15371ad3-5c7d-37ea-bab7-fbb7287686d7
ONBOOT=yes
AUTOCONNECT_PRIORITY=-999
DNS1=77.88.8.8
PEERDNS=no
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no
ZONE=home
BRIDGE=br0
В этом файле есть четыре обязательные опции, которые в обязательном порядке всегда должны присутствовать:
HWADDR=14:18:82:6F:F8:EC
TYPE=Ethernet
BOOTPROTO=dhcp
ONBOOT=yes
Где:
- HWADDR — MAC-адрес карточки.
- TYPE — для Ethernet-интерфейса значение этой опции всегда будет Ethernet.
- BOOTPROTO — для конфигурирования по DHCP значение будет dhcp,
а для ручного конфигурирования IP-адреса значение будет none. - ONBOOT — автоматическое поднятие интерфейса при загрузке системы. Обычно указывают значение yes.
Для того, чтобы вручную задать IP-адрес, необходимо привести содержимое файла к такому виду:
HWADDR=14:18:82:6F:F8:EC
TYPE=Ethernet
BOOTPROTO=none
IPADDR0=REPLACE.YOUR.IP.ADDRESS
PREFIX0=23
GATEWAY0=REPLACE.YOUR.GATEWAY.IP
DNS0=REPLACE.YOUR.DNS.IP
DNS1=REPLACE.YOUR.SECOND.DNS.IP (проверить)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_PRIVACY=no
NAME=REPLACE.YOUR.INTERFACE.NAME (говорят что необязательно, ибо имя есть в названии файла)
ONBOOT=yes
DOMAIN=»REPLACE.YOUR.DOMAIN»
NM_CONTROLLED=»no»
Видно, что содержимое файла для варианта DHCP и для варианта со статическим IP адресом сильно отличаются. Из этого следует, что настроить IP-адрес так же просто, как это можно сделать в старых линухах, не получится. Тут все гораздо замудрёней, и без шпаргалки типа этой никуда не уедешь.
5. Редактирование файла настройки маршрутизации route-<имя_интерфейса>
Для настройки маршрутизации интерфейса eno1 нужно открыть файл /etc/sysconfig/network-scripts/route-eno1, и отредактировать его. Если такого файла нет, его нужно создать. Настройки, заданные в этом файле, относятся к статической маршрутизации, и применяются в момент включения интерфейса. Они сохраняются и при перезагрузке компьютера.
Файл нужно привести к такому виду:
# Маршрут «по-умолчанию»
ADDRESS0=0.0.0.0
NETMASK0=0.0.0.0
GATEWAY0=REPLACE.YOUR.GATEWAY.IP
METRIC0=0
# Маршрут сети
ADDRESS1=REPLACE.YOUR.NETWORK.IP
NETMASK1=REPLACE.YOUR.NETMASK.IP
GATEWAY1=0.0.0.0
METRIC1=0
Сведения о таком формате фaйла route-X содержатся в статье:
https://dingyichen. wordpress.com/2014/08/06/fedora-and-rhel-configure-static-ip-and-disable-networkmanager/
Однако практика показывает, что на самом деле формат должен быть другим, примерно таким:
default via 192.168.0.1 dev eth0
10.10.10.0/24 via 192.168.0.10 dev eth0
172.16.1.10/32 via 192.168.0.10 dev eth0
О данном формате можно прочитать в проекте документации (draft) на Fedora 25:
https://docs.fedoraproject.org/en-US/Fedora/25/pdf/Networking_Guide/Fedora-25-Networking_Guide-en-US.pdf
В общем, с этим нужно разбираться дальше.
6. Перезапуск сетевого интерфейса
После внесения изменений в настроечные файлы, нужно перезапустить сетевой интерфейс, чтобы применились новые настройки. Делается это под рутом командами:
ifdown eno1
ifup eno1
После этих действий так же рекомендуется посмотреть состояние подключения командами из раздела 1, и убедиться, что сеть настроена правильно.
3 способа настройки сетевого интерфейса в Linux
Опубликовано: 10 марта 2020 г. | | на Джеймс Бригман (Красная шляпа)
Примечание редактора: эта статья была написана, когда Джеймс Бригман был участником программы Red Hat Accelerator.
Почти для любой полезной работы, которую можно было бы выполнять в системе Linux, требуется сетевой интерфейс. Хотите просматривать веб-страницы, смотреть YouTube, транслировать видео, аудио или файлы? Все делается через сетевой интерфейс. В дистрибутивах Linux на основе RPM, использующих Gnome, есть несколько основных способов настройки сетевого интерфейса. В этой статье я описываю три способа. Все методы конфигурации требуют ввода наборов чисел, позволяющих работать сетевому интерфейсу.
Вам потребуются три основные части числовой информации, чтобы минимально настроить сетевой интерфейс для работы через IPv4 и многое другое, если вы хотите определить такие вещи, как IPv6, имена хостов или DNS-серверы. В этой статье рассматривается минимальный минимум для IPv4. Вот эти три основные числовые части:
IP-адрес: Уникальный номер, определяющий точку доступа к вашему сетевому интерфейсу. Оно имеет форму : xxx.xxx.xxx.xxx, где «xxx» – это три или меньше числа от 0 до 255. Это число может быть полностью составлено, но обычно оно принимает форму, которая работает с остальные три числа. Если вы используете домашний маршрутизатор с DHCP, который является типичной конфигурацией по умолчанию, маршрутизатор «назначит» IP-адрес вашему сетевому интерфейсу. Вам вообще не нужно будет вводить номер.
Шлюз: Уникальный номер, присвоенный сетевому интерфейсу на «другом конце провода», через который должен обмениваться данными ваш компьютер. Опять же, он имеет общий формат xxx.xxx.xxx.xxx и принимает форму, которая также работает с двумя другими числами. Если вы используете домашний маршрутизатор, ваш домашний маршрутизатор генерирует этот номер, потому что это шлюз, через который вы общаетесь с остальным миром.
[ Получите руководство по установке приложений в Linux. ]
Сетевая маска: Неуникальный номер, определяющий саму сеть. Этот номер может быть сгенерирован автоматически, но иногда он запрашивается методом, который вы используете для настройки интерфейса. Он тоже имеет формат xxx.xxx.xxx.xxx.
Обратите внимание, что я не буду вдаваться в как этих чисел; Я просто говорю, что они нужны для настройки сетевого интерфейса. Я пропущу это, чтобы вы могли перейти к сути статьи: три способа настройки сетевых интерфейсов. В каждом случае числа, которые я использую, будут реальными числами, применимыми к системе, которую я использовал для написания этой статьи. Я использовал CentOS 8 для создания образов, но все, что вы видите здесь, одинаково в Fedora и Red Hat Enterprise Linux.
Во время установки
Установщик Anaconda запрашивает настройку сети, и вы не сможете завершить установку, не предоставив эти номера установщику. Вот начальный экран, в котором используется «Имя сети и хоста» в крайнем правом столбце, третий выбор внизу:
Изображение
При выборе «Имя сети и хоста» появляется следующий экран:
Изображение
Программа установки автоматически определила один доступный интерфейс Ethernet и выбрал его для настройки. Текст рядом с выбранным интерфейсом — это системное имя интерфейса, состояние подключения, аппаратный адрес (найдено из системы, это не вводим) и скорость (тоже найдено из системы).
Что делать в этом случае? Просто переместите кнопку подключения Ethernet из положения ВЫКЛ. в положение ВКЛ. и посмотрите, что произойдет:
Изображение
Когда вы сделаете это, появится информация о сети: IP-адрес, маршрут по умолчанию и DNS. Эти номера были получены от DHCP, потому что, когда вы переводите кнопку соединения Ethernet в положение ON, программа установки запрашивает DHCP и регистрирует систему в DHCP. DHCP — это протокол динамической конфигурации хоста. Теперь ваша сеть настроена, и ваша система подключена к локальной сети и, при необходимости, к Интернету.
С рабочего стола
Если вы работаете с системой Linux с помощью графического интерфейса, вы можете настроить сетевой интерфейс с помощью значка в правом верхнем углу экрана. Функция этого значка очень похожа на окно «Телевизор» в правом нижнем углу экрана на панели задач настольной системы Windows.
[ Памятка: список утилит и команд Linux для управления серверами и сетями. ]
Вы можете спросить: «Как вы зашли так далеко, если у вас не была настроена сеть?» В этом случае предположим, что DHCP дал нам наш начальный IP-адрес, но по какой-то причине вам нужно изменить эти параметры. Щелкните значок «Сеть» в правом верхнем углу рабочего стола Linux GNOME:
Изображение
При нажатии на значок сети открывается диалоговое окно:
Изображение
При выборе «Настройки проводной сети» открывается всплывающее окно:
Изображение
Снова есть кнопка ВКЛ/ВЫКЛ, и в этом случае , он находится в положении ON. При выборе кнопки с шестеренкой отображаются сетевые номера, назначенные (по-прежнему DHCP) сетевому интерфейсу. Вы узнаете наши три числа как адрес IPv4, маршрут по умолчанию и DNS.
Если вы нажмете на IPv4, вы увидите, что ваши старые знакомые номера были предоставлены вашему сетевому интерфейсу DHCP.
Изображение
Параметры, определенные в этих графических инструментах, должны находиться в файле, который вы можете видеть. Это файл /etc/sysconfig/network-scripts/ifcfg-enp0s3
. Он управляется средством управления сетью nmcli
. Соответствующая часть информации здесь касается использования DHCP, который используется для сбора этих трех важных сетевых номеров. Эти номера не записываются в файл /etc/sysconfig/network-scripts/ifcfg-enp0s3 . Важный параметр, показанный ниже:
BOOTPROTO="dhcp"
Эта запись означает, что каждый раз, когда эта система загружается, она будет собирать свою сетевую информацию с DHCP-сервера. Но помните, система не хранит эти числа в файле — она хранит их в оперативной памяти и устанавливает конфигурацию сетевого интерфейса каждый раз при загрузке системы.
Изображение
[ Узнайте, как успешно управлять средой Linux. ]
Как исправить проблему «localhost»?
Если ваша система Linux останется без имени, это означает, что она получает имя хоста по умолчанию «localhost.localdomain». Вы не хотите создавать более одной системы с этим именем хоста по умолчанию. Если у вас есть несколько систем с одинаковым именем, вы можете ссылаться на эти системы в сети только по IP-адресу, и имя системы становится бесполезным.
Для DHCP вы можете установить DHCP_HOSTNAME
в файле ifcfg-enp0s3
. Отредактируйте файл и добавьте следующую строку:
DHCP_HOSTNAME=unicorn.mystical.com
Для этой статьи я использую CentOS8/RHEL8. Вы не можете перезапустить сеть с помощью systemctl, потому что network. service
устарела. В версии 8 используйте команду nmcli
для перезапуска сети.
$ сеть sudo nmcli отключена $ sudo nmcli networking on
Выйдите из окна терминала, поскольку вы запустили его до установки DHCP_HOSTNAME
, оно по-прежнему показывает localhost в качестве имени хоста. Вы должны увидеть следующее:
Изображение
И после выхода и перезапуска окна:
Изображение
Есть несколько других способов установить имя хоста (не нужно гуглить). Вы можете найти эту информацию прямо здесь, в Enable Sysadmin. Пожалуйста, обратитесь к этой подробной статье Сета Кенлона о включении системного администратора: «7 способов установить имя хоста в Fedora, CentOS или Red Hat Enterprise Linux».
Дополнительные сведения о настройке сетевых интерфейсов в CentOS8/RHEL8 см. в статье Настройка сети и управление ею.
Темы: линукс Сеть
Настройка сетевых интерфейсов RHEL с помощью NetworkManager
Настройка сетевых интерфейсов
Ниже приведено руководство по настройке сетевых параметров в Red Hat Enterprise Linux 8 или дистрибутиве на основе Red Hat, таком как CentOS. В следующих примерах мы расскажем, как настроить сеть вручную, отредактировав файлы конфигурации, и как использовать инструмент настройки NetworkManager » nmtui «. В большинстве случаев серверы на базе Red Hat 8.0 автоматически настроят любые активные интерфейсы, найденные в процессе установки. Однако будут случаи, когда вам потребуется добавить дополнительные интерфейсы, назначить статические IP-адреса или переключиться на использование DHCP Все следующие примеры были выполнены на стандартном сервере Red Hat Enterprise Linux 8.
Расположение файлов конфигурации сети
Следующие файлы используются для настройки сетевых параметров. Эти настройки включают в себя сетевые интерфейсы, маршрутизацию, DNS, порядок поиска домена, настройку имени хоста и разрешение файла хоста. Эти файлы можно изменить вручную с помощью текстового редактора по вашему выбору или с помощью рекомендуемого сетевого инструмента » нмтуи «.
Файлы сетевого интерфейса
Расположение файлов сетевых интерфейсов, используемых для хранения параметров конфигурации ваших интерфейсов и маршрутизации, можно найти в следующем расположении:
/etc/sysconfig/сетевые сценарии
Интерфейсы обычно следуют соглашению об именах: ifcfg-(interface_name) .
» ifcfg » указывает, что это файл конфигурации интерфейса, а последняя часть имени идентифицирует интерфейс. Традиционно интерфейсы назывались eth0, eth2, eth3 и так далее, однако в Red Hat 8 интерфейсы автоматически именуются в честь адаптера. В этой конкретной системе интерфейс называется « ifcfg-enp1s0 ». Файлы статической маршрутизации также можно найти в этом месте. Они идентифицируются префиксом « маршрут ».
Интерфейсы: ifcfg-(имя-интерфейса)
Маршрутизация: route-(имя-интерфейса)
DHCP против статической IP-адресации
Для большинства сценариев настольных компьютеров использование DHCP (протокол динамической конфигурации хоста) для автоматического получения IP-адреса обычно допустимо. Однако большинству серверов в производственной среде будет назначен статический IP-адрес. Во время базовой установки вы можете указать, хотите ли вы настроить сеть вручную или принять адрес DHCP.
IP-адресация DHCP
DHCP (протокол динамической конфигурации хоста) — это имя протокола для автоматического назначения IP-адресов сетевому интерфейсу при запуске системы. Эти IP-адреса сдаются в аренду на определенный период времени. Это означает, что с течением времени IP-адрес может измениться.
Статическая IP-адресация
Статические IP-адреса — это IP-адреса, назначенные интерфейсу вручную. В отличие от DHCP, эти IP-адреса останутся назначенными интерфейсу, пока администратор не изменит их вручную. В большинстве серверных сред используется статическая IP-адресация.
Чтобы отобразить имя ваших сетевых интерфейсов в вашей системе, вы можете ввести команду: nmcli con
# nmcli con НАЗВАНИЕ UUID ТИП УСТРОЙСТВО enp1s0 2e91e51c-9da7-4f67-bca9-50995728a54f Ethernet enp1s0
Пример файла конфигурации DHCP — ifcfg-enp1s0
Важными параметрами здесь являются: BOOTPROTO=dhcp для типа соединения DHCP.
ТИП=Ethernet PROXY_METHOD=нет БРАУЗЕР_ONLY=нет BOOTPROTO=dhcp DEFROUTE=да IPV4_FAILURE_FATAL=нет IPV6INIT=да IPV6_AUTOCONF=да IPV6_DEFROUTE=да IPV6_FAILURE_FATAL=нет IPV6_ADDR_GEN_MODE=стабильная конфиденциальность ИМЯ=enp1s0 UUID=2e91e51c-9da7-4f67-bca9-50995728a54f УСТРОЙСТВО=enp1s0 ONBOOT=да
Пример файла конфигурации статических IP-адресов — ifcfg-enp1s0
Здесь важны следующие параметры: BOOTPROTO=none для статического типа соединения.
ТИП=Ethernet PROXY_METHOD=нет БРАУЗЕР_ONLY=нет BOOTPROTO=нет DEFROUTE=да IPV4_FAILURE_FATAL=нет IPV6INIT=нет ИМЯ="enp1s0" UUID=2e91e51c-9da7-4f67-bca9-50995728a54f УСТРОЙСТВО=enp1s0 ONBOOT=да IP-АДРЕС=192.168.0.75 ПРЕФИКС=24 ШЛЮЗ=192.168.0.1 DNS1=8.8.8.8 DNS2=8.8.4.4 IPV6_DISABLED=да
BOOTPROTO имеет значение « dhcp » для автоматической настройки IP-адреса. Если установлено значение « none », то должен использоваться статический маршрут. (Обратите внимание, что слово «статический» больше не действует)
Type=Ethernet Указывает, что должно использоваться проводное соединение.
ONBOOT=yes Указывает, что интерфейс должен запускаться при загрузке системы.
NAME=xxxxxxx Указывает имя интерфейса.
IPADDR=xxx.xxx.xxx.xxx Задает IP-адрес, назначаемый интерфейсу.
DNS1=xxx.xxx.xxx.xxx Указывает используемый DNS-сервер. Дополнительные DNS-серверы добавляются с помощью DNS2 …..
Обновить настройки интерфейса
Всякий раз, когда вы вносите изменения в файл интерфейса, вы всегда должны обновлять интерфейс, перезапуская NetworkManager или отключая интерфейс, а затем восстанавливая его.
ПРИМЕЧАНИЕ. Red Hat рекомендует вносить любые изменения в интерфейсы с помощью инструмента настройки « nmtui ». Red Hat не рекомендует вручную вносить изменения в файлы интерфейса.
Чтобы перезагрузить файлы сетевого интерфейса для определенного интерфейса, вы можете ввести команду: nmcli con down enp1s0 && nmcli con up enp1s0 .
Вышеупомянутая команда при вводе переводит интерфейс в состояние « DOWN ». Если это действие выполнено успешно, то будет предпринята попытка вернуть интерфейс обратно « УП «.
Кроме того, вы можете перезапустить « NetworkManager » с помощью следующей команды: « systemctl перезапустить NetworkManager ».
NMTUI
nmtui (текстовый пользовательский интерфейс Network Manager) — это инструмент настройки для управления вашими сетевыми интерфейсами, DNS-серверами и настройками имени хоста на вашем сервере.
Утилита проста в использовании. Навигация осуществляется с помощью » клавиш курсора «, записи можно выбирать с помощью » Пробел «и» Введите «можно использовать для подтверждения выбора.
Чтобы получить доступ к nmtui , введите имя утилиты в свой терминал. Обратите внимание: чтобы вносить изменения с помощью этого инструмента, вы должны быть пользователем « root » или иметь соответствующие разрешения.
Ниже приведен пример изменения конфигурации DHCP на схему статического IP-адреса.
nmtui — статический IP-адрес
Тип: nmtui для запуска утилиты
На приведенном выше экране выберите опцию « Редактировать соединение ».
В приведенном выше примере мы выбираем « enp1s0 ». Выделите опцию « Редактировать… » и нажмите « Введите ».
Теперь вы должны увидеть экран, подобный приведенному выше. (Обратите внимание, имена ваших интерфейсов могут отличаться.)
Теперь нажмите « Показать » справа от раздела « КОНФИГУРАЦИЯ IPv4 ».
Теперь вы можете видеть текущие настроенные параметры. В этом примере ранее было выбрано « Automatic ». Это означает, что текущая конфигурация настроена на использование « DHCP ».
Затем нажмите « Automatic » и измените его на « Manual ». Manual используется для ручного назначения статического IP-адреса. После того, как вы выбрали ручной, нажмите « Enter ».
После выбора » Manual «, вы увидите, что теперь есть слоты, куда вы можете добавить информацию о вашем IP-адресе, информацию о шлюзе и настройки DNS.
В приведенном выше примере я добавил следующие детали:
IP-адрес: 192.168.0.75
Шлюз: 192.168.0.1
DNS-серверы: 8.8.8.8 и 8.8.4.4
После добавления информации об адресе в параметры экрана прокрутите вниз и нажмите « OK » в правом нижнем углу экрана.
Затем нажмите « Активировать соединение », чтобы выбрать интерфейс. Сначала вы должны « Деактивировать » ваш интерфейс, а затем « Активировать » ваш интерфейс. Этот процесс необходимо выполнить, чтобы перезагрузить новую конфигурацию в интерфейс.
Деактивировать интерфейс .
Активировать интерфейс .
Затем выберите « Назад », чтобы вернуться в главное меню, а затем выберите «9».0003 выйти «.
Теперь вы можете проверить правильность ваших новых настроек, выполнив следующую команду:
IP-адрес показать
nmcli — инструмент командной строки NetworkManager
Альтернативным методом настройки статического IP-адреса может быть использование инструмента » nmcli «. « nmcli » — это инструмент, который позволяет вам управлять NetworkManager, а также сообщать о текущем состоянии вашей сети.
Чтобы настроить статическую IP-адресацию, которую мы создали ранее, необходимо выполнить следующие шаги:
nmcli con mod enp1s0 ipv4. addresses 192.168.0.75/24
В приведенном выше примере будет назначен IP-адрес « 192.168.0.75 » с маской подсети « 255.255.255.0 », обозначенной как «/24 ». В файле конфигурации это представлено как « PREFIX=24 ».
nmcli con mod enp1s0 ipv4.gateway 192.168.0.1
Приведенное выше добавляет адрес ШЛЮЗА « 192.168.0.1 » к нашему интерфейсу « enp1s0 «.
nmcli con mod enp1s0 ipv4.method manual
Вышеупомянутое указывает, что мы будем использовать схему ручной IP-адресации ( Static ).
nmcli con mod enp1s0 ipv4.dns «8.8.8.8 8.8.4.4»
Приведенное выше добавляет два наших DNS-сервера к интерфейсу enp1s0. DNS-серверы разделены пробелом между каждым адресом.
nmcli con down enp1s0 && nmcli con up enp1s0
Приведенная выше команда перезагрузит интерфейс и примет сделанные изменения.