How to configure the network in CentOS 8

< Configure firewall and SELinux | Enable and disable services >

To begin with, set a hostname. If you didn't set a hostname during installation you can do it like this. If you already did it you can skip this step.

[root@localhost ~]# hostnamectl set-hostname server

To get a list of devices on your machine you can use nmcli.

[root@localhost ~]# nmcli device
DEVICE  TYPE      STATE      CONNECTION
ens2    ethernet  connected  ens2
lo      loopback  unmanaged  --

To set the IPv4 address of i.e. ens2, you can do it like this:

[root@localhost ~]# nmcli connection modify ens2 ipv4.addresses 10.0.0.30/24

To set the gateway:

[root@localhost ~]# nmcli connection modify ens2 ipv4.gateway 10.0.0.1

To set the DNS:

[root@localhost ~]# nmcli connection modify ens2 ipv4.dns 10.0.0.1

You can set manual for static setting (or "auto" for DHCP)

[root@localhost ~]# nmcli connection modify ens2 ipv4.method manual

Next restart the interface to apply the settings.

[root@localhost ~]# nmcli connection down ens2; nmcli connection up ens2
Connection 'ens2' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)

You can verify the settings like this:

[root@localhost ~]# nmcli device show ens2
GENERAL.DEVICE:                         ens2
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         52:54:00:D0:8F:0B
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ens2
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveC>
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         10.0.0.30/24
IP4.GATEWAY:                            10.0.0.1
IP4.ROUTE[1]:                           dst = 10.0.0.0/24, nh = 0.0.0.0, mt = 1>
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 10.0.0.1, mt = 100
IP4.DNS[1]:                             10.0.0.10
IP6.ADDRESS[1]:                         fe80::5054:ff:fed0:8f0b/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, tabl>

You can also use ip to see the state of ens2.

[root@localhost ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: ens2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:d0:8f:0b brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.30/24 brd 10.0.0.255 scope global noprefixroute ens2
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fed0:8f0b/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

< Configure firewall and SELinux | Enable and disable services >