О web-разработке
и даже немного больше...

Несколько IP адресов на одном сетевом интерфейсе

Есть концепция, которая позволяет настроить несколько IP-адресов на одном сетевом интерфейсе, и называется она IP-aliasing, если переводить дословно, то это IP-псевдонимы. Подобные вещи используются для создания нескольких виртуальных сайтов на Apache, посредством одного сетевого интерфейса и разных IP-адресов в одной подсети.
Преимущество возможности использования псевдонимов IP адресов в том, что нет необходимости использования физических адаптеров к каждому IP. Вместо этого вы создаете несколько виртуальных интерфейсов, которые будут действовать на одной физической сетевой карте, это довольно удобно.

Примеры, опубликованные здесь актуальны для дистрибутивов Red Hat, Fedora и CentOS. Мы рассмотрим несколько способов конфигурирования сетевых интерфейсов, и IP адреса у нас будут использованы из локальной сети. Вам же будет необходимо поменять значения адресов на свои.

Создание виртуальных интерфейсов, а так же использование нескольких IP адресов.
В нашем примере мы используем интерфейс «ifcfg-eth0», в качестве интерфейса по умолчанию. Если вы хотите добавить второй Ethernet интерфейс, то вам следует создать файл конфигурации с именем «ifcfg-eth1». Файлы конфигурации сетевых интерфейсов размещаются по пути /etc/sysconfig/network-script/. Давайте пройдем в данную директорию, и просмотрим список файлов.

# cd /etc/sysconfig/network-scripts/
# ls –l

Здесь всё просто, мы проходим с помощью команды cd в указанную директорию, затем просматриваем содержимое с помощью команды «ls -l».

В результате, если всё сделано правильно, мы получаем вывод примерно такого содержания:

ifcfg-eth0   ifdown-isdn    ifup-aliases  ifup-plusb     init.ipv6-global
ifcfg-lo     ifdown-post    ifup-bnep     ifup-post      net.hotplug
ifdown       ifdown-ppp     ifup-eth      ifup-ppp       network-functions
ifdown-bnep  ifdown-routes  ifup-ippp     ifup-routes    network-functions-ipv6
ifdown-eth   ifdown-sit     ifup-ipv6     ifup-sit
ifdown-ippp  ifdown-tunnel  ifup-isdn     ifup-tunnel
ifdown-ipv6  ifup           ifup-plip     ifup-wireless

Предположим нам необходимо добавить к существующему IP адресу, ещё три дополнительных, пусть это будет 172.16.16.126, 172.16.16.127 и 172.16.16.128. Для этого нам нужно добавить дополнительные файлы конфигурации по каждому на каждый виртуальный интерфейс. Таким образом, файл «ifcfg-eth0» будет файлом конфигурации для основного IP-адреса. Для IP-адресов псевдонимов мы создаем дополнительные файлы, выглядеть это будет так:

Adapter            IP Address                Type
-------------------------------------------------
eth0              172.16.16.25            Primary
eth0:0            172.16.16.26            Alias 1
eth0:1            172.16.16.27            Alias 2
eth0:2            172.16.16.28            Alias 3

Значение «:N» обозначает номер интерфейса созданного нами интерфейса алиаса, к интерфейсу eth0. Нумерацию интерфейсов следует сделать последовательной, т.е. получается ifcfg-eth0:0, ifcfg-eth0:1, ifcfg-eth0:2. Сделать это просто, посредством копирования из основного конфигурационного файла.

# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-eth0:0
# cp ifcfg-eth0 ifcfg-eth0:1
# cp ifcfg-eth0 ifcfg-eth0:2

Если мы откроем файл «ifcfg-eth0» то увидим следующее содержимое

[root@href network-scripts]# vi ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.125
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C

Здесь нас интересуют два параметра DIVECE и IPADDR. Таким образом, откройте каждый из файлов конфигурации (сделать это можно через редактор VI), и отредактируйте эти параметры. DEVICE – имя устройства, задайте его уникальным, у каждого интерфейса он будет свой. IPADDR – IP адрес интерфейса. В конечном итоге, файлы конфигурации будут выглядеть таким образом:

Ifcfg-eth0:0

DEVICE="eth0:0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.126
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C

Ifcfg-eth0:1

DEVICE="eth0:1"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.127
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C

Ifcfg-eth0:2

DEVICE="eth0:2"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.128
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C

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

[root@href network-scripts]# /etc/init.d/network restart

После перезапуска сетевого интерфейса мы можем проверить применение новых параметров, посредством команды «ifconfig». С другой машин вы так же можете проверить работы посредством утилиты Ping (о ней наверняка вы уже знаете).
Использование диапазона IP адресов
Еще один не менее полезный способ конфигурации виртуального интерфейса – это если вы используете диапазон IP адресов. В этом случае вам не придется плодить файлы конфигурации на каждый виртуальный интерфейс по отдельности, а достаточно создать один дополнительный, задав ему имя как «ifcfg-eth0-range0». Для его быстрого создания вы так же можете скопировать файл конфигурации основного интерфейса «ifcfg-eth0».

[root@href network-scripts]# cd /etc/sysconfig/network-scripts/
[root@href network-scripts]# cp -p ifcfg-eth0 ifcfg-eth0-range0

В новом файле конфигурации «ifcfg-eth0-range0» нам потребуется задать два параметра, «IPADDR_START» и «IPADDR_END». Как вы уже наверное догадались это начало и конец диапазон адресов, кроме того в файле конфигурации необходимо закомментировать параметры DEVICE, BOOTPROTO, и т.д. см. ниже.

[root@href network-scripts]# vi ifcfg-eth0-range0
#DEVICE="eth0"
#BOOTPROTO=none
#NM_CONTROLLED="yes"
#ONBOOT=yes
TYPE="Ethernet"
IPADDR_START=172.16.16.126
IPADDR_END=172.16.16.130
IPV6INIT=no
#GATEWAY=172.16.16.100

Как и в предыдущем примере перезапускаем конфигурацию после внесений изменений.

[root@href network-scripts]# /etc/init.d/network restart

Осталось проверить, всё ли сделано правильно, опять же смотрим ifconfig а так же пробуем пинговать с других машин. На это всё, успехов!

Опубликован: 21.10.2016 г.

См. также:

Установка и использование FFmpeg в CentOS 7
Сжатие PDF-файлов в Linux
Установка Node.js на Linux CentOS 7
Обновление пакетов в CentOS
Bash: mail: command not found
Выставляем временную зону в CentOS 7
Настройка SELinux, включение, отключение
Меняем пароль root в MySQL 5.7

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта