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

Обновлено и опубликовано Опубликовано:

Назначение 2-х и более адресов на один физический сетевой интерфейс позволяет запуск приложений и служб, которые используют несколько IP или работают на разных сетевых адресах.

Принцип настройки

Для назначения вторичного IP-адреса создается псевдоним (alias) сетевого интерфейса. Название для алиаса задается по принципу <имя интерфейса>:<свободный номер с нуля>, например, eth0:0 или eth0:1.

Псевдониму можно назначить только статический ip-адрес, нельзя присвоить адрес с помощью DHCP.

Разовая настройка (командой)

Добавить дополнительный адрес можно одной командой:

ip a add 192.168.1.11/24 dev enp2s0:1

* в данном примере мы назначили адрес 192.168.1.11 с маской 255.255.255.0 (/24) для сетевого интерфейса enp2s0. Данный алиас назван enp2s0:1.

Если для управления сетевыми интерфейсами используем утилиту ifconfig:

ifconfig enp2s0:1 192.168.1.11 up

Проверить настройку можно одной из команд:

ip a

ifconfig

* обе команды позволяют посмотреть сетевые интерфейсы и узнать IP-адреса, назначенные им.

Необходимо помнить, что данная настройка будет сброшена после перезагрузки сетевой службы или системы.

Постоянная настройка

Чтобы дополнительный адрес назначался при перезагрузках, создаем новый виртуальный адаптер:

vi /etc/sysconfig/network-scripts/ifcfg-enp2s0:1

DEVICE=enp2s0:1
BOOTPROTO=static
IPADDR=192.168.1.11
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes

Для применения настроек, перезапускаем сетевую службу:

systemctl restart network

Настройка отвечающего интерфейса

Некоторые приложения, которые отвечают на сетевые запросы с интерфейсов-алиасов могут работать некорректно. Это связано с тем, что ответ выполняется не с вторичного IP-адреса, на который пришел запрос, а первичного.

Для настройки сетевых ответов с IP, на который пришел запрос, вносим изменения в таблицу маршрутизации.

Для начала нужно найти незанятую таблицу (по умолчанию, они все пусты, кроме основной):

ip route show table 100

* в данном примете мы посмотрим на маршруты таблицы с номером 100.

Если маршрутов нет, то добавляем следующие:

ip route add default via 192.168.1.1 src 192.168.1.11 table 100

ip rule add from 192.168.1.0/24 table 100

ip rule add to 192.168.1.0/24 table 100

* в данном примере добавлены маршруты для подсети 192.168.1.0/24

Для постоянного добавления маршрута, создаем файл:

vi /etc/sysconfig/network-scripts/route-enp2s0:1

default via 192.168.1.1 src 192.168.1.11 table 100

Также создаем файл для добавления правил:

from 192.168.1.0/24 table 100

to 192.168.1.0/24 table 100

Перезапускаем сеть:

systemctl restart network

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

Настройка сети на Linux CentOS

# CentOS # Сети
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет