Linux перезапуск сети centos

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

Инструкция применима к CentOS версий 7 и 8, CentOS mini (минимальная сборка), Fedora.

Базовая настройка сети

Смотрим все установленные сетевые адаптеры в системе:

В результате получаем что-то подобное:

1: lo: mtu 65536 qdisc noqueue state UNKNOWN
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: ens32:
mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:81:28:3c brd ff:ff:ff:ff:ff:ff
inet 192.168.156.22/22 brd 192.168.159.255 scope global ens32
valid_lft forever preferred_lft forever
3: ens34:
mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:81:3f:22 brd ff:ff:ff:ff:ff:ff
inet 10.243.254.68/26 brd 10.243.254.127 scope global ens34
valid_lft forever preferred_lft forever

* Из примера видно, что в моем CentOS есть 3 сетевых карты — lo (локальная петля), ens32 и ens34 — сетевые Ethernet адаптеры.

Если нужно настроить сеть для адаптера ens32, открываем на редактирование следующий конфигурационный файл:

И приводим его к следующему виду:

DEVICE=ens32
BOOTPROTO=static
IPADDR=192.168.0.155
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes

. а также для CentOS 8 добавим:

Основные опции

Опция Описание Возможные значения
DEVICE Имя сетевого адаптера Должно совпадать с именем в системе. В данном примере ens32
BOOTPROTO способ назначения IP-адреса static: ручное назначение IP, dhcp: автоматическое получение IP
IPADDR IP-адрес адрес, соответствующий вашей сети
NETMASK Сетевая маска должна соответствовать вашей сети
GATEWAY Шлюз по умолчанию IP-адрес сетевого шлюза
DNS1 Основной DNS-сервер IP-адрес сервера имен
DNS2 Альтернативный DNS-сервер IP-адрес сервера имен
ONBOOT Способ запуска сетевого интерфейса yes: автоматически при старте сервера, no: запускать вручную командой
NM_CONTROLLED Указываем, должен ли интерфейс управляться с помощью NetworkManager yes: управляется NetworkManager, no: не может управляться NetworkManager

Чтобы настройки применились, перезапускаем сетевую службу.

systemctl restart network

б) для CentOS 8 вводим 2 команды:

systemctl restart NetworkManager

nmcli networking off; nmcli networking on

* в большей степени, это основное отличие версий 7 и 8. Чтобы команды смогли поменять настройки, для интерфейсов необходима настройка NM_CONTROLLED=yes.

Дополнительные опции (не обязательны для работы сети)

Опция Описание Возможные значения
DOMAIN Указываем домен, который необходимо добавлять к имени хостов, если он не указан в запросе явно. Строковое значение, соответствующее имени домена.
IPV4_FAILURE_FATAL Отключение сетевого интерфейса, если IP-адрес (v4) имеет неверную конфигурацию yes: отключать, no: не отключать
IPV6_FAILURE_FATAL Отключение сетевого интерфейса, если IP-адрес (v6) имеет неверную конфигурацию yes: отключать, no: не отключать
IPV6_AUTOCONF Разрешает или запрещает автоконфигурирование IPv6 с помощью протокола Neighbor Discovery yes: разрешить автоконфигурирование, no: запретить
IPV6INIT Говорит о возможности использовать сетевой интерфейс для адресации IPv6 yes: адресация может использоваться, no: не используется
PEERROUTES Задает приоритет настройки шлюза по умолчанию, полученного от DHCP yes: маршрут от DHCP важнее, чем назначенный вручную, no: важнее маршрут, заданный вручную
IPV6_PEERROUTES Задает приоритет настройки шлюза по умолчанию, полученного от DHCP (для IPv6)
UUID Уникальный идентификатор сетевого интерфейса. Его можно сгенерировать самостоятельно командой uuidgen Строка из 32-х символов в формате 8-4-4-4-12.
Например: fca8cc84-6f21-4bac-9ccb-36f281321ba4

Настройка сети из консоли (командами)

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

Назначение IP-адреса или добавление дополнительного к имеющемуся:

ip a add 192.168.0.156/24 dev ens32

* в данном примере к сетевому интерфейсу ens32 будет добавлен IP 192.168.0.156.

Изменение IP-адреса:

ip a change 192.168.0.157/24 dev ens32

* однако, по факту, команда отработает также, как add.

Удаление адреса:

ip a del 192.168.163.157/24 dev ens32

Добавление маршрута по умолчанию:

ip r add default via 192.168.0.1

Добавление статического маршрута:

ip r add 192.168.1.0/24 via 192.168.0.18

Удаление маршрутов:

ip r del default via 192.168.160.1

ip r del 192.168.1.0/24 via 192.168.0.18

Команда ifconfig

В новых версиях CentOS утилита ifconfig не установлена и при вводе одноименной команды можно увидеть ошибку «Команда не найдена». Необходимо либо воспользоваться командой ip (ip address), либо установить утилиту ifconfig.

yum install ifconfig

yum install net-tools

Настройка WiFi

Принцип настройки беспроводной сети на CentOS не сильно отличается от проводной.

Создаем конфигурационный файл со следующим содержимым:

ESSID=»dmoskwifi»
MODE=Managed
KEY_MGMT=WPA-PSK
TYPE=Wireless
BOOTPROTO=none
NAME=dmoskwifi
ONBOOT=yes
IPADDR=192.168.1.50
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=77.88.8.8

* где dmoskwifi — название WiFi сети (SSID).

Несколько IP на одном сетевом адаптере

В зависимости от версии операционной системы, дополнительные адреса добавляются посредством:

  1. Псевдонимов — создание нового виртуального интерфейса с названием : .
  2. Добавлением IPADDRx и NETMASKx в конфигурационном файле.

Рассмотрим оба варианта подробнее.

Создание псевдонимов (более ранние версии CentOS 7 и ниже)

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

DEVICE=ens32:1
BOOTPROTO=static
IPADDR=192.168.0.156
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes

* где ens32 — имя физического интерфейса, :1 — виртуальный номер.

Перезапускаем сетевые службы.

Настройка конфигурационного файла (поздние версии CentOS 7 и выше)

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

DEVICE=ens32
BOOTPROTO=static
IPADDR=192.168.0.155
NETMASK=255.255.255.0
IPADDR1=192.168.0.156
NETMASK1=255.255.255.0
IPADDR2=192.168.0.157
NETMASK2=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes

* где ens32 — имя физического интерфейса, дополнительные адреса задаются с помощью опций IPADDR1, IPADDR2, NETMASK1, NETMASK2.

Перезапускаем сетевые службы.

Для автоматического получения IP-адреса от сервера DHCP мы должны задать следующее значение для опции BOOTPROTO в конфигурационном файле:

* в наших примерах выше данный параметр имеет значение static.

Переопределение DNS с помощью dhclient.conf

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

interface «enp0s3»
<
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
>

* где enp0s3 — имя сетевого интерфейса, который будет получать адрес от сервера DHCP. 8.8.8.8, 8.8.4.4 — адреса, которые будут настоены на интерфейсе, независимо от того, какие предложит сервер DHCP.

Или мы можем использовать адреса от DHCP, но сделать приоритетными свои:

interface «enp0s3»
<
prepend domain-name-servers 127.0.0.1;
>

* в данном примере, мы зададим в качестве основного сервера DNS — 127.0.0.1.

Чтобы данный метод сработал в CentOS 8, необходимо открыть файл:

В раздел [main] добавить:

Переопределение DNS в NetworkManager (альтернативный способ)

Метод, описанный выше по переопределению DNS не подходит для NetworkManager без изменения настройки dhcp, так как адреса будут получены и обработаны с помощью встроенных методов. Выше, предоставлено решение в виде настройки dhcp=dhclient, однако мы рассмотрим альтернативный способ, на случай, если кому-то это пригодится.

sleep 1
rm -f /etc/resolv.conf
echo ‘# Generated by dispatcher’ > /etc/resolv.conf
echo ‘nameserver 127.0.0.1’ >> /etc/resolv.conf
echo » >> /etc/resolv.conf
cat /var/run/NetworkManager/resolv.conf >> /etc/resolv.conf

* в данном примере мы создали скрипт, который сначала добавит нужную нам запись в файл /etc/resolv.conf, а после добавит туда значения, полученные от DHCP. Обратите внимание, что в конкретном примере:

  • адрес 127.0.0.1 задается в качестве приоритетного сервера DNS.
  • остальные настройки получаем от DHCP, которые NetworkManager помещает в файл /var/run/NetworkManager/resolv.conf.

Разрешаем запуск скрипта:

chmod +x /etc/NetworkManager/dispatcher.d/99-resolv.conf.dhclient

systemctl restart NetworkManager

Через 2 секунды проверяем:

Читайте также

Другие статьи на тему сетевых настроен CentOS:

Источник

6 different commands to restart network in RHEL/CentOS 7/8

Table of Contents

In this tutorial I will share different methods you can use to restart your network with RHEL/CentOS environment. I will cover both RHEL/CentOS 7 and 8 releases as with RHEL/CentOS 8 there are some major changes in terms of how networking is handled. Now Red Hat is completely moving towards Network Manager and is trying to ditch the legacy initscripts.

Some Background and Changes with RHEL/CentOS 8

If you are coming from RHEL/CentOS 5 or 6 then you will be familiar with SysV scripts to restart any service i.e.

With RHEL/CentOS 7 the SysV scripts are deprecated (although you may still use these commands but they can be removed any time and shouldn’t be used). Now all the system services, partitions, sockets are handled by systemd. But that is a different topic altogether, now with RHEL/CentOS 7 we used

But with RHEL/CentOS 8 we get below error for this command

This is because with RHEL/CentOS 7, the network scripts were part of initscripts rpm, which is removed as part of RHEL/CentOS 8 and is migrated to network-scripts rpm
I have already written a detailed guide on this topic and the steps to use legacy network restart commands.

Now considering all these changes, we have multiple methods which we can use to restart network in RHEL/CentOS release. But before we jump there, let us understand if our interface is managed by NetworkManager or not as your command and steps to restart network would vary accordingly.

How to check if interface is configured with NetworkManager

There are couple of methods to verify if your Ethernet is configured via NetworkManager or manually using ip command or some other method:

Use nmcli con show to list the active connections

If you can see your interface in the output then it means that the interface is configured with NetworkManager

Alternatively grep for NM_CONTOLLED in /etc/sysconfig/network-scripts/ifcfg-ethXX

It is also possible you get a blank output, in such case you can use nmcli to verify but most likely the interface was configured with NetworkManager which is why you don’t see any entry for NM_CONTROLLED .

So now you know if your interface is configured via NetworkManager or not.

Method 1: Using systemctl restart NetworkManager

You can use nmcli or nmtui to configure your network. Once the network configuration is done, you can use systemctl to restart the NetworkManager service

This should update your network changes. But if your network is not managed by NetworkManager , this command will do no change to your interface configuration.

Method 2: Using ifup and ifdown

Use this command with precaution as this can bring down your active interface which you may be using for SSH connections locking you out of the system. The only way to recover the network access by connecting to your server via console.

On RHEL/CentOS 8 with NetworkManager

With RHEL/CentOS 8, the ifup and ifdown commands are part of NetworkManager rpm unlike older releases where these were part of initscripts rpm.

So since you are using NetworkManager , you can also use ifup and ifdown to refresh the network configuration of any interface. For example you did some changes for eth1 , so to refresh the changes first bring down the interface and then bring it up

This should update your network configuration.

On RHEL/CentOS 8 without NetworkManager

On RHEL/CentOS 8 if your network interface is not managed by NetworkManager then you must install network-scripts to be able to use ifup and ifdown command.

Next you can check the rpm ownership for ifup

Now ifup is part of both NetworkManager and network-scripts rpm. Next you can use ifdown eth1 && ifup eth1

Similar WARN is visible for ifup action.

ifup and ifdown interface

Since network-scripts is added just to support fallback behaviour, it throws WARNING every time you use ifup or ifdown without NetworkManager .

Method 3: Using nmcli networking

We can also use the command-line tool » nmcli networking » for controlling NetworkManager to restart network and update network configuration.

This command will bring down all the NetworkManager interfaces and then will bring them up.
IMPORTANT: It is important that you execute the command in this format as if you try to execute separately then your server may become unreachable as the first command will bring down all the NetworkManager managed interfaces

Method 4: using nmcli con up and down

With nmcli we can also use nmcli con up or con down similar to traditional ifup and ifdown to de-activate and activate individual network interface instead of restarting all the networking interfaces on the server.

IMPORTANT: It is important that you execute the command in this format as if you try to execute separately then your server may become unreachable as the first command will bring down all the NetworkManager managed interfaces

Method 5: Using nmtui

We also have NetworkManager TUI which is an alternative to nmcli command. Users who are not comfortable with nmcli command line, they can use nmtui to manage their network
To de-activate or activate a network interface using nmtui , execute nmtui as root user on the Linux server terminal

This should open a window, next select «Activate a Connection» to update the network configuration

Activate a connection

Select the interface which you would wish to deactivate and re-activate.

Next Activate the respective interface

Activate eth1

Once your interface is active, you can come back and exit the nmtui session.

Method 6: Using systemctl restart network

With RHEL/CentOS 8, the initscripts rpm has been deprecated hence this command will not work by default. We must manually install network-scripts rpm from the RHEL/CentOS 8 repository to be able to restart network using this command.

Next you should be able to use the legacy command even on RHEL/CentOS 8 to restart your network interface

Conclusion

In this tutorial I shared different possible methods to restart network service and individual network cards on different Red Hat and CentOS distributions. Red Hat is now pushing the usage of NetworkManager and legacy initscripts is already deprecated. We can expect the network-scripts support to also be dropped in near future so you should already start switching to NetworkManager in your environment.

Lastly I hope the steps from the article to restart network on RHEL/CentOS 7/8 Linux was helpful. So, let me know your suggestions and feedback using the comment section.

Didn’t find what you were looking for? Perform a quick search across GoLinuxCloud

If my articles on GoLinuxCloud has helped you, kindly consider buying me a coffee as a token of appreciation.

For any other feedbacks or questions you can either use the comments section or contact me form.

Thank You for your support!!

2 thoughts on “6 different commands to restart network in RHEL/CentOS 7/8”

How do I configure 2 different networks on one NIC and avoid the reverse path filtering nightmare? On my laptop I have one onboard NIC. I have 2 networks I have to push data across: 192.168.9.x/24 w/gtwy and 22.142.4.x/26 w/ no gtwy as a second address in NetworkManager. But it dies not work. I have set net.ipv4.all.rp_filter=2 (loose)

I am not sure if I understand your question. If you want to create two networks using single interface then you would need virtual LAN

Источник

Читайте также:  Внешний вид linux как windows
Оцените статью