Перейти к содержимому

Alias ip address что это

  • автор:

Alias DNS-записи: что это и когда использовать

Привет, Хабр! Меня зовут Виктор, я разработчик в Selectel. Часто ко мне обращаются клиенты и спрашивают, в каких ситуациях использовать DNS-записи типа alias. Вопросы появляются на почве ограничений и нюансов RFC.

В статье раскладываю все по полочкам и показываю, как работать с доменами на примере бесплатного DNS-хостинга Selectel. Подробности под катом!

Дисклеймер: большую часть информации из статьи можно найти в RFC по каждому из типов записей. В статье дали выдержку самого важного и показали варианты практического применения. Материал поможет нашим клиентам правильно настроить DNS-записи.

Какие DNS-записи бывают?

DNS-записи позволяют протянуть взаимосвязи между IP-адресами и доменами. Именно с помощью них серверы делятся информацией о доменах с другими серверами. Поэтому важно ответственно подойти к настройкам — они разные, в зависимости от типов записей.

Например, есть A-записи, которые нужны исключительно для связи IP с доменом, CNAME, которые работают с поддоменами, MX, позволяющие настроить почтовые домены, и другие. Далее будем говорить только о DNS-записях типа alias, так как они, по моему опыту, вызывают наибольшее количество вопросов.

Записи типа alias

Всего существует пять основных записей типа alias — CNAME, ALIAS, ANAME, BNAME и DNAME. Но больше всего работают именно с ALIAS и CNAME. В Selectel DNS есть только эти два типа — это связано с тем, что ANAME, BNAME и DNAME оказались неудачными попытками и не смогли найти массового практического применения.

Теперь разберемся, когда эти записи нужны. За отправную точку возьмем самую популярную запись из этого класса — CNAME.

CNAME: запись для перенаправления поддоменов

CNAME позволяет установить связь, например, между www.google.com и google.com. Но этим список возможностей этой записи не ограничивается: с помощью CNAME можно, например, перенаправить с storage.example.com на 123456.selcdn.ru, чтобы получить «красивую» ссылку.

CNAME — это запись, отвечающая за привязку поддоменов к каноническим доменам. Она дублирует все ресурсные записи домена для поддоменов таким образом, чтобы при обращении к последнему был проброс на соответствующие адреса и настройки.

По сути, запись CNAME состоит из пары значений. Первое определяет псевдоним — например, субдомен вроде www или mail — для которого создается запись, а второе — домен, на который он указывает.

Принципиальное отличие CNAME от A-записи в том, что она связывает сервисы с доменными именами, а не с физическими IP-адресами. В случае изменения адреса не нужно переписывать все записи CNAME, достаточно изменить А-запись у оригинального домена. Несмотря на это, у CNAME есть ограничения:

  • Запись CNAME нельзя добавить для домена второго уровня вроде selectel.ru или google.com. Для таких целей нужно использовать ALIAS.
  • Если для поддомена добавлена запись CNAME, то другую запись для него добавить нельзя. Это связано с особенностями технической реализации CNAME: она заставляет провайдеров «копировать» все записи у оригинальных доменов. Поэтому, чтобы случайно не столкнуться с тем же конфликтом двух A-записей на разные ресурсы, ввели это ограничение.
  • Если для поддомена добавлены другие записи, то добавить CNAME нельзя. Причина та же, что в предыдущем пункте.
  • CNAME невозможно использовать для «перенаправления», так как HTTP-редирект в рамках системы DNS организовать нельзя.

Когда использовать CNAME

Разберем сценарий на примере CDN-ресурса в панели управления. К нему по умолчанию мы предоставляем домены вот такого вида:

Допустим, домен по умолчанию не нравится и вы хотите, чтобы сайт CDN был доступным через собственный (cdn.tarrydvcie.ru) — без использования домена Selectel. Для этого вы решаете создать А-запись следующего вида:

cdn.tarrydvice.ru. IN A 92.53.68.16 

Здесь cdn.tarrydvice.ru — нужный поддомен, A — тип записи, 92.53.68.16 — адрес сервера CDN.

Но что произойдет, если изменится IP-адрес для домена по умолчанию, например, на 92.53.68.17? Придется в срочном порядке менять A-запись для cdn.tarrydvice.ru — это может привести к временной недоступности к сайту.

Наиболее простое и удобное решение в этой ситуации — использовать CNAME-запись. Тогда при изменении IP-адреса на 92.53.68.17 для домена по умолчанию автоматически подтянутся и для cdn.tarrydvice.ru.

Подключение и настройка записи в панели

Чтобы решить задачу с доступом через «красивый» домен cdn.tarrydvice.ru, нужно добавить CNAME-запись и сослаться на стандартный домен. Это можно сделать через панель управления доменами.

После добавления CNAME, новую запись можно увидеть с помощью команды dig.

----------- dig cdn.tarrydvice.ru CNAME ;; QUESTION SECTION: ;cdn.tarrydvice.ru. IN CNAME ;; ANSWER SECTION: cdn.tarrydvice.ru. 3600 IN CNAME ab7b4245-9d7a-4b1b-90ba-d4115b72d63e.selcdn.net. . 

В качестве последнего действия нужно добавить новый домен во вкладке CDN.

Супер — все готово, теперь к CDN можно подключиться по «красивому» домену.

ALIAS: как CNAME, только выше

Принцип работы ALIAS похож на механику CNAME: она также копирует данные целевого домена. Однако не может быть добавлена для основного и «существовать» с другими записями в пределах одного поддомена.

Каждый раз, когда на серверы DNS поступает запрос типа записи A или AAAA, вызывается специальный обработчик, который преобразует ALIAS в адрес IPv4 или IPv6 соответственно.

При подключении ALIAS есть несколько ограничений, которые нужно учитывать:

  • Для домена / поддомена с ALIAS-записью не может быть записи A или AAAA.
  • Запись ALIAS нарушит DNSSEC на основном домене (@), поскольку в ответах @ A и @ AAAA будут отсутствовать записи RRSIG.

Когда использовать ALIAS

Теперь разберем сценарий на базе настройки объектного хранилища. Во вкладке «Хранилище» можно увидеть домен вида 288028.selcdn.ru — это персональный домен, который используется в публичных ссылках для доступа к файлам.

Здесь ситуация аналогична CNAME: нам выгоднее использовать ALIAS-запись на красивый домен tarrydvcie.ru, ведь изменения IP-адреса на 92.53.68.17 для 288028.selcdn.ru автоматически подтянутся и для tarrydvice.ru.

Подключение и настройка записи в панели

Для создания ALIAS-записи перейдем во вкладку «Cетевые сервисы» → «DNS-хостинг» и откроем домен tarrydvice.ru.

Далее нужно добавить запись и заполнить соответствующие поля:

После этого в списке записей появится ALIAS — это можно также увидеть с помощью команды dig:

dig tarrydvice.ru ALIAS ;; QUESTION SECTION: ;tarrydvice.ru. IN A ;; ANSWER SECTION: tarrydvice.ru. 563 IN A 92.53.68.16 

Для удобства получения ссылок в объектном хранилище осталось выполнить последний шаг: в управлении доменами нужно добавить tarrydvice.ru.

Теперь при получении ссылки на файл можно увидеть дополнительную URL с «красивым» доменом.

Поделитесь в комментариях, с какими трудностями вы сталкивались при подключении DNS-записей. Мы выберем интересные случаи и постараемся их разобрать.

Возможно, эти тексты тоже вас заинтересуют:

Сетевые интерфейсы и Алиас

Сетевые интерфейсы в ПК СВ «Брест» могут быть определены двумя различными способами:

  • ручной выбор — интерфейсы ВМ подключаются к предварительно выбранной виртуальной сети. Для этого может потребоваться создать несколько шаблонов ВМ с учетом доступных сетей в каждом кластере;
  • автоматический выбор — виртуальные сети будут распределены планировщиком так же, как и другие ресурсы, необходимые виртуальной машине (например, серверы управления или хранилища данных). Это позволяет указать тип сети, который требуется ВМ, и она будет автоматически выбрана среди доступных в кластере.

Механизм Алиас позволяет назначать псевдонимы сетевого интерфейса и использовать более одного IP-адреса на каждом сетевом интерфейсе. Адрес-псевдоним не создает новый виртуальный интерфейс для ВМ на стороне узла виртуализации и не присваивает адрес виртуальному интерфейсу ВМ (с идентификатором one—0 ). Дополнительный адрес назначается интерфейсу в запущенной ВМ на этапе конфигурации из шаблона ВМ.

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

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

Виды псевдонимов сетевых интерфейсов

ПК СВ «Брест» поддерживает два вида псевдонимов сетевых интерфейсов:

  • внутренние (internal NIC Alias) — IP-адреса, непосредственно сконфигурированные внутри ВМ в качестве дополнительных IP-адресов на сетевых интерфейсах. ВМ доступна напрямую по внутреннему псевдониму сетевой карты. Управление внутренними псевдонимами доступно через интерфейс командной строки и веб-интерфейс ПК СВ;
  • внешние (external NIC Alias) — в отличие от внутренних псевдонимов сетевых интерфейсов дополнительные IP-адреса не назначаются для ВМ. При присоединении внешнего псевдонима происходит только выделение адреса из диапазона адресов виртуальной сети, подключение к ВМ по этому адресу без дополнительной конфигурации невозможно.

Внешние псевдонимы сетевых интерфейсов используются при настройке в виртуальных маршрутизаторах сетевой функции SDNAT4 (сопоставления виртуальных сетей). SDNAT4 каждые 30 секунд отслеживает присоединение внешнего псевдонима к любой из ВМ в сетях виртуального роутера и автоматически создает пары интерфейсов для трансляции адресов в обоих направлениях (что позволяет, например, использовать ВМ в частной сети без раскрытия адреса). Внешний псевдоним не имеет ограничений на использование режимов работы облачной сети.

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

Настройка Алиас в ПК СВ «Брест»

Добавление псевдонимов сетевых интерфейсов в шаблон ВМ

В интерфейсе командной строки

  1. Для изменения параметров шаблона ВМ необходимо использовать команду:

onetemplate update

NIC = [ NETWORK = "virtnetwork", NAME = "test" ]
  • NETWORK — идентификатор используемой виртуальной сети;
  • NAME — идентификатор сетевого интерфейса.

Если параметр NAME не задан, сетевому интерфейсу автоматически будет присвоено системное имя вида «NIC«.

При задании пользовательского имени для параметра NAME , оно должно быть использовано в шаблоне для параметра PARENT у NIC_ALIAS. Если этого не сделать, создание ВМ через веб-интерфейс будет приводить к ошибке.

NIC_ALIAS = [ NETWORK = "virtnetwork", PARENT = "test" ]
  • NETWORK — идентификатор используемой виртуальной сети;

Виртуальная сеть, используемая для дополнительного IP-адреса, может отличаться от виртуальной сети, используемой сетевым интерфейсом.

CONTEXT = [ NETWORK = "YES", SSH_PUBLIC_KEY = "$USER[SSH_PUBLIC_KEY]" ] CPU = "0.25" DISK = [ IMAGE = "disk", IMAGE_UNAME = "adminbrest" ] DISK = [ IMAGE = "173", IMAGE_UNAME = "adminbrest" ] FEATURES = [ GUEST_AGENT = "yes" ] GRAPHICS = [ LISTEN = "0.0.0.0", TYPE = "VNC" ] HOT_RESIZE = [ CPU_HOT_ADD_ENABLED = "NO", MEMORY_HOT_ADD_ENABLED = "NO" ] HYPERVISOR = "kvm" INPUTS_ORDER = "" MEMORY = "2048" MEMORY_UNIT_COST = "MB" NIC = [ NAME = "test", NETWORK = "virtnetwork", NETWORK_UNAME = "adminbrest", SECURITY_GROUPS = "0" ] NIC_ALIAS = [ NETWORK = "virtnetwork", PARENT = "test" ] OS = [ BOOT = "disk0,disk1", FIRMWARE = "" ] VCPU = "1"

onetemplate instantiate <идентификатор_шаблона>[]

В веб-интерфейсе ПК СВ

  1. На странице Изменить шаблон ВМ во вкладке Расширенный отредактировать в шаблоне ВМ параметры сетевого интерфейса:
NIC = [ NETWORK = "virtnetwork", NAME = "test" ]
  • NETWORK — идентификатор используемой виртуальной сети;
  • NAME — идентификатор сетевого интерфейса.

Идентификаторы сетевого интерфейса вида «NIC» зарезервированы системой. ПК СВ автоматически переименует их в вид «_NIC«.

Веб-интерфейс ПК СВ не поддерживает отображение в элементах интерфейса пользовательских имен заданных в параметре NAME . На страницах Создать ВМ и Изменить шаблон ВМ во вкладке Сеть в выпадающем списке Алиас сетевые интерфейсы будут обозначены системными именами вида «NIC».

NIC_ALIAS = [ NETWORK = "virtnetwork", PARENT = "test" ]
  • NETWORK — идентификатор используемой виртуальной сети;

Виртуальная сеть, используемая для дополнительного IP-адреса, может отличаться от виртуальной сети, используемой сетевым интерфейсом.

Возможно создание псевдонима сетевого интерфейса без заданного значения параметра PARENT . В таком случае значение родительского сетевого интерфейса можно будет выбрать на страницах Создать ВМ или Изменить шаблон ВМ во вкладке Сеть в выпадающем списке Алиас:

  • Сохранить отредактированный шаблон ВМ нажав кнопку Обновить:
  • После изменения шаблона ВМ на странице Изменить шаблон ВМ во вкладке Сеть станет доступен новый сетевой интерфейс с возможностью включения использования дополнительного IP-адреса:
  • Горячее подключение псевдонимов сетевых интерфейсов в ВМ

    Для горячего подключения псевдонимов сетевых интерфейсов к работающим ВМ можно воспользоваться двумя способами:

      Добавить псевдоним сетевого интерфейса командой:

    sudo onevm nic-attach —network —alias

  • В веб-интерфейсе ПК СВ на странице ВМ во вкладке Сеть нажать кнопку Добавить сетевой интерфейс:

    На открывшейся странице Добавить сетевой интерфейс установить флаг Прикрепить как псевдоним и выбрать виртуальную сеть из списка:

    Нажать кнопку Присоединить.
  • Дополнительный ip для интерфейса (IP alias) в Linux

    network-logo

    Сегодня рассмотрим как привязать несколько ip-адресов к одному сетевому интерфейсу, без использования vlan, т.е. создать несколько виртуальных интерфейсов, еще их называют IP alias.

    Содержание

    1. 1. Установка алиас на сетевой интерфейс enp0s3 с использованием утилиты ifconfig.
    2. 2. Удалить alias ip-адреса в Linux через утилиту ifconfig
    3. 3. Установка алиас на сетевой интерфейс enp0s3 с использованием файла конфигурации.

    Данная задача решается в ОС Linux (Linux Mint, Debian, Ubuntu, xUbuntu) двумя способами: использованием утилиты ifconfig и редактированием файла etc/network/interfaces .

    Установка алиас на сетевой интерфейс enp0s3 с использованием утилиты ifconfig.

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

    ifconfig enp0s3:0 10.0.8.2 netmask 255.255.255.0 up

    либо с дефолтной маской

    ifconfig enp0s3:1 10.0.7.2 up

    Помните: после перезагрузки добавленные виртуальные alias ip-адреса через команду ifconfig слетят.

    Удалить alias ip-адреса в Linux через утилиту ifconfig

    Для удаления ранее созданного алиас интерфейса enp0s3:0 воспользуемся следующей командой:

    sudo ifconfig enp0s3:0 down

    Установка алиас на сетевой интерфейс enp0s3 с использованием файла конфигурации.

    Для добавления алиас IP-адресов с использованием файла конфигурации, откроем файл interfaces

    sudo nano /etc/network/interfaces

    Внесём наши дополнительные IP-адреса для интерфейса enp0s3

    auto enp0s3:0
    iface enp0s3:0 inet static
    address 10.0.8.2
    netmask 255.255.255.0
    broadcast 10.0.8.255
    network 10.0.8.0

    auto enp0s3:1
    iface enp0s3:1 inet static
    address 10.0.7.2
    netmask 255.255.255.0
    broadcast 10.0.8.255
    network 10.0.8.0

    Теперь при загрузке системы интерфейсы enp0s3:0 и enp0s3:1 будут автоматически добавлены.

    Вот и все. Аналогичным образом можно добавить и другие виртуальные ip-адреса на сетевую карту в ОС Linux Mint, Debian, Ubuntu.

    Если есть вопросы, то пишем в комментариях в Телеграмм и ВК.

    Ссылки в шапке страницы.
    Заранее всем спасибо.

    Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

    dns_bind9

    Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата

    Сегодня установим и настроим наш файловый сервер Samba на Ubuntu Server 20.04. Расшарим директории для нашего сервера и установим на Читать

    linux-logo

    В этой статье я вам расскажу как изменить hostname в Debian/Ubuntu (обычно имя компьютера в сети). Существует два способа изменения Читать

    network-logo

    В этой статье рассмотрим пример как можно переименовать сетевые интерфейсы в дистрибутивах Linux. После обновления systemd (частью которого является udev) Читать

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

    date

    20.12.2019

    user

    itpro

    directory

    Windows 10, Windows Server 2012 R2

    comments

    комментариев 18

    В некоторых ситуациях администратору необходимо настроить несколько IP адресов на одном сетевом интерфейсе (сетевой карте) в Windows. Примером таких ситуаций может быть необходимость запуска нескольких сайтов с уникальными IP адресами и SSL сертфикатами (тех же SSL сертфикатов от Let’s Encrypt ) на одном сервере IIS или Apache, подготовка к смене IP адресации в подсети, привязка приложений к разным IP адресам и т.д.

    Рассмотрим, как добавить дополнительный статический IP адрес на сетевой интерфейс в Windows 10 (аналогичным образом можно добавить дополнительный IP адрес в Windows Server). В первую очередь убедитесь, что вашему сетевому адаптеру Ethernet назначен только один адрес. Для этого выполните команду:

    ipconfig один ip адрес на интерфейсе

    Как вы видите подключению по локальной сети (у меня оно называется Ethernet0) присвоен один IP адрес (192.168.1.90).

    Добавить второй статический IP адрес можно несколькими способами.

    Добавляем дополнительный IP адрес через GUI

    Можно задать дополнительный адрес через графический интерфейс системы.

    настройка сетевого адаптера

    1. Откройте Панель управления –> Все элементы панели управления -> Сетевые подключения (или просто выполните команду ncpa.cpl).
    2. Откройте свойства вашего сетевого интерфейса.
    3. В списке протоколов выберите TCP/IP v4 и нажмите кнопку Свойства.
    4. Нажмите на кнопку Advanced (Дополнительно) и в секции «IP адреса» нажмите кнопку Добавить.
    5. Укажите дополнительный IP адрес и маску подсети и нажмите Добавить.

    добавить второй ip адрес в windows 10

  • Сохраните изменения, несколько раз щелкнув на OK.
  • С помощью ipconfig убедитесь, что у этого интерфейса появился второй ip адрес.

    появился дополнительный ip интерфейса

    Проверьте доступность второго IP адреса по сети с других компьютеров командой ping. Он должен отвечать.

    ping нового ip адреса

    Флаг 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

    Get-NetIPAddress

    172.23.53.241 vEthernet (Коммутатор по у) False
    192.168.1.90 Ethernet0 False
    127.0.0.1 Loopback Pseudo-Interface 1 False

    Чтобы добавить дополнительный IP для сетевого интерфейса Ethernet0 выполните команду:

    New-NetIPAddress –IPAddress 192.168.1.92 –PrefixLength 24 –InterfaceAlias “Ethernet0” –SkipAsSource $True

    присваиваем интерфейсу второй ip адрес с помощью комнадлета New-NetIPAddress

    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 адреса сетевого интерфейса воспользуйтесь командой:

    Get-NetIPAddress 192.168.1.92 | Set-NetIPAddress -SkipAsSource $False

    powershell установить параметр SkipAsSource

    Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

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

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