В этом руководстве объясняется, как добавить дополнительный IP-адрес на сетевой интерфейс на сервере RHEL / CentOS 8.
Существуют разные способы добавления вторичного IP-адреса на сервер RHEL / CentOS.
В этом руководстве обсуждается создание файла конфигурации сети вручную и использование инструмента CLI Network Manager – nmcli.
Добавить дополнительный IP-адрес вручную
Первый метод заключается в создании файла конфигурации подинтерфейса и заполнении его сетевой информацией.
На моем сервере RHEL 8 мой сетевой интерфейс имеет следующие детали.
# ip addr 1: lo: 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: enp1s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8f:8c:86 brd ff:ff:ff:ff:ff:ff inet 192.168.122.198/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0 valid_lft 1891sec preferred_lft 1891sec inet6 fe80::4d61:1d19:14a4:a8dc/64 scope link noprefixroute valid_lft forever preferred_lft forever
Сетевой интерфейс, которому я назначу дополнительный IPv4-адрес, это enp1s0.
Этот файл конфигурации интерфейса находится в каталоге /etc/sysconfig/network-scripts.
$ cat /etc/sysconfig/network-scripts/ifcfg-enp1s0 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" 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="enp1s0" UUID="498869bb-0d88-4a4c-a83a-c491d1040b0b" DEVICE="enp1s0" ONBOOT="yes"
Давайте создадим файл конфигурации доп интерфейса.
sudo yum -y install vim sudo vim /etc/sysconfig/network-scripts/ifcfg-enp1s0:1
Не игнорируйте :1 в конце.
Затем добавьте данные конфигурации IP.
DEVICE=enp1s0:1 Type=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=none IPADDR=192.168.122.11 PREFIX=24
Перезагрузите сервер, чтобы подтвердить дополнительный IP-адрес.
sudo reboot
После перезагрузки системы проверьте информацию IP для интерфейса.
# ip addr 1: lo: 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: enp1s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8f:8c:86 brd ff:ff:ff:ff:ff:ff inet 192.168.122.197/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0 valid_lft 3503sec preferred_lft 3503sec inet 192.168.122.11/24 brd 192.168.122.255 scope global secondary noprefixroute enp1s0:1 valid_lft forever preferred_lft forever inet6 fe80::4d61:1d19:14a4:a8dc/64 scope link noprefixroute valid_lft forever preferred_lft forever
Вы можете увидеть, что у нас есть два IP-адреса, назначенных интерфейсу – 192.168.122.197/24 и дополнительный IP-адрес, который мы присвоили – 192.168.122.11/24.
Убедитесь, что вы можете получить доступ к серверу через дополнительный IP-адрес.
$ ssh 192.168.122.11 The authenticity of host '192.168.122.11 (192.168.122.11)' can't be established. ECDSA key fingerprint is SHA256:5RuWUmEmb9WoXB6QSivSfvDj5DeaJrxT7N+GVTl/TA8. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.122.11' (ECDSA) to the list of known hosts. Activate the web console with: systemctl enable --now cockpit.socket Last login: Sat Mar 23 11:03:35 2019 from 192.168.122.1 [jmutai@rhel8 ~]$ ip ad | grep enp1s0 2: enp1s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.122.197/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0 inet 192.168.122.11/24 brd 192.168.122.255 scope global secondary noprefixroute enp1s0:1
Добавьте вторичный IP-адрес с помощью nmcli
Второй метод для тех, кто использует NetworkManager, – использовать инструмент командной строки nmcli.
Мы изменим тот же интерфейс, как показано ранее.
Проверьте существующие профили сетевого подключения.
$ nmcli connection show NAME UUID TYPE DEVICE enp1s0 498869bb-0d88-4a4c-a83a-c491d1040b0b ethernet enp1s0
Отметьте интерфейс, для которого вы хотите добавить дополнительный IP-адрес, затем перейдите к изменению его конфигурации.
sudo nmcli con mod enp1s0 +ipv4.addresses "192.168.122.11/24"
Параметр + ipv4.addresses используется для назначения дополнительного IP-адреса.
Перезагрузите сервер, чтобы подтвердить дополнительный IP-адрес.
sudo reboot
Подтвердите назначение второго IP.
$ ip ad 1: lo: 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: enp1s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8f:8c:86 brd ff:ff:ff:ff:ff:ff inet 192.168.122.197/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0 valid_lft 3546sec preferred_lft 3546sec inet 192.168.122.11/24 brd 192.168.122.255 scope global secondary noprefixroute enp1s0 valid_lft forever preferred_lft forever inet6 fe80::4d61:1d19:14a4:a8dc/64 scope link noprefixroute valid_lft forever preferred_lft forever