CentOS является разновидностью ОС Linux и основана на дистрибутиве RHEL, но, в отличие от него, бесплатна. Она устанавливается чаще всего на серверах, так как лучше адаптирована к ним. Но, если установка обычно не вызывает вопросов, то настройка сети в CentOS – достаточно сложный процесс.
В этой статье мы рассмотрим чистую установку с нуля и в базовую настройку сервера CentOS 8 в минимальной конфигурации.
- Установка основного шлюза
- Setup Static network on CentOS7 after minimal Installation
- You can see here CentOS 7 Network Manager screen
- Static Network Configuration
- Now we can verify our network is accessible or not?
- That’s all now we have completed Network configuration after CentOS 7 minimal installation.
- Set the Static IP address of CentOS 8 machine through Terminal
- Set the Static IP address of CentOS 8 machine using GUI method
- Conclusion
- About the author
- Network Topology:
- Setting Up Static IP:
- Installing DHCP Server:
- Configuring DHCP Server:
- Configuring the Firewall:
- Testing the DHCP Server:
- Checking Hosts Information from the DHCP Server:
- About the author
- Run system update
- Configure DHCP Server on CentOS 8
- Defining Static IP Address Using DHCP
- Running DHCP Daemon
- Open DHCP UDP Port on Firewall
- Configure DHCP Client on CentOS 8
- Related guides
- Что нового в CentOS 8?
- Базовая настройка CentOS 8 после установки
- CentOS 8: Установка обновлений и инструментов администратора
- Отключение SELinux
- Настройка сети в CentOS 8
- Установка и смена hostname
- Настройка firewalld в CentOS 8
- Настройка времени и часового пояса (time-zone)
- Настройка истории команда в bash_history
- Система не распознает сетевую карту
- Подключение по DHCP
- Добавление памяти и vCPU виртуальной машине KVM
- Конфигурирование Wi-Fi подключения
- Веб-интерфейс управления сервером в CentOS 8
- Указание параметров сети при установке ОС
- Вставка команды
- Изменение параметров через консоль
- Файлы Resolv.conf и ifcfg-ethXX
- Установка для двух и более адаптеров
- Опция system-config-network-tui
- Использование Midnight Commander
- Добавление сетевой карты для виртуальной машины
- Перезапуск сети
- Установка CentOS 8 с помощью ISO-образа
Установка основного шлюза
При необходимости изменить адрес основного шлюза или установить новый, выполняются следующие действия:
- Выполнить «netstat–nr». Определятся текущие настройки шлюза.

- Основной шлюз может быть только один. Устанавливается или изменяется он так: «route add default gw адрес_шлюза».
- Удаляется командой«route del default gw адрес_шлюза».

Также для смены основного шлюза можно использовать команду «ip». Для просмотра ввести «ip r».
Для смены — «ip route add default via адрес_ шлюза».
Для управления ВМ в из консоли можно использовать утилиту virsh (использует libvirt ). С помощью утилиты virsh можно выполнить практически все операции с виртуальными машинами .
# virsh list – показать список запущенных ВМ
# virsh list --all – показать список всех машин (в том числе выключенных)

Как видно из скриншота, в первом случае отключенная ВМ не была отображена.
# virsh shutdown <vm name> — выключить виртуальную машину
# virsh start <vm name> — запустить виртуальную машину

# virsh suspend <vm name> — приостановить виртуальную машину
# virsh resume <vm name> — запустить приостановленную виртуальную машину
# virsh reboot <vm name> — перезапустить виртуальную машину
# virsh destroy <vm name> — уничтожить виртуальную машину
# virsh undefine <vm name> — удалить машину из списка и удалить все файлы, принадлежащие ей (обычно применяется после выполнения команды virsh destroy).
# virsh vcpuinfo <vm name> — информация о процессоре на виртуальной машине

Еще несколько команд по получению различной информации о виртуальной машине:
# virsh domid <vm name> — получить идентификатор виртуальной машины
# virsh domuuid <vm name> — получить виртуальной машины
# virsh dominfo <vm name> — получить сведения о виртуальной машине
# virsh domstate <vm name> — просмотр состояния виртуальной машины

# virsh dumpxml <vm name> — вывести файл конфигурации указанной виртуальной машины в формате
In this tutorial I am going to show you, Network configuration after CentOS 7 minimal installation. So let’s start and see step by step network configuration.
After minimal installation of RHEL7 or CentOS7, May be we are not able to connect our server with network, It’s because Ethernet interfaces are not enabled by default.
Now we will see how to configure network in our server.
Setup Static network on CentOS7 after minimal Installation
First, of all we have to check our network interface card with this command “nmcli d” and we will see our network card status after run this command in our CLI console. Like below.

“nmcli d” command output, we can see here enp0s3 Ethernet interface card is discommoded. And we need to configure Network on this interface.
Then we type “nmtui” command in our terminal to open Network manager. Once our Network manager will be open then we have to select “Edit connection” and press Enter (Use TAB button for choosing options). Like below:-
You can see here CentOS 7 Network Manager screen

Now we can choose network interfaces where we want to configure network and click “Edit” like below screen shot:-
We can edit our network interfaces
Static Network Configuration
Here we are going to static Network configuration. So we have to select “Manual” in IPv4 configuration and we have to assign our static IP and sub-net. We need also assign Gateway for our static network. After that we have to select Automatically connect check box and press OK and quit from Network manager. Like below screen shot.


Static IP has been configured on enp0s3 network interface, now we need to restart network service so that we can access this server through IP. So let’s restart network service and check our network is properly working our not?
You can in below screen shot we have successfully network restated and we have got IP on interface, which we have configured.

Now we can verify our network is accessible or not?
We can check network accessibility with ping commands. We can also check ssh with putty. Here I am going to checking gateway accessibility or not with ping command, if our gateway is accessible then our server will be accessible from outside. So let’s check gateway accessibility:-

You can see our Gateway is successfully pinging. So now we can access our server through outside with putty.
That’s all now we have completed Network configuration after CentOS 7 minimal installation.
You can also check how to add static route on CentOS 7 and RHEL 7 through below link:-
In this post, we will go through the simple guide on how to perform the basic network configuration and set or change the static IP address of the CentOS 8:
- through Terminal
- Using GUI
Set the Static IP address of CentOS 8 machine through Terminal
The IP address can be configured in the CentOS 8 Operating system using the NIC(Network Interface Card) system files. To configure the static IP address on CentOS 8, first, know the IP address and Interface Card name of your network using the command:

etcsysconfignetwork-scripts

It will show all the files in the /etc/sysconfig/network-scripts/ directory, choose the Network Interface Card file and type the command given below to edit that file:
etcsysconfignetwork-scriptsifcfg-enp0s3




After editing the file, as per requirement, save and close it using the keyboard shortcut CTRL +S and CTRL + X.
Now, we need to add the DNS servers to the resolv.conf file to enable them system-wide. Open up the resolv.conf file in a nano editor:
etcresolv.conf

In this file, you can add multiple DNS servers:

Once you have added the DNS servers, the Network interface is configured successfully; you just need to restart the network interface to get the changes to take effect.
To restart the Network Interface on CentOS 8, type the command:
systemctl restart NetworkManager

After restarting the Network Interface, the IP address will be changed successfully on the CentOS 8 Operating system through Terminal.
Set the Static IP address of CentOS 8 machine using GUI method
The IP address can also be changed from the GUI of CentoS 8 by going to the Networks tab in the CentOS 8 Operating system settings.
First, go to the Application menu, search for the settings, and from the search results, click on the Settings icon as shown below:

In the settings window, if you are connected to a Wifi network, then click on the Wireless tab from the left bar, or if you are connected to a wired network, then click on the network tab:

In the Network section, click on the gear icon as shown in the screenshot given below to open up the network settings:

A pop-up window will appear containing the details about network connection like IP Address, Hardware Address, Default Route, and DNS.

Click on the IPv4 tab from the tab menu at the top of the network settings pop-up menu:

From the IPv4 methods, select Manual, and the Addresses field will appear.

Provide the new static IP address, Netmask, and Gateway as shown in the screenshot given below:

To set up DNS manually, turn off the toggle button of the DNS section:

Provide the DNS server address or addresses separated by a comma.

After doing all the steps given above, click on the apply button at the top right corner of the pop-up window for saving the manual network settings.

In the network window back again, restart the connection by turning off and on the network connection for the changes to get in action.


Once the network is restarted, you can verify the new changes in action by clicking on the gear icon again.

You can witness that the IP address of the CentOS 8 system is changed as we expected it to happen.
Conclusion
This is how you can perform some basic network configuration on CentOS 8. This post provides a brief and in-detail explanation about changing the terminal IP address from the terminal by changing the network Interface card file and the GUI of the CentOS 8 Operating system. If you are using the CetnOS 8 server, you can go with the terminal method; otherwise, if you are using the GUI of CentOS 8, you can use any of the two provide methods.
About the author
A Javascript Developer & Linux enthusiast with 4 years of industrial experience and proven know-how to combine creative and usability viewpoints resulting in world-class web applications. I have experience working with Vue, React & Node.js & currently working on article writing and video creation.
DHCP server is used to automatically assign IP addresses to servers, laptops, desktops, and other devices on the network.
In this article, I am going to show you how to configure DHCP server on CentOS 8. So, let’s get started
Network Topology:

Figure 1: Network topology used in DHCP server article
Here, I have a dhcp-server where a static IP 192.168.15.1 is configured. The DHCP server will automatically assign IP addresses, default route address, DNS server address to other devices on the network 192.168.15.0/24.
Setting Up Static IP:
First, you have to set up a static IP on the network interface of your CentOS 8 machine which you will be configuring as a DHCP server.
The network interface name in my case is ens256.

You can set up a static IP address on your CentOS 8 machine very easily using nmtui command. For a detailed instruction on this, check my article Configuring Static IP on CentOS 8.

At this point, the static IP 192.168.15.1 is set on the CentOS 8 machine.

Installing DHCP Server:
DHCP server package is available in the official package repository of CentOS 8. So, it is very easy to install.

dnf dhcp-server

Now, to confirm the installation, press Y and then press <Enter>.

DHCP server should be installed.

Configuring DHCP Server:
The main configuration file of the DHCP server is /etc/dhcp/dhcpd.conf.
etcdhcpdhcpd.conf


Here, the DHCP server will reserve the IP address for at least 600 seconds or 10 minutes (default-lease-time) and at max 7200 seconds or 2 hours (max-lease-time) for a specific device.

The subnet section defines the DHCP configuration for the network subnet 192.168.15.0/24.
range defines the assignable IP address range of the DHCP pool.
routers defines the default gateway.
subnet-mask defines the default subnet mask that will be assigned to each host.
domain-name-servers defines the DNS nameservers which will be assigned to each host.

systemctl start dhcpd

As you can see, the dhcpd service is running.
systemctl status dhcpd

Now, add the dhcpd service to the system startup of CentOS 8. This will automatically start the dhcpd service on boot.
systemctl dhcpd

If you make any changes to the DHCP server configuration file while the dhcpd service is running, make sure to restart the dhcpd service for the changes to take effect.
systemctl restart dhcpd

Configuring the Firewall:
Once you start the dhcpd service, the DHCP server should be running on UDP port 67 as you can see in the screenshot below.

firewall-cmd =dhcp

firewall-cmd

Testing the DHCP Server:
As you can see, the Linux Mint 19.3 machine automatically got the IP address 192.168.15.50 from the DHCP server.

The Windows 10 computer also got an IP address 192.168.15.51 from the DHCP server.

Checking Hosts Information from the DHCP Server:
You can check the information about the hosts assigned IP addresses via the DHCP server very easily by reading the /var/lib/dhcpd/dhcpd.leases file.

As you can see, a lot of information about the hosts which assigned IP addresses via the DHCP server is stored in the file /var/lib/dhcpd/dhcpd.leases.

Here, the IP address leased to the host is displayed.

Here, the datetime when the IP address is leased to the host is stored in the starts section. The datetime when the lease will expire is stored in the ends section. The datetime when the host contacted the DHCP server is stored in the cltt section.

Here, binding state is active, which means the leased IP address is currently active for the host. next binding state is free, which means once the lease is expired, the IP address will be free to be leased to other devices.

Here, hardware ethernet stores the MAC address of the network interface of the host. The client-hostname stores the hostname of the host.

So, this is how you configure DHCP server on CentOS 8. Thanks for reading this article.
About the author

KVM (Kernel-based Virtual Machine) is a virtualization infrastructure for the Linux which requires a processor with hardware virtualization extension to be able to host guest sytems. KVM is convenient solution to test and try different operating systems if you don’t have a possibility to purchase expensive and power consuming physical hardware.
The below tutorial presents KVM (QEMU) installation and setup along with Linux Bridge configuration on CentOS7 / RedHat7 operating system.
Steps:
1. Verify CPU Hardware Virtualization support
Our CPU must support hardware virtualization (VT-x) in order to become KVM Hypervisor and host Virtual Machines (guest operating systems):
[root@tuxfixer ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 42
Model name: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
Stepping: 7
CPU MHz: 800.000
BogoMIPS: 4988.58
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0-32. Disable and stop NetworkManager
NetworkManager is known to cause problems when working with Linux Bridge, so for us it’s better to disable it:
[root@tuxfixer ~]# systemctl stop NetworkManager
[root@tuxfixer ~]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.3. Install KVM related packages
[root@tuxfixer ~]# yum install qemu-kvm qemu-img libvirt libvirt-python libvirt-client virt-install virt-viewer virt-manager4. Launch and enable libvirtd daemon
[root@tuxfixer ~]# systemctl enable libvirtd
[root@tuxfixer ~]# systemctl start libvirtd[root@tuxfixer ~]# usermod -a -G kvm tuxfixerWe also need to set polkit (policy kit) rules for KVM.
Edit file 49-polkit-pkla-compat.rules:
[root@tuxfixer ~]# vim /etc/polkit-1/rules.d/49-polkit-pkla-compat.rulespolkit.addRule(function(action, subject) { if (action.id == "org.libvirt.unix.manage" && subject.isInGroup("kvm")) { return polkit.Result.YES; }
});6. Create KVM Linux Bridge (bridge KVM hypervisor host network interface with VM network interfaces)
In this tutorial we want Virtual Machines to obtain their IP addresses from the same network where KVM Hypervisor host is connected, that’s why we will bridge it’s main network interface (em1) with VM network interfaces. To do so, we need to create Linux Bridge from em1 interface on KVM Hypervisor host.
Current Hypervisor network configuration (right after KVM installation):
[root@tuxfixer ~]# ip a
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 inet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: em1: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether d0:67:e5:33:15:3f brd ff:ff:ff:ff:ff:ff inet 192.168.2.3/24 brd 192.168.2.255 scope global dynamic em1 valid_lft 73193sec preferred_lft 73193sec inet6 fe80::d267:e5ff:fe33:153f/64 scope link valid_lft forever preferred_lft forever
3: wlp3s0: mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:24:d7:f4:dc:e8 brd ff:ff:ff:ff:ff:ff
4: virbr0: mtu 1500 qdisc noqueue state DOWN link/ether 52:54:00:b7:22:b3 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever
5: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500 link/ether 52:54:00:b7:22:b3 brd ff:ff:ff:ff:ff:ffifcfg-em1 config file (before KVM Linux Bridge creation):
[root@tuxfixer ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE="em1"
TYPE="Ethernet"
BOOTPROTO="none"
NAME="em1"
ONBOOT="yes"
HWADDR="D0:67:E5:33:15:3F"
IPADDR=192.168.2.3
PREFIX=24
GATEWAY=192.168.2.1
PEERDNS="no"
NM_CONTROLLED="no"Note: virbr0 interface was created automatically along with KVM installation and represents virtual network existing “inside” KVM environment with NAT (Network Address Translation) enabled.
Since we don’t need NAT inside KVM environment (we want to bridge Hypervisor interface), we can remove existing KVM virtual network based on virbr0 interface.
Launch virt-manager as root:
[root@tuxfixer ~]# virt-manager
Right click: QEMU/KVM -> Details -> Virtual Networks -> Disable network: “default” -> Delete network: “default” based on virbr0

Now we can bridge KVM Hypervisor interface (em1):
Right click: QEMU/KVM -> Details -> Network Interfaces -> Add Interface:
Interface type: Bridge
Interface name: br-em1
Start mode: on boot
Activate now: enabled
IP settings: copy configuration from ’em1′
Bridge settings: STP on, delay 0.00 sec
Now we can verify newly created Linux Bridge (br-em1):

Check current IP configuration (IP is now assigned to br-em1 and em1 acts now as backend interface only):
[root@tuxfixer ~]# ip a
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 inet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: em1: mtu 1500 qdisc pfifo_fast master br-em1 state UP qlen 1000 link/ether d0:67:e5:33:15:3f brd ff:ff:ff:ff:ff:ff
3: wlp3s0: mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:24:d7:f4:dc:e8 brd ff:ff:ff:ff:ff:ff
6: br-em1: mtu 1500 qdisc noqueue state UP link/ether d0:67:e5:33:15:3f brd ff:ff:ff:ff:ff:ff inet 192.168.2.3/24 brd 192.168.2.255 scope global br-em1 valid_lft forever preferred_lft forever inet6 fe80::d267:e5ff:fe33:153f/64 scope link valid_lft forever preferred_lft foreverVerify Linux Bridge configuration:
[root@tuxfixer ~]# brctl show
bridge name bridge id STP enabled interfaces
br-em1 8000.d067e533153f yes em1KVM Linux Bridge is now configured.
7. Further steps – launching VMs
You can proceed now with Virtual Machines installation, you can also launch VMs from already created qcow2 images of VMs if you have those.
If you need Kali Linux qcow2 images, you can check mine here.

Run system update
Begin by resynchronizing system packages to their latest versions.
dnf update
In CentOS 8, the DHCP server is provided by the dhcp-server package. This package can be installed by running the command below;
dnf install dhcp-server
Dependencies resolved. ======================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================= Installing: dhcp-server x86_64 12:4.3.6-30.el8 BaseOS 529 k Transaction Summary ======================================================================================================================================================= Install 1 Package Total download size: 529 k ...
Configure DHCP Server on CentOS 8
When installed, the dhcp-server package creates an empty configuration file /etc/dhcp/dhcpd.conf.
NOTE: This guide only provides DHCP server configuration for IPv4 addresses only.
To begin with, you need to define the parameters and declarations options that stores the network information for the DHCP clients. These parameters and declarations should be made on the DHCPd configuration file, /etc/dhcp/dhcpd.conf.
First off, be aware that dhcpd listens only on interfaces for which it finds subnet declaration in dhcpd.conf.
If you declare a subnet that is not associated with the interface on which DHCP server is listening on, DHCP server daemon will fail to start with the error;
No subnet declaration for enp0sX (x.x.x.x).** Ignoring requests on enp0sX. If this is not what you want, please write a subnet declaration in your dhcpd.conf file for the network segment to which interface enp0s3 is attached. ** ...
For example, to set DHCP server to listen on an interface, enp0s8, whose IP address details are shown below;
ip add sh dev enp0s8
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:36:48:ae brd ff:ff:ff:ff:ff:ff inet 192.168.10.13/24 brd 192.168.10.255 scope global dynamic enp0s8 valid_lft 1032sec preferred_lft 1032secNext, open the DHCP server configuration file for editing.
vim /etc/dhcp/dhcpd.conf
Configure your DHCP server such that your configuration may look like;
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp-server/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
#######################################################Define the domain name of your DHCP serveroption domain-name "kifarunix-demo.com";# Define the IP address or Hostname of your DNS serveroption domain-name-servers ns1.kifarunix-demo.com;#If you have multiple DNS servers, specify them as;# option domain-name-servers ns1.kifarunix-demo.com, ns2.kifarunix-demo.com;# Define how long should an endpoint use the assigned IP addressdefault-lease-time 3600; # One hour# Define the maximum lease timemax-lease-time 7200; # Two hours# Other values you can use are 86400 (one day), 604800 (one week) and 2592000 (30 days).# # Declare the DHCP server official for the local networkauthoritative;# Change the default log file for DHCP server.log-facility local7;#### Subnet Declaration ##### The subnet declaration includes a range of IP addresses that a DHCP server can assign to clients.
# and global options to apply for every DHCP client.
## Define the subnet of the DHCP server interface (Network address and subnet mask)subnet 192.168.10.0 netmask 255.255.255.0 { # Define the broadcast address option broadcast-address 192.168.10.255; # Define the gateway option routers 192.168.10.1; # Define the range of IP addresses to be leased range 192.168.10.110 192.168.10.120;
}Defining Static IP Address Using DHCP
If you need to define static IP addresses using DHCP for specific hosts in your network, you need to get the MAC address of the host. After which, you can add the host declaration configuration into DHCP server configuration file.
For example, to assign a static IP address to the host, webdev01.kifarunix-demo.com with MAC address, 01:23:45:67:89:ab, create the host declaration as shown below;
# Fixed Host IP Address assigninghost webdev01 { # Define the MAC address hardware ethernet 08:00:27:57:57:ad; # Define Fixed IP address fixed-address 192.168.10.125;
}If you configured DHCP to log to a specific facility instead of the using the default, /var/log/messages, you need to create the log directory. This can be done by modifying the Rsyslog configuration.
For example, to configure DHCP server to log to /var/log/dhcpd/dhcpd.log, you need to create the directory /var/log/dhcpd.
Hence, since we configured to log to facility local7, simply add the line below to Rsyslog.conf.
echo "local7.debug /var/log/dhcpd/dhcpd.log" >> /etc/rsyslog.conf
Check Rsyslog for syntax errors;
rsyslogd -N1
Create the log directory.
mkdir /var/log/dhcpd
systemctl restart rsyslog
Running DHCP Daemon
Once the configuration is done, you can start and enable DHCPd by executing the command;
systemctl enable --now dhcpd
Check the status;
systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-10-20 10:01:59 EAT; 2min ago Docs: man:dhcpd(8) man:dhcpd.conf(5) Main PID: 6598 (dhcpd) Status: "Dispatching packets..." Tasks: 1 (limit: 5072) Memory: 5.3M CGroup: /system.slice/dhcpd.service └─6598 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
...Also check the logs on, /var/log/dhcpd/dhcpd.log.
tail /var/log/dhcpd/dhcpd.log
Open DHCP UDP Port on Firewall
To allow remote clients to query your DHCP server for IP addresses, you need to open DHCP UDP port 67 on firewalld if it is running.
firewall-cmd --add-port=67/udp --permanent
firewall-cmd --reload
Configure DHCP Client on CentOS 8
To verify that your DHCP server is working, you need to configure DHCP client. In this guide, we are using another CentOS 8 server as DHCP client.
Install DHCP client package by running the command below if it is not already installed.
dnf install dhcp-client
Once the DHCP client is installed, simply run dhclient command to get the DHCP IP.
dhclient
Now check the assigned IP addresses.
On the host with DHCP static IP mapping (webdev01) for our case;
ip add
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:57:57:ad brd ff:ff:ff:ff:ff:ff inet 192.168.10.125/24 brd 192.168.56.255 scope global dynamic enp0s8 valid_lft 3059sec preferred_lft 3059sec inet6 fe80::76d2:60c9:4cea:3ec8/64 scope link noprefixroute valid_lft forever preferred_lft foreverOn the other host, the addressed assigned should be within the defined range.
nmcli dev show enp0s8
GENERAL.DEVICE: enp0s8
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 08:00:27:5A:86:69
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: Wired connection 1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.10.113/24
IP4.GATEWAY: 192.168.10.5
IP4.ROUTE[1]: dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 0
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.56.2, mt = 0
IP4.DOMAIN[1]: kifarunix-demo.com
...You have successfully setup DHCP server and client. That marks the end of our guide on how to install and Setup DHCP Server on CentOS 8.
ISC DHCP Manual pages
Related guides
How to Install and Setup DHCP Server on Fedora 29/Fedora 28/CentOS 7
Что нового в CentOS 8?
24 сентября 2019 года, вышел релиз 8-ой версии CentOS. CentOS — дистрибутив Linux, основанный на коммерческом Red Hat Enterprise, компании Red Hat и совместимый с ним.
Рассмотрим наиболее крупные изменения в релизе CentOS 8:
- Используется ядро Linux kernel 4.18.
- Переход с пакетного менеджера yum на dnf. В данный момент yum существует как алиас к dnf.
- Выполнено разделение основного репозитория на 2 — это BaseOS и AppStream. Сделано это для того, чтобы у пользователя появилась возможность устанавливать разные версии пакетов на сервер. BaseOS работает как и раньше.
- Обновилось все ПО, в том числе и ядро. В базовом репозитории теперь устанавливается php версии 7.2 (наконец-то).
- Замена iptables на nftables. Лично я пока еще со вторым не работал напрямую, поэтому не могу сказать, хорошо это или плохо. Единственный момент, если нужно будет переносить какие-то проекты на новую ОС, придется разбираться с правилами, так как есть сервера с чистым iptables.
- network-skripts не используются по умолчанию для настройки сети, теперь управления сетью возложено на Network Manager.
- По умолчанию устаналивается веб-интерфейс управления сервером cockpit (удобно для новичков).
- Для управления контейнерами используется podman (вместо docker и mobdy).
- Новая версия стека TCP/IP 4.16 с улучшенной производительностью и поддержкой алгоритмов контроля BBR и NV.
- Новые версии дситрибутивов:
Базовая настройка CentOS 8 после установки
Базовая настройка CentOS 8 практически не отличается от настройки CentOS, я делаю базовые настройки одинаковые на всех серверах.
CentOS 8: Установка обновлений и инструментов администратора
Как уже отмечалось ранее, в CentOS 8 на замену yum, пришел dnf.
Dnf – это следующее поколение приложения YUM, менеджер пакетов для дистрибутивов Linux на основе RPM-пакетов. Ранее dnf использовался в дистрибутивах Fedora, а теперь и в CentOS 8.
Первое действие, которое я выполняю на вновь установленном сервере, это обновление системы:
dnf update -y
Если образ свежий, то скорее всего у вас не будет пакетов для обновлений как в моем случае:
Last metadata expiration check: 0:21:47 ago on Wed 09 Oct 2019 02:36:45 PM +06. Dependencies resolved. Nothing to do. Complete!
Если у вас обнаружатся обновления, обязательно их установите.
Следующим шагом, подключим репозиторий EPEL и установим необходимые утилиты для удобного администарирования сервера:
dnf install epel-release -y
dnf install mc wget screen nano net-tools bind-utils curl lsof vim -y
Мне для комфортного администрирования хватает этого набора утилит, вы можете установить свои привычные утилиты.
Автоматическое обновление системы я не включаю, так как всегда устанавливаю необходимые обновления вручную. Если вы хотите настроить автоматическое обновление, установите пакет dnf-automatic:
dnf install -y dnf-automatic
Чтобы проверить активные задания на обновления системы введите:
systemctl list-timers *dnf-*
Отключение SELinux
На начальном этапе я всегда отключаю SELinux (для применения изменения нужно перезагрузить сервер):
Отключение SELinux налету, можно выполнить командой:
Настройка сети в CentOS 8
Так как сеть я настроил на этапе установки системы, настройка ее в данный момент не требуется (подробная статья по настройке сети в CentOS). Хочу лишь сказать, что в CentOS 8, сеть управляется только через Network Manager и утилиту nmcl. Network-scripts по умолчанию не поддерживаются. Если честно, в своей работе я всегда отключал NM и не использовал, для меня это не удобный инструмент, теперь придется разбираться и с ним.
Проверка статуса сети:
● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-10-07 08:23:11 MSK; 3h 37min ago Docs: man:NetworkManager(8) Main PID: 870 (NetworkManager) Tasks: 3 (limit: 5060) Memory: 4.7M CGroup: /system.slice/NetworkManager.service └─870 /usr/sbin/NetworkManager --no-daemon
Установка и смена hostname
Если вы не задали корректный hostname сервера при установке или просто хотите изменить, это можно выполнить несколькими способами. Измените его в файле /etc/hostname или поменяйте с помощью команды:
hostnamectl set-hostname нужный_хостнейм
Настройка firewalld в CentOS 8
Добавим в доверенные зоны на firewalld, нужные для начальной работы сервисы (SSH и HTTP/HTTPS):
firewall-cmd –-add-service=ssh
firewall-cmd --permanent –-add-service=http
firewall-cmd --permanent –-add-service=https
Настройка времени и часового пояса (time-zone)
Чтобы посмотреть текущее время и time-zone, нужно ввести команду date:
Wed Oct 9 13:03:00 MSK 2019
Мы указали time-zone при установке самой системы, поэтому у нас время по Москве. Чтобы поменять time-zone, нужно воспользоваться соответствующей командой:
timedatectl set-timezone Europe/Moscow
Где вместо Europe/Moscow вы можете указать свой вариант, например:
Mon Oct 7 15:46:22 +06 2019
Для синхронизации времени используется chronyd, мы включим его и добавим в автозагрузку через systemctl:
systemctl start chronyd
systemctl enable chronyd
● chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-10-07 16:13:48 +06; 9s ago Docs: man:chronyd(8) man:chrony.conf(5) Main PID: 31700 (chronyd) Tasks: 1 (limit: 5060) Memory: 1.1M CGroup: /system.slice/chronyd.service └─31700 /usr/sbin/chronyd
Настройка истории команда в bash_history
Для удобного просмотра истории, я всегда добавляю пару строк в .bashrc, чтобы в последствии можно было легко ориентироваться в отчетах.
При настройке по умолчанию, вывод history выглядит следующим образом:
1 dnf repolist 2 dnf install epel-release
То есть мы видим, что выполнялось на сервере, но не видим время и точную дату, для меня это критично, так как доступ к серверам могут иметь несколько специалистов. Поэтому приведем history к приятному виду:
Откроем файл /root/.bashrc и добавим в него нужные строки:
nano /root/.bashrc
export HISTSIZE=10000 export HISTTIMEFORMAT="%h/%d/%y - %H:%M:%S "
Теперь при проверке history, мы видим точное время выполнения той или иной команды:
1 Oct/07/19 - 16:16:29 dnf repolist 2 Oct/07/19 - 16:16:29 dnf install epel-release
Система не распознает сетевую карту
Если после установки CentOS не определяет сетевой модуль, то нужно выполнить следующие действия:
- Проверить наличие оборудования при помощи «ifconfig –a».
- Если карта определилась в списке оборудования, то ее нужно активировать. Активация происходит при помощи утилиты tui. Вызывается она при помощи запроса «nmtui».
Если опция не установлена, то ее можно установить, используя команду «yum install NetworkManager-tui».
- После установки и запуска опции, откроется окно. Выбрать в нем «Activate connection».

- В появившемся списке, найти искомый адаптер и активировать его. После успешного окончания процесса, можно приступить к настройке сети.
Далее провести активацию и настройку платы.
Рассмотренные ситуации позволят успешно настроить сеть в CentOS, для чего необходимо корректно вводить команды и задавать верные данные.
Подключение по DHCP
«vi /etc/sysconfig/network-scripts/ifcfg-имя адаптера».
Добавление памяти и vCPU виртуальной машине KVM
В консоли вы можете добавить или уменьшить ресурсы процессора и памяти, выделенные для ВМ двумя способами:
- С помощью virsh
- Через конфигурационный файл ВМ
Если виртуальная машина запущена, ее нужно остановить:
# virsh shutdown test-centos
Теперь с помощью virsh изменим количество виртуальных процессоров до 6 (vCPU):
# virsh setvcpus <vm name> <vcpu_count> --config
— имя машины
— количество ядер процессора
# virsh setvcpus test-centos 6 --config
Но при применении этой команды, у меня сразу же появилась ошибка:
Мы не можем установить количество ядер процессора, больше, чем максимальное количество. Чтобы увеличить максимальное количество ядер ВМ, выполните команду:
# virsh setvcpus test-centos 6 --config --maximum
Повторите первую команду и запустите виртуальную машину:

Проверим количество процессоров в настройках ВМ: овленное количество процессоров:
# virsh dumpxml test-centos
Аналогичным образом добавим память виртуальной машине:
# virsh setmem <vm_name> <memsize> --config
# virsh setmem test-centos 4G --config
Все по той же причине, сразу же вышла ошибка:
Увеличим максимальное значение памяти::
# virsh setmaxmem test-centos 6G --config
Теперь можно увеличить память ВМ.
Перед всеми изменениями не забывайте останавливать ВМ, а после запускать ее.
Также вы можете изменить ресурсы ВМ через ее конфигурационный файл. Можно изменить файл в режиме онлайн или же сделав бэкап файла ВМ, изменить его и применить к виртуальной машине.
Отредактируем файл ВМ в онлайн режиме:
# virsh edit <vm_name>
В открывшемся редакторе vi внесите изменения, нажав кнопку “Insert”.
Например, зададим для ВМ 2 ядра и 1Гб памяти:

Учитывайие что память указывается в килобайтах.
Сохраните изменения в файле и перезапустите ВМ:
# virsh reboot <vm_name>

Тоже самое можно сделать, сделав бэкап файла:
# virsh dumpxml <vm_name> > /root/test.xml
# vi /root/test.xml
Измените нужные вам параметры, сохраните файл и примените к виртуальной машине:
# virsh shutdown test-centos
# virsh define /root/test.xml
# virsh start test-centos
Иногда при изменении конфигурационного файла ВМ в онлайн режиме назначенные ресурсы сбрасываются после перезагрузки. В этом случае выполните остановку виртуальной машины и после этого просто запустите ее.
Сначала нужно создать дополнительный файл диска для виртуальной машины:
# qemu-img create -f qcow2 -o size=20G /vz/disk/test.img
Вместо qcow2 вы можете указать нужный формат диска, так же нужно указать путь до файла. У меня хранилище для дисков /vz/disk/.
После этого, можно добавить устройство виртуального диска к самой ВМ:
# virsh attach-disk <vm_name> /vz/disk/test.img vdb --type disk --persistent
Остановите и запустите ВМ, проверьте что получилось:
# virsh shutdown test-centos
# virsh start test-centos
# virsh dumpxml test-centos
Как видим, диск добавлен. После данных манипуляций, на виртуальной машине нужно разметить этот диск под ваши нужды.
Конфигурирование Wi-Fi подключения
Настройка Wi-Fi соединения похожа на установку проводного подключения. Для ввода пароля по стандартам WPA и WPA 2 необходимо присутствие в системе утилиты wpa_supplican, которая не всегда установлена по умолчанию.
- Вывести информацию о всех доступных сетевых модулях. Ввести для этого команду «ifconfig –a».

- CentOS беспроводной адаптер обозначает «wlan0». Для его запуска выполнить команду «ifconfig wlan0 up».
- Проверить наличие Wi-Fi сетей запуском «iwlist wlan0 scan». Результатом исполнения команды станет список всех доступных сетей с подробным описанием.

Здесь нужно точно записать название сети, которое находится в строчке ESSID.
- Если защита Wi-Fi будет выполнена в стандарте WEP, то достаточно ввести «iwconfig wlan0 essid Wi-Fi_name key Password»и устройство подключится к сети. Здесь «Wi-Fi_name» — имя сети или SSID, «Password» — пароль сети.
Нужно учитывать, что пароль в этом случае нужно вписывать в шестнадцатеричном формате HEX. Для того, чтобы вставить его в виде ASCII, необходимо добавить букву «s» после оператора key: «iwconfig wlan0 essid Wi-Fi_name key s Password». - В случае кодирования по стандартам WPA и WPA 2 необходимо сделать изменения, используя утилиту wpa_supplicant.
Вызвать ее, написав /etc/sysconfig/wpa_supplicant. Далее выполнить следующие команды: «INTERFACES=»-iwlan0″» и «DRIVERS=»-Dwext»».
Открыть конфигурационный файл, вписав в консоль:
/etc/wpa_supplicant/wpa_supplicant.con
Создать в файле следующий массив:
network={
ssid="Wi-Fi_name" key_mgmt=WPA-PSK
psk="password"
pairwise=TKIPдляWPA или CCMP дляWPA 2
group= TKIP для WPA или CCMP для WPA 2
}
- Завершив настройку утилиты, запустить ее: «service wpa_supplicant start». Чтобы не повторять процедуру каждый раз при включении ПК, можно установить автозапуск опции, введя «ntsysv».
- В конце нужно зайти в знакомый каталог /etc/sysconfig/network-scripts/ и сконфигурировать беспроводную сеть, выбрав файл ifcfg-wlan0 или с другим названием сети. Также, как и для проводной связи, можно менять настройки.

Небольшое затруднение в настройке Wi-Fi подключения вызывает утилита «wpa_supplicant». Остальные действия схожи с проводным подключением.
Веб-интерфейс управления сервером в CentOS 8
Как мы уже упоминали, в CentOS 8 предустановлен веб-интерфейс управления сервером cockpit. Он также управляется через systemctl. Вы можете запустить его и добавить в автозгрузку:
# systemctl enable cockpit.socket
# systemctl start cockpit.socket
По–умолчанию веб сервер Cockpit слушает на порту 9090. Добавьте этот порт в разрешенные:
# firewall-cmd --get-active-zones
# firewall-cmd --add-port=9090/tcp --zone=MY_ACTIVE_ZONE --permanent
# firewall-cmd --reload
Для доступа к веб-интерфейсу Cockpit, откройте в браузере URL адрес https://your-CentOS8-IP:9090 и авторизуйтесь.

С помощью веб-интерфейса Cockpit вы можете смотреть загрузку своего сервера, управлять сетями и хранилищами, контейнерами, смотреть логи.
На этом моя типовая настройка CentOS сервера закончена, далее я выполняю настройки согласно технического задания по различным проектам и обычно они отличаются.
Указание параметров сети при установке ОС
При установке новой системы, настройки сети в CentOS указываются через графический интерфейс инсталлятора. Для этого:
- В окне инсталляции «Installation Summary» кликнуть по опции «Network&HostName».

- Откроется экран сетевых настроек. Слева будет список доступных сетевых модулей. Выделить нужный сегмент и, изменив положение ползунка с «OFF» на «ON», можно включить или отключить карту.

После включения карта получит автоматические значения посредством DHCP, которые отобразятся ниже имени модуля.
- Если ПК планируется использовать в качестве сервера, то его имя можно задать в строке внизу окна.

- Для изменения автоматически полученных настроек, нажать на надпись «Configure».

- Откроется опция для ввода значений. Кликнуть по вкладке «IPV4 Settings».

- Пункт «Method». Здесь имеется 6 вариантов подключений:
- Automatic (DHCP) — применяемый по умолчанию способ, когда все данные прописываются автоматически. Среди них: IP-адрес, маска, шлюз, DNS и маршрутизация;
- Automatic (DHCP) addresses only — автоматически устанавливается IP-адрес, все остальные данные вводятся вручную;
- Manual — все параметры сети вводятся вручную;
- Link-Local Only — если нет статичного адреса, и отсутствует DHCP-сервер, то происходит автоматическое назначение локальных ссылок;
- Shared to other computers — позволяет подключиться к карте другим компьютерам, например для совместного использования интернета;
- Disabled — выключение установленных параметров.

- Если необходимо ввести статичный адрес, то выбрать «Manual». Откроется вкладка, где нужно ввести соответствующие данные: адрес, маску, шлюз и DNS-сервер. После ввода, нажать на «Save» для сохранения настроек.

Кроме графического представления, существуют консольные методы установки. Например, нужно изменить сетевой интерфейс существующей системы.
Просмотр текущих настроек происходит при помощи команды «ifconfig», но если CentOS имеет минимальные характеристики, то она не «поймет» данную команду, и, после ввода, выскочит следующее сообщение: «-bash: ifconfig: command not found».
Необходимо добавить ifconfig в CentOS.
Вставка команды
«ifconfig» является частью пакета «net-tools». Для инсталляции утилиты следует:
- Ввести команду: # yum install net-tools.

- Система попросит подтвердить действие. Нажать «Y».

- После окончания установки, появится надпись «Complete».

- Если теперь запустить «ifconfig», то откроются сетевые настройки ПК.

Далее можно приступить к изменению сетевых параметров консольными командами.
Изменение параметров через консоль
Сетевые параметры в CentOS находятся в папке /etc/sysconfig/network-scripts/. Если ввести в консоли «dir /etc/sysconfig/network-scripts/», то можно узнать количество сетевых адаптеров и их наименования.
На рисунке выше видно, что система содержит 2 сетевых модуля с именами «ens33»и «ens36».
Для настройки сети в консоли, а в частности параметров адаптера ens33 в CentOS, нужно ввести «vi /etc/sysconfig/network-scripts/ifcfg-eth33». Откроется окно с параметрами сети, для того, чтобы приступить к их изменению, нажать на «INSERT».
Здесь строки имеют следующие значения:
- TYPE. Выбирается модуль подключения: Ethernet — сетевая карта, Modem — модем, ISDN — телефонный интерфейс стандарта ISDN.
- BOOTPROTO. Если присвоить значение «none», то будет установлен статичный адрес, в противном случае нужно указать «dhcp».
- NAME. Задает имя адаптера.
- ONBOOT. Необходимо указать «YES» для того, чтобы адаптер стартовал вместе с запуском системы или «NO» в противном случае.
- IPADDR. Прописывается статичный адрес.
- NETMASK. Задается маска подсети статичного адреса.
- DNS1 и DNS2. Основной и дополнительный DNS.
- GATEWAY. Задается адрес шлюза.
- UUID. Идентификационный номер адаптера.
- DEFROUTE. Если выбрать значение «YES», то по умолчанию будет использоваться данный сетевой модуль.
После окончания редактирования нажать на ESC, затем ввести «:wq». Это сохранит изменения. Если значения не нужно сохранять, то написать «:qa!».
Для запуска сетевого адаптера ввести команду «ifup ens33». Здесь ens33 — имя сетевого модуля, которое будет отличаться в зависимости от названия.
Проверить функционирование модуля после всех изменений можно при помощи «ifconfig».
Если был выбран вариант сети со статичным адресом, то настроить DNS можно несколькими способами.
Файлы Resolv.conf и ifcfg-ethXX
До шестой версии ОС сетевые параметры находились по адресу /etc/resolv.conf. Для вызова файла вводится «vi /etc/resolv.conf». После чего открывается окно для установки DNS. Здесь в nameserver нужно прописать DNS.
После ввода произвести перезагрузку модуля, вводя «/etc/init.d/networkrestart».
Начиная с CentOS 6, установки сети также прописываются в рассмотренном выше файле ifcfg-ethXX, где «XX» — название интерфейса сети. Вызывается командой «vi/etc/sysconfig/network-scripts/ifcfg-ethXX».
ifcfg-ethXX имеет приоритет. Если поменять значения в файле resolv.conf, не меняя их в ifcfg-ethXX, то после перезагрузки загрузятся значения последнего. Это нужно учитывать при настройке системы выше версии 5.
Установка для двух и более адаптеров
Если есть 2 карты и необходимо одну из них сделать основной, то используется запрос «vi /etc/sysconfig/network». После ее ввода, указывается шлюз, имя сервера и задается приоритет карты:
- HOSTNAME — имя сервера;
- GATEWAY — шлюз;
- GATEWAYDEV=ethXX, указывается главная карта.
Все операции проводятся после нажатия INSERT.
Опция system-config-network-tui
Для установки вспомогательной утилиты написать «yum install -y system-config-network-tui» и запустить выполнение. После инициализации опции в командной строке прописать «system-config-network-tui».
Далее выполнить следующие действия:
- Откроется синий экран с приглашением выбрать одну из установок. Выбрать пункт «Device configuration».

- Появится список с доступными картами. Выбрать необходимую.

- После этого настроить адаптер.

- Затем зайти в пункт «DNS configuration».

- Задать необходимые настройки.

- Подтвердить изменения и выйти.

После выполнения всех действий установится необходимый DNS.
Использование Midnight Commander
Установка через программу Midnight Commander. Она схожа с приложением Windows Total Commander. Для инициализации опции ввести команду «yum install mc -y». После установки набрать «mc». Откроется окно программы.
Перейти в каталог с сетевыми файлами /etc/sysconfig/network-scripts и выбрать файл сетевого адаптера, например ifcfg-eth0.Нажать на клавишу F4. В правом окне нажать на пункт «/.mc».
Появятся опции сети. Установить необходимую конфигурацию, для выхода использовать клавишу F10.
Добавление сетевой карты для виртуальной машины
Попрьуем добавить дополнительный сетевой интерфейс для ВМ. Сначала проверим, какие сетевые интерфейсы созданы на хосте:
# brctl show

У меня на сервере создана одна виртуальная машина, с одним сетевым интерфейсом. К br0 нам нужно прикрепить еще один виртуальный сетевой интерфейс. Выполните команды:
# virsh shutdown test-centos
# virsh attach-interface test-centos --type bridge --source br0 --persistent
# virsh start test-centos
Проверьте, что у ВМ появился дополнительный сетевой интерфейс:

Также вы можете изменить сетевые настройки виртуальной машины напрямую через файл: # virsh edit test-centos
После первого сетевого интерфейса добавьте следующие строки:
Сохраните файл и запустите ВМ. Остальную конфигурацию, добавит сам (mac address и тд).
Перезапуск сети
В 7 и 8 версиях CentOS перезапустить систему, не перезагружая компьютер, можно командой «systemctl restart network».
Для версий 6 и старше используется «/etc/init.d/network restart».
После перезапуска все изменения вступят в силу.
Установка CentOS 8 с помощью ISO-образа
Так как я проводил установку операционной системы на виртуальной машине KVM, предварительно я скачал установочный ISO-образ с одного из официальных зеркал (https://www.centos.org/download/mirrors/) и примонтировал его для установки на виртуальном сервере (при установке на физический сервер залейте установочный образ СentOS на USB флешку). Сразу скажу, процесс установки CentOS 8, не отличается от установки предыдущей версии и данная статья рассчитана на то, что будет служить помощником для пользователей, которые выполняют подобное впервые.
В рекомендуемых требования указано, что для установки CentOS 8 необходимо минимум 10 Гб места на диске и 512 Мб RAM на одно ядро процессора
Перезапустив виртуальную машину с примонтированным образом, я вошел в VNC-консоль. Первым шагом, вам будет предложено выбрать дальнейшие действия. Так как вы выполняем установку, нам интересен первый пункт меню:
Install CentOS Linux 8.0.1905

Выбрав его, у вас запустится процесс установки:

В процессе пока все необходимое ПО загружается, можно просто наблюдать за процессом, от вас не требуется никаких действий.
И когда черный экран сменится на интерактивный с логотипом CentOS, пора брать в руки мышь и клавиатуру.

В приветствии, система попросит вас выбрать язык, я всегда ставлю English (английский), потому что мне так удобнее работать (да и не понимаю, зачем вообще ставить русский язык на сервере). Нажмите кнопку “Continue”. В следующем меню нужно выбрать основные настройки для установки CentOS.

Для запуска установки, обязательно настроить только один пункт “Installation Destination”, там вы указываете разбивку диска, но я предпочитаю так же, сразу настроить сеть и дату со временем.

В зависимости от вашего часового пояса, вы устанавливаете свои параметры, для меня это Москва.
Чтобы настроить сеть, переходим в пункт “Network & Host Name”

В поле “Host Name” указываем имя сервера и для конфигурации сетевых интерфейсов нажимаем “Configure”

В главной вкладке, нужно отметить галочкой “Automatically connect to this network when it is available”, это нужно для того, чтобы сетевой интерфейс поднимался автоматически.

Для ввода конкретного IP, нужно выбрать метод “Manual” и нажать кнопку “Add”, после чего у вас появится возможность ввести нужные данные. Сохранив все, мы вернемся к начальному окну настроек сети

Как можно увидеть на скриншоте, IP адрес добавился и сетевой интерфейс уже поднят (состояние Connected).
Следующим шагом мы перейдем к разбивке диска:

Для примера установки я воспользовался автоматической разбивкой от разработчиков CentOS. Если вы хотите разбить диск по-своему, нужно выбрать пункт “Custom”.
Так как на моей виртуальной машине, ранее была установлена ОС, система установки увидела это. Я удалил разделы предыдущей операционной системы в последующих открывающихся меню:


Удалить разделы можно кнопкой “Delete all”, после чего потребуется нажать кнопку “Reclaim space”, чтобы размер дискового пространства стал актуальным.
Список пакетов для установки выбирается в пункте Software Selection. Если вы планируете использовать CentOS 8 в качестве сервера, достаточно выбрать Minimal Install, а из добавлений Standard и Guest Agents (если вы ставите гостевую ОС в виртуальной машине).
После вышеописанных действий, можно запускать установку кнопкой “Begin Installation”

В процессе уже самой распаковки и установки необходимых компонентов, вам потребуется указать пароль для root-пользователя и можно создать дополнительного пользователя, но это не обязательный пункт.

Нажмите на кнопку “Root Password”, введите и повторите пароль и нажмите “Done”, чтобы вернуться к установке:

Изначально я задаю простой пароль, чтобы в случае проблем с сетью, я мог легко его ввести в VNC-консоли и исправить проблемы. После того, как система будет установлена, пароль рекомендуется изменить на более сложный. Установка CentOS 8 у меня заняла порядка 5-7 минут и когда в окне установки загорится кнопка “Reboot”, это означает, что все было установлено и нужно перезапустить сервер.

На этом установка CentOS 8 завершена.

