alias ip address что это
Несколько IP-адресов на одном сетевом адаптере в CentOS
Назначение 2-х и более адресов на один физический сетевой интерфейс позволяет запуск приложений и служб, которые используют несколько IP или работают на разных сетевых адресах.
Принцип настройки
Псевдониму можно назначить только статический 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-адреса, назначенные им.
Необходимо помнить, что данная настройка будет сброшена после перезагрузки сетевой службы или системы.
Постоянная настройка
Чтобы дополнительный адрес назначался при перезагрузках, создаем новый виртуальный адаптер:
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
Для постоянного добавления маршрута, создаем файл:
default via 192.168.1.1 src 192.168.1.11 table 100
Несколько IP адресов (алиасов) на одном сетевом интерфейсе в Windows
В некоторых ситуациях администратору необходимо настроить несколько IP адресов на одном сетевом интерфейсе (сетевой карте) в Windows. Примером таких ситуаций может быть необходимость запуска нескольких сайтов с уникальными IP адресами и SSL сертфикатами (тех же SSL сертфикатов от Let’s Encrypt ) на одном сервере IIS или Apache, подготовка к смене IP адресации в подсети, привязка приложений к разным IP адресам и т.д.
Рассмотрим, как добавить дополнительный статический IP адрес на сетевой интерфейс в Windows 10 (аналогичным образом можно добавить дополнительный IP адрес в Windows Server). В первую очередь убедитесь, что вашему сетевому адаптеру Ethernet назначен только один адрес. Для этого выполните команду:
Как вы видите подключению по локальной сети (у меня оно называется Ethernet0) присвоен один IP адрес (192.168.1.90).
Добавить второй статический IP адрес можно несколькими способами.
Добавляем дополнительный IP адрес через GUI
Можно задать дополнительный адрес через графический интерфейс системы.
С помощью ipconfig убедитесь, что у этого интерфейса появился второй ip адрес.
Проверьте доступность второго IP адреса по сети с других компьютеров командой ping. Он должен отвечать.
Флаг SkipAsSource
Основной недостаток добавления второго ip адреса таким способом – для него не включается флаг SkipAsSource (SkipAsSource=False). Если флаг SkipAsSource включен (True), то этот IP адрес не будет использоваться системой для исходящих соединений, кроме явного его задействования определенным приложением. Так же при включенном флаге второй IP адрес не регистрируется в DNS (при включенной динамической регистрации). По сути с помощью параметра SkipAsSource вы можете установить оснвной IP адрес.
Назначаем второй IP адрес интерфейсу с помощью команды Netsh
Вы можете привязать дополнительный ip адрес из командной строки с помощью утилиты Netsh. Также данная команда позволяет выставлять флаг SkipAsSource для IP адреса.
Откройте командную строку с правами администратора и выполните команду
Netsh int ipv4 add address name=»Local Area Connection» 192.168.1.92 255.255.255.0 SkipAsSource=True
Добавляем дополнительный IP адрес с помощью PowerShell
Также вы можете добавить второй IP алиас сетевой карте с помощью PowerShell командлета New-NetIPAddress (командлет появился в модуле PowerShell NetTCPIP в версии PowerShell для Windows 2012 / Windows 8 и ).
Выедем список доступных интерфейсов:
Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
Чтобы добавить дополнительный IP для сетевого интерфейса Ethernet0 выполните команду:
IPAddress : 192.168.1.92
InterfaceIndex : 11
InterfaceAlias : Ethernet0
AddressFamily : IPv4
Type : Unicast
PrefixLength : 24
PrefixOrigin : Manual
SuffixOrigin : Manual
AddressState : Tentative
ValidLifetime : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource : True
PolicyStore : ActiveStore
Чтобы изменить параметр SkipAsSource и разрешить исходящий трафик с данного IP адреса сетевого интерфейса воспользуйтесь командой:
Дополнительный ip для интерфейса (IP alias) в Linux
Сегодня рассмотрим как привязать несколько ip-адресов к одному сетевому интерфейсу, без использования vlan, т.е. создать несколько виртуальных интерфейсов, еще их называют IP alias.
Установка алиас на сетевой интерфейс enp0s3 с использованием утилиты ifconfig.
Для добавления алиаса на наш интерфейс в терминале вводим команду:
либо с дефолтной маской
Помните: после перезагрузки добавленные виртуальные alias ip-адреса через команду ifconfig слетят.
Удалить alias ip-адреса в Linux через утилиту ifconfig
Для удаления ранее созданного алиас интерфейса enp0s3:0 воспользуемся следующей командой:
Установка алиас на сетевой интерфейс enp0s3 с использованием файла конфигурации.
Для добавления алиас IP-адресов с использованием файла конфигурации, откроем файл interfaces
Внесём наши дополнительные IP-адреса для интерфейса enp0s3
Теперь при загрузке системы интерфейсы enp0s3:0 и enp0s3:1 будут автоматически добавлены.
Вот и все. Аналогичным образом можно добавить и другие виртуальные ip-адреса на сетевую карту в ОС Linux Mint, Debian, Ubuntu.
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Мини-HOWTO, описывающее, как настроить IP-алиасинг на машине с Linux
GNU Copyleft 1996/1997 Harish Pillay (h.pillay@ieee.org)
Перевод: Станислав Рогин, SWSoft Pte Ltd.
Главный сайт: http://home.pacific.net.sg/
Это книга рецептов того, как настроить и запустить IP-алиасинг на Linux-машине. Дополнительно к этому, здесь находятся инструкции, как получать электронную почту по этим IP-адресам.
В вышеприведенном примере я использовал личные IP-адреса ( RFC 1918 ), в целях иллюстрации. Замените их на ваши официальные или личные адреса.
Вот что выдает моя команда /sbin/ifconfig:
А вот что содержит /proc/net/aliases:
И, в свою очередь, /proc/net/alias_types:
Конечно, все, что в /proc/net, создано ifconfig-ом, а не вручную!
Вопрос: Как сохранить настройки в процессе перезагрузки?
Ответ: Если вы используете загрузку в стиле BSD или SysV (напр. Redhat), то всегда можно добавить эти команды в /etc/rc.d/rc.local. Вот что записано у меня в системе с загрузкой в стиле SysV (Redhat 3.0.3 and 4.0):
Вопрос: Как настроить машину с IP-алиасингом для получения почты, идущей по различным IP-адресам (на машине, использующей sendmail)?
Заметьте, что, когда я тестировал me@4.5.6.7, почта доставлена на локальную машину, а me@4.5.6.8 была передана smtp-mailer-у. Так и должно быть.
Надеюсь, все вышесказанное кому-нибудь пригодится.
Спасибо всем, кто провел титаническую работу над Linux-ом и IP-алиасингом. И особенно Juan Jose Ciarlante за ответы на мои вопросы.
Честь и слава программистам-асам!
Если вам пригодился этот документ, или у вас есть предложения или дополнения, пишите мне по адресу h.pillay@ieee.org.
Авторские права
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу
Настройка IP aliasing (псевдонимов)
IP aliasing – специальная конфигурация сети, которая позволяет связать несколько IP адресов в один сетевой интерфейс.
Далее будут предоставлены инструкции по настройке для наиболее часто используемых дистрибутивов/операционных систем.
Debian 6/7/8
1 Создание резевной версии конфигурационного файла
Делаем копию конфигурационного файла сети (для восстановления настроек в случае проблем):
2 Редактирование конфигурации
Добавляем второй интерфейс eth0:0:
Если вам нужно настроить два дополнительных IP-адреса, файл /etc/network/interfaces должен иметь следующий вид:
3 Перезагрузка интерфейса
Debian 9+, Ubuntu 17.04, Fedora 26+ and Arch Linux
В этих дистрибутивах имена интерфейсов как eth0, eth1 (и т. д.) отменены. Поэтому мы будем использовать systemd-network для настройки.
1 Создание резервной копии конфигурационного файла
Делаем копию конфигурационного файла сети (для восстановления настроек в случае проблем):
2 Редактируем
Добавляем дополнительный IP как показано ниже:
Строка Label =ADDITIONAL_IP # optional — не является обязательной для заполнения. А предназначена, чтобы различать дополнительные IP-адреса.
3 Перезагрузка интерфейса
Ubuntu 17.10 и выше
Каждый дополнительный IP-адрес нужно указывать отдельной строкой в конфигурационном файле «50-cloud-init.yaml» в /etс /netplan.
1 Определяем интерфейс
Обратите внимание на имя интерфейса и его MAC-адрес.
2 Создание конфигурационного файла
Затем отредактируйте файл как показано ниже, заменив INTERFACE_NAME, MAC_ADDRESS и ADDITIONAL_IP на ваши:
Для проверки конфигурации выполните команду:
3 Применение настроек
Для применения настроек выполните следующую команду:
CentOS and Fedora (25 и версии ниже)
1 Создание конфигурационного файла
Создайте копию исходного файла, чтобы использовать его в качестве шаблона:
2 Редактирование
Редактируем файл eth0:0:
Замените имя устройства device, и существующий IP на дополнительный:
3 Запускаем alias интерфейса
Gentoo
1 Создание резервной копии
Создадим резервную копию конфигурационного файла:
2 Редактирование
Теперь нужно отредактировать файл, чтобы добавить дополнительный IP. В Gentoo псевдоним добавляется непосредственно в интерфейс eth0. Вам не нужно создавать интерфейс eth0:0, как в других дистрибутивах.
Все, что вам нужно сделать, это добавить пробел в строке после маски 255.255.255.0 и добавить дополнительный IP-адрес (SERVER_IP должен быть заменен основным IP-адресом вашего сервера).
Файл должен иметь следующий вид:
Файл /etc/conf.d/net должен иметь вид:
Для применения настроек перезагрузите сетевой интерфейс
openSUSE
1 Cоздание резервной копии конфигурационного файла
2 Редактирование конфигурационного файла
Приводим его к следующему виду:
Для применения настроек перезагрузите сервер.
cPanel (on CentOS 6)
1 Создание резервной копии конфигурационного файла
2 Редактирование конфигурационного файла
Добавьте дополнительный IP:
Далее, добавьте дополнительный IP в файл /etc/ipaddrpool:
ADDITIONAL_IP
3 Перезагрузка интерфейса
Windows Servers
На серверах Windows зачастую используют динамическую конфигурацию сети — DHCP. Если вы уже установили дополнительный IP-адрес или переключили свою конфигурацию на статическую, перейдите непосредственно к следующему шагу.
В противном случае необходимо сначала переключиться с конфигурации DHCP на статическую с фиксированным IP.
Откройте командную строку cmd или powershell, затем введите следующую команду:
Вы получите следующий результат, например:
Определите и запишите свой IPv4, маску подсети, шлюз по умолчанию и имя контроллера сетевого интерфейса (сетевой адаптер).
В нашем примере, основной IP-адрес сервера — 94.23.229.151.
Вы можете выполнить следующие шаги через интерфейс командной строки или графический интерфейс пользователя.
С помощью командной строки (рекомендуется)
В приведенных ниже командах вам необходимо заменить:
Command | Значение |
NETWORK_ADAPTER | Имя сетевого интерфейса (в нашем примере: Local Area Connection) |
IP_ADDRESS | Основной IP-адрес сервера (в нашем примере: 94.23.229.151) |
SUBNET_MASK | Маска подсети (в нашем примере: 255.255.255.0) |
GATEWAY | Шлюз (в нашем примере: 94.23.229.254) |
ADDITIONAL_IP | Дополнительный IP-адрес который вы желаете добавить |
Настройки через командную строку
Переключение на статическую конфигурацию сети:
Установка DNS сервера:
Добавление дополнительного IP:
Дополнительный IP добавлен.
С помощью графического интерфейса пользователя
Затем нажмите Advanced (в настройках TCP/IP Settings).
В разделе IP Address, нажмите Add:
Введите дополнительный IP и маску подсети 255.255.255.255
Нажмите Add.
Дополнительный IP добавлен.
FreeBSD
1 Определение интрефейса
Определите имя вашего основного сетевого интерфейса. Для этого вы можете использовать команду ifconfig:
Вы должны получить примерно такой вывод:
В нашем примере имя интерфейса nfe0.
2 Создание резервной копии конфигурационного файла
3 Редактирование конфигурационного файла
Редактируем файл /etc/rc.conf:
Затем добавьте эту строку в конец файла:
ifconfig_INTERFACE_alias0=”inet ADDITIONAL_IP netmask 255.255.255.255 broadcast ADDITIONAL_IP”.
Замените имя интерфейса и укажите дополнительный IP который желаете добавить. Например:
4 Перезагрузка интерфейса
Solaris
1 Определение интерфейса
Определите имя вашего основного сетевого интерфейса. Для этого вы можете использовать команду ifconfig:
Команда вернем примерно следующий результат:
2 Создание конфигурационного файла
Добавьте в файл: ADDITIONAL_IP/32 up, где ADDITIONAL_IP — дополнительный IP. Например:
3 Перезагрузка интерфейса
Устранение неисправностей
Если вы не можете установить соединение из общедоступной сети с IP-адресом и подозреваете проблему с сетью, перезагрузите сервер в режим восстановления и настройте IP непосредственно на сервере.
Для этого после перезагрузки сервера в режиме восстановления введите следующую команду:
Если, IP-адрес по-прежнему не доступен, сообщите об этом в нашу службу поддержки, создав запрос в Личном кабинете.