Открыть сервис

Proxy ARP

Proxy ARP — это технология канального уровня (L2) сетевой модели OSI, реализуемая на сетевых устройствах (маршрутизаторах, коммутаторах третьего уровня, серверах), при которой устройство отвечает на ARP-запрос, адресованный другому узлу, от своего имени, подменяя тем самым свой MAC-адрес в ответе. Это позволяет узлам из одной широковещательной области (L2-домена) логически взаимодействовать с узлами из другой подсети, не имея для этого явных маршрутных настроек и не изменяя конфигурацию шлюза по умолчанию. Proxy ARP обеспечивает прозрачную маршрутизацию на канальном уровне, маскируя наличие нескольких IP-подсетей или физических сегментов сети от конечных хостов.

История возникновения и развития

Технология Proxy ARP была впервые описана в спецификации протокола ARP (RFC 826, 1982 год), но её активное применение началось с развитием локальных сетей на основе Ethernet и IP-маршрутизации в 1980-х годах. Первоначально она решала проблему взаимодействия узлов в рамках одной широковещательной области, разделённой на несколько IP-подсетей. В классической IP-реализации узел, находящийся в одной подсети, не может напрямую общаться с узлом из другой подсети без маршрутизатора. Proxy ARP позволил эмулировать единую подсеть для конечных устройств, что было особенно актуально в условиях ограниченных ресурсов памяти и процессорной мощности ранних сетевых устройств.

В 1990-е годы Proxy ARP широко применялась для организации доступа к удалённым сетям через dial-up-подключения (например, в протоколе PPPoE и туннелях). В этом контексте она позволяла серверу доступа отвечать на ARP-запросы от удалённых клиентов, имитируя их присутствие в локальной сети. С развитием технологий NAT (Network Address Translation) и VLAN (Virtual Local Area Network) частота использования Proxy ARP в классических ЛВС снизилась, однако она остаётся востребованной в сценариях с VPN-соединениями, протоколами MPLS, VPLS, а также при построении изолированных сетевых сегментов на базе Open vSwitch.

Принцип работы

Стандартный ARP-запрос

В обычной ситуации узел A (IP 192.168.1.10/24), желая передать данные узлу B (192.168.1.20/24), отправляет широковещательный ARP-запрос: «Кто имеет IP 192.168.1.20? Сообщи свой MAC-адрес». Узел B отвечает своим MAC-адресом напрямую. Если узел A пытается связаться с узлом C (192.168.2.30/24), который находится в другой подсети, он видит, что IP-адрес не входит в его собственную сеть (192.168.1.0/24), и направляет пакет на свой шлюз по умолчанию.

Работа Proxy ARP

При включённом Proxy ARP на маршрутизаторе R, расположенном между двумя подсетями (192.168.1.0/24 и 192.168.2.0/24), узел A отправляет ARP-запрос на IP 192.168.2.30. Маршрутизатор R перехватывает этот запрос (он находится в той же широковещательной области, что и A) и отвечает от своего имени, указывая в ответе свой собственный MAC-адрес интерфейса, через который он слышит запрос. Узел A, получив ответ, связывает IP 192.168.2.30 с MAC-адресом маршрутизатора и начинает отправлять пакеты непосредственно ему. Маршрутизатор R, получив пакет от A, выполняет обычную IP-маршрутизацию и передаёт пакет узлу C в подсеть 192.168.2.0/24. При ответе узла C процесс повторяется с другой стороны: маршрутизатор отвечает на ARP-запросы от C, подменяя MAC-адрес A.

Ключевое условие: маршрутизатор должен иметь активный маршрут до целевого IP-адреса и быть сконфигурирован на использование Proxy ARP на интерфейсе, с которого пришёл ARP-запрос.

Классификация и виды реализации

Proxy ARP на хосте

Реализуется на компьютере или сервере с сетевым стеком ОС. Например, в Linux для этого используется параметр ядра proxy_arp для конкретного интерфейса. Чаще всего применяется на серверах, выступающих в роли шлюзов для изолированных подсетей, либо при организации сетевых мостов (bridge) с участием виртуальных машин.

Proxy ARP на маршрутизаторе

Наиболее распространённый вариант. Практически все современные маршрутизаторы (Cisco, Juniper, MikroTik, OpenWrt) поддерживают эту функцию как для IPv4, так и для IPv6. В настройках обычно включается политикой или флагом на интерфейсе. Позволяет избежать настройки шлюзов на клиентах при перераспределении подсетей.

Proxy ARP в сетях MPLS/VPLS

Широко используется для эмуляции единого L2-сегмента поверх транспортной сети. Пограничные маршрутизаторы (PE) отвечают на ARP-запросы от клиентов, находящихся в одном VPLS-инстансе, но физически расположенных в разных географических точках. Без Proxy ARP трафик между точками был бы невозможен без явной конфигурации шлюзов.

Proxy ARP для IPv6 (NDP Proxy)

Аналог Proxy ARP для протокола IPv6 (RFC 4861, Neighbor Discovery Protocol). Реализует прозрачную маршрутизацию на уровне канального доступа для соседних узлов, находящихся в разных подсетях одного L2-домена. Используется в IPv6-сегментах для поддержки сетей с мобильными узлами и VPN-туннелями.

Применение и практические сценарии

Объединение логических подсетей в одном L2-сегменте

Используется в корпоративных и провайдерских сетях, когда необходимо предоставить доступ к ресурсам (например, серверам) узлам из нескольких IP-подсетей, не изменяя сетевые настройки клиентов. Например, при объединении старых и новых сегментов сети или при миграции подсетей без прерывания обслуживания.

Организация доступа к удалённым сетям через VPN

В туннельных решениях (OpenVPN, WireGuard, IPsec) Proxy ARP позволяет клиентам облачной или удалённой сети «видеть» друг друга как локальные узлы, не требуя настройки сложных маршрутных таблиц. Это упрощает развёртывание сетей для офисов с несколькими филиалами или для виртуализированных сред.

Поддержка устаревшего оборудования

Некоторые старые операционные системы или встроенные устройства не поддерживают ручную настройку шлюза по умолчанию. Proxy ARP позволяет им взаимодействовать с другими подсетями без каких-либо изменений в их конфигурации — все маршруты обслуживаются на стороне маршрутизатора.

Использование в облачных и виртуальных сетях

Платформы виртуализации (VMware vSphere, KVM, OpenStack) активно используют Proxy ARP в программных коммутаторах (например, Open vSwitch) для обеспечения сетевой связанности между виртуальными машинами, расположенными в разных физических узлах, но в одной виртуальной сети. Это критично для балансировки нагрузки и обеспечения высокой доступности.

Преимущества и недостатки

Преимущества

Недостатки

Интересные факты

Источники

  1. RFC 826 — Ethernet Address Resolution Protocol (1982).
  2. RFC 925 — Multi-LAN Address Resolution (1985).
  3. RFC 1027 — Proxy ARP (1987).
  4. «Computer Networks» by Andrew S. Tanenbaum, 5th edition (2011).
  5. «TCP/IP Illustrated, Volume 1: The Protocols» by W. Richard Stevens, 2nd edition (2011).
  6. Cisco IOS Documentation: «Configuring IP Services» (Cisco Systems, 2020).
  7. Документация Open vSwitch (версия 2.15 и выше), раздел «Proxy ARP» (2023).
  8. «Linux Advanced Routing & Traffic Control» — раздел «Proxy ARP» (Project LARTC, 2022).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →