ARP - Address Resolution Protocol

Address Resolution Protocol (ARP) - это протокол сетевого уровня, используемый для преобразования IP-адресов (IPv4) в MAC-адреса (аппаратные адреса) в локальных сетях Ethernet.

Обзор

ARP является критически важным протоколом для работы IPv4 сетей:

  • Преобразование IP-адресов в MAC-адреса
  • Кэширование соответствий для уменьшения сетевого трафика
  • Динамическое обновление ARP таблицы
  • Поддержка статических записей для критической инфраструктуры
  • Proxy ARP для межсетевого взаимодействия

Основные задачи ARP:

  • Разрешение адресов в локальной сети
  • Поддержание ARP кэша
  • Обработка ARP запросов и ответов
  • Обеспечение связности на канальном уровне

Для IPv6 используется протокол Neighbor Discovery Protocol (NDP), который является частью ICMPv6.

Как работает ARP

  1. ARP Request: Хост отправляет широковещательный запрос “Кто имеет IP X?”
  2. ARP Reply: Узел с IP X отвечает своим MAC-адресом
  3. Кэширование: Оба узла сохраняют соответствие IP-MAC в ARP таблице
  4. Timeout: Записи стареют и удаляются через определенное время (по умолчанию ~60 секунд)

Типы ARP записей

Dynamic ARP:

  • Создаются автоматически при обмене ARP запросами/ответами
  • Имеют ограниченное время жизни (TTL)
  • Обновляются при использовании
  • Удаляются при истечении времени

Static ARP:

  • Создаются вручную администратором
  • Не истекают автоматически
  • Используются для критичных узлов
  • Защита от ARP spoofing
  • Обозначаются флагом “CM” (Complete, Manual)

Статические ARP записи

Статические ARP записи используются для постоянного связывания IP-адреса с MAC-адресом без автоматического истечения.

Базовая конфигурация

Создание статической ARP записи:

set protocols static arp interface eth0 address 192.0.2.1 mac 01:23:45:67:89:01
commit

Синтаксис:

set protocols static arp interface <interface> address <IP> mac <MAC>

Параметры:

  • interface - сетевой интерфейс (eth0, eth1, bond0 и т.д.)
  • address - IPv4 адрес узла
  • mac - MAC адрес в формате XX:XX:XX:XX:XX:XX

Множественные статические записи

set protocols static arp interface eth0 address 192.168.1.10 mac 00:11:22:33:44:55
set protocols static arp interface eth0 address 192.168.1.20 mac 00:11:22:33:44:66
set protocols static arp interface eth0 address 192.168.1.30 mac 00:11:22:33:44:77
commit

Статические ARP для разных интерфейсов

set protocols static arp interface eth0 address 192.168.1.1 mac aa:bb:cc:dd:ee:01
set protocols static arp interface eth1 address 10.0.0.1 mac aa:bb:cc:dd:ee:02
set protocols static arp interface eth2 address 172.16.0.1 mac aa:bb:cc:dd:ee:03
commit

Удаление статической записи

delete protocols static arp interface eth0 address 192.168.1.10
commit

Просмотр ARP таблицы

Показать все ARP записи

show arp

Пример вывода:

Address                  HWtype  HWaddress           Flags Mask     Iface
10.1.1.1                 ether   00:53:00:de:23:2e   C              eth1
10.1.1.100               ether   00:53:00:de:23:aa   CM             eth1
192.168.1.1              ether   52:54:00:12:34:56   C              eth0
192.168.1.10                     (incomplete)                       eth0

Обозначения флагов:

  • C (Complete) - запись полная и валидная
  • M (Manual/Permanent) - статическая запись
  • P (Published) - proxy ARP запись
  • (incomplete) - разрешение адреса не завершено

Показать статические ARP записи

show protocols static arp

Выводит только статически настроенные ARP записи:

Address                  HWtype  HWaddress           Flags Mask     Iface
10.1.1.100               ether   00:53:00:de:23:aa   CM             eth1
192.168.1.10             ether   00:11:22:33:44:55   CM             eth0

Показать ARP для конкретного интерфейса

show protocols static arp interface eth1

Вывод только для указанного интерфейса:

Address                  HWtype  HWaddress           Flags Mask     Iface
10.1.1.100               ether   00:53:00:de:23:aa   CM             eth1

Операционные команды

Показать ARP статистику:

show interfaces ethernet eth0 statistics

Очистить динамический ARP кэш (требует operational mode):

reset arp cache

Очистить ARP для конкретного адреса:

reset arp cache address 192.168.1.10

Proxy ARP

Proxy ARP позволяет роутеру отвечать на ARP запросы от имени других узлов, которые находятся в другой подсети или недоступны напрямую.

Включение Proxy ARP

Proxy ARP включается на уровне интерфейса:

set interfaces ethernet eth0 ip enable-proxy-arp
commit

Использование Proxy ARP

Сценарий 1: Подсети в одном broadcast домене

Топология:

[Host A: 192.168.1.10/24] --- [VyOS eth0] --- [Host B: 192.168.2.20/24]
                               Proxy ARP

Конфигурация:

set interfaces ethernet eth0 address 192.168.1.1/24
set interfaces ethernet eth0 address 192.168.2.1/24
set interfaces ethernet eth0 ip enable-proxy-arp
commit

VyOS будет отвечать на ARP запросы для обеих подсетей, позволяя хостам общаться.

Сценарий 2: Transparent routing

set interfaces ethernet eth0 ip enable-proxy-arp
set interfaces ethernet eth1 ip enable-proxy-arp
commit

Отключение Proxy ARP

delete interfaces ethernet eth0 ip enable-proxy-arp
commit

Проверка Proxy ARP

Проверить настройку:

show configuration commands | grep proxy-arp

Проверить состояние:

show interfaces ethernet eth0

ARP Filtering и безопасность

ARP Filtering

ARP filtering помогает предотвратить ARP spoofing атаки путем проверки ARP пакетов.

Включение ARP filtering на интерфейсе (через sysctl):

set interfaces ethernet eth0 ip arp-filter
commit

Настройка ARP cache timeout

Изменение времени жизни ARP записей (в секундах):

set system sysctl parameter net.ipv4.neigh.default.gc_stale_time value 3600
commit

Параметры ARP кэша:

  • gc_stale_time - время до пометки записи как устаревшей (3600 сек = 1 час)
  • gc_thresh1 - минимальное количество записей
  • gc_thresh2 - порог для сборки мусора
  • gc_thresh3 - максимальное количество записей

Ограничение размера ARP таблицы

set system sysctl parameter net.ipv4.neigh.default.gc_thresh1 value 128
set system sysctl parameter net.ipv4.neigh.default.gc_thresh2 value 512
set system sysctl parameter net.ipv4.neigh.default.gc_thresh3 value 1024
commit

Защита от ARP spoofing

Использование статических ARP записей для критичных узлов:

# Gateway
set protocols static arp interface eth0 address 192.168.1.1 mac 00:1a:2b:3c:4d:5e

# DNS серверы
set protocols static arp interface eth0 address 192.168.1.53 mac 00:1a:2b:3c:4d:5f

# Критичные сервера
set protocols static arp interface eth0 address 192.168.1.100 mac 00:1a:2b:3c:4d:60

commit

ARP announce settings

Контроль поведения ARP announcements:

set system sysctl parameter net.ipv4.conf.all.arp_announce value 2
commit

Значения:

  • 0 - использовать любой локальный адрес
  • 1 - избегать адресов не из целевой подсети
  • 2 - всегда использовать лучший локальный адрес для этой цели

ARP ignore settings

Контроль ответов на ARP запросы:

set system sysctl parameter net.ipv4.conf.all.arp_ignore value 1
commit

Значения:

  • 0 - отвечать на любой запрос для любого локального адреса
  • 1 - отвечать только если IP адрес запроса настроен на этом интерфейсе
  • 2-8 - различные режимы фильтрации

Gratuitous ARP

Gratuitous ARP - это ARP запрос/ответ, отправленный узлом для объявления или обновления своего IP-MAC соответствия без запроса от других узлов.

Использование Gratuitous ARP

Gratuitous ARP используется для:

  • Обнаружения дублирования IP адресов
  • Обновления ARP кэша на других узлах
  • Failover в VRRP/HSRP
  • После изменения MAC адреса
  • Быстрого обновления таблиц коммутаторов

Отправка Gratuitous ARP

VyOS автоматически отправляет gratuitous ARP при:

  • Поднятии интерфейса
  • Изменении IP адреса
  • VRRP failover

Ручная отправка (через operational mode):

reset arp interface eth0

Настройка accept_gratuitous_arp

Принимать gratuitous ARP пакеты:

set system sysctl parameter net.ipv4.conf.all.arp_accept value 1
commit

Значения:

  • 0 - не принимать (по умолчанию)
  • 1 - создавать новые записи из gratuitous ARP

Примеры конфигурации

Пример 1: Yandex Cloud - Статические ARP для критической инфраструктуры

Сценарий: В Yandex Cloud развернута критическая инфраструктура с VyOS роутером, database сервером и application сервером. Необходимо зафиксировать ARP записи для предотвращения ARP spoofing.

Топология:

[VyOS Router]
      |
      | eth0: 192.168.10.0/24
      |
      +--- Database Server: 192.168.10.10
      +--- App Server: 192.168.10.20
      +--- Backup Server: 192.168.10.30

Конфигурация:

# Network interface
set interfaces ethernet eth0 address 192.168.10.1/24
set interfaces ethernet eth0 description 'Internal Infrastructure Network'

# Статические ARP для критических серверов
set protocols static arp interface eth0 address 192.168.10.10 mac 52:54:00:aa:bb:01
set protocols static arp interface eth0 address 192.168.10.20 mac 52:54:00:aa:bb:02
set protocols static arp interface eth0 address 192.168.10.30 mac 52:54:00:aa:bb:03

# ARP security settings
set system sysctl parameter net.ipv4.conf.eth0.arp_announce value 2
set system sysctl parameter net.ipv4.conf.eth0.arp_ignore value 1

# ARP cache limits
set system sysctl parameter net.ipv4.neigh.eth0.gc_stale_time value 7200

commit
save

Проверка:

show protocols static arp
show arp

Ожидаемый результат:

Address                  HWtype  HWaddress           Flags Mask     Iface
192.168.10.10            ether   52:54:00:aa:bb:01   CM             eth0
192.168.10.20            ether   52:54:00:aa:bb:02   CM             eth0
192.168.10.30            ether   52:54:00:aa:bb:03   CM             eth0

Флаг “CM” подтверждает статические (Manual) записи.

Пример 2: VK Cloud - ARP безопасность в multi-tenant окружении

Сценарий: VK Cloud хостинг с несколькими клиентами на изолированных VLAN. VyOS выступает как edge router с Proxy ARP для обеспечения связности и защиты от ARP атак.

Топология:

                    [VyOS Edge Router]
                            |
         +------------------+------------------+
         |                  |                  |
    eth0.100           eth0.200           eth0.300
    VLAN 100           VLAN 200           VLAN 300
   Customer A         Customer B         Customer C
   10.100.0.0/24      10.200.0.0/24      10.300.0.0/24

Конфигурация:

# VLAN interfaces
set interfaces ethernet eth0 vif 100 address 10.100.0.1/24
set interfaces ethernet eth0 vif 100 description 'Customer A Network'
set interfaces ethernet eth0 vif 200 address 10.200.0.1/24
set interfaces ethernet eth0 vif 200 description 'Customer B Network'
set interfaces ethernet eth0 vif 300 address 10.300.0.1/24
set interfaces ethernet eth0 vif 300 description 'Customer C Network'

# Proxy ARP для каждого VLAN
set interfaces ethernet eth0 vif 100 ip enable-proxy-arp
set interfaces ethernet eth0 vif 200 ip enable-proxy-arp
set interfaces ethernet eth0 vif 300 ip enable-proxy-arp

# Статические ARP для default gateways (защита от spoofing)
set protocols static arp interface eth0.100 address 10.100.0.254 mac 00:0c:29:aa:00:01
set protocols static arp interface eth0.200 address 10.200.0.254 mac 00:0c:29:aa:00:02
set protocols static arp interface eth0.300 address 10.300.0.254 mac 00:0c:29:aa:00:03

# ARP security на всех интерфейсах
set system sysctl parameter net.ipv4.conf.all.arp_announce value 2
set system sysctl parameter net.ipv4.conf.all.arp_ignore value 1
set system sysctl parameter net.ipv4.conf.all.arp_accept value 0

# Ограничение ARP таблицы для каждого VLAN
set system sysctl parameter net.ipv4.neigh.eth0/100.gc_thresh1 value 64
set system sysctl parameter net.ipv4.neigh.eth0/100.gc_thresh2 value 256
set system sysctl parameter net.ipv4.neigh.eth0/100.gc_thresh3 value 512

set system sysctl parameter net.ipv4.neigh.eth0/200.gc_thresh1 value 64
set system sysctl parameter net.ipv4.neigh.eth0/200.gc_thresh2 value 256
set system sysctl parameter net.ipv4.neigh.eth0/200.gc_thresh3 value 512

set system sysctl parameter net.ipv4.neigh.eth0/300.gc_thresh1 value 64
set system sysctl parameter net.ipv4.neigh.eth0/300.gc_thresh2 value 256
set system sysctl parameter net.ipv4.neigh.eth0/300.gc_thresh3 value 512

# Firewall для изоляции между VLAN
set firewall ipv4 name CUSTOMER-ISOLATION default-action drop
set firewall ipv4 name CUSTOMER-ISOLATION rule 10 action accept
set firewall ipv4 name CUSTOMER-ISOLATION rule 10 state established
set firewall ipv4 name CUSTOMER-ISOLATION rule 10 state related

# Применение firewall
set interfaces ethernet eth0 vif 100 firewall in name CUSTOMER-ISOLATION
set interfaces ethernet eth0 vif 200 firewall in name CUSTOMER-ISOLATION
set interfaces ethernet eth0 vif 300 firewall in name CUSTOMER-ISOLATION

commit
save

Проверка:

show protocols static arp
show arp interface eth0.100
show arp interface eth0.200
show arp interface eth0.300
show interfaces ethernet eth0 vif 100

Пример 3: Защита от ARP spoofing на корпоративной сети

Сценарий: Корпоративная сеть с критичными серверами и рабочими станциями. Необходимо защитить ключевую инфраструктуру от ARP spoofing атак.

Конфигурация:

# Критичные сервера - статические ARP
set protocols static arp interface eth1 address 192.168.100.10 mac 00:50:56:aa:bb:10
set protocols static arp interface eth1 address 192.168.100.20 mac 00:50:56:aa:bb:20
set protocols static arp interface eth1 address 192.168.100.30 mac 00:50:56:aa:bb:30

# DNS сервера
set protocols static arp interface eth1 address 192.168.100.53 mac 00:50:56:aa:bb:53
set protocols static arp interface eth1 address 192.168.100.54 mac 00:50:56:aa:bb:54

# Domain controllers
set protocols static arp interface eth1 address 192.168.100.100 mac 00:50:56:aa:bb:c1
set protocols static arp interface eth1 address 192.168.100.101 mac 00:50:56:aa:bb:c2

# ARP security
set system sysctl parameter net.ipv4.conf.eth1.arp_announce value 2
set system sysctl parameter net.ipv4.conf.eth1.arp_ignore value 1
set system sysctl parameter net.ipv4.conf.eth1.arp_accept value 0

# Увеличенное время жизни для статических записей
set system sysctl parameter net.ipv4.neigh.eth1.gc_stale_time value 14400

commit
save

Пример 4: Proxy ARP для legacy оборудования

Сценарий: Legacy устройства с фиксированными IP адресами в разных подсетях должны общаться без изменения конфигурации.

Топология:

[Legacy Device A: 10.1.1.100/24] --- [VyOS] --- [Legacy Device B: 10.2.2.200/24]
                                   eth0   eth1
                                Proxy ARP enabled

Конфигурация:

# Interface configuration
set interfaces ethernet eth0 address 10.1.1.1/24
set interfaces ethernet eth0 description 'Legacy Network A'
set interfaces ethernet eth1 address 10.2.2.1/24
set interfaces ethernet eth1 description 'Legacy Network B'

# Enable Proxy ARP
set interfaces ethernet eth0 ip enable-proxy-arp
set interfaces ethernet eth1 ip enable-proxy-arp

# Static routes для обеспечения связности
set protocols static route 10.1.1.0/24 interface eth0
set protocols static route 10.2.2.0/24 interface eth1

# Опционально: статические ARP для legacy устройств
set protocols static arp interface eth0 address 10.1.1.100 mac aa:bb:cc:dd:ee:01
set protocols static arp interface eth1 address 10.2.2.200 mac aa:bb:cc:dd:ee:02

commit
save

Пример 5: High-availability с VRRP и Gratuitous ARP

Сценарий: Два VyOS роутера в VRRP кластере. При failover необходимо быстро обновить ARP таблицы клиентов.

Конфигурация (Master):

# VRRP configuration
set high-availability vrrp group LAN vrid 10
set high-availability vrrp group LAN interface eth0
set high-availability vrrp group LAN virtual-address 192.168.1.1/24
set high-availability vrrp group LAN priority 200

# Accept gratuitous ARP для быстрого failover
set system sysctl parameter net.ipv4.conf.eth0.arp_accept value 1

# Статические ARP для критичных серверов
set protocols static arp interface eth0 address 192.168.1.10 mac 00:50:56:11:22:33
set protocols static arp interface eth0 address 192.168.1.20 mac 00:50:56:11:22:44

commit
save

Конфигурация (Backup):

# VRRP configuration
set high-availability vrrp group LAN vrid 10
set high-availability vrrp group LAN interface eth0
set high-availability vrrp group LAN virtual-address 192.168.1.1/24
set high-availability vrrp group LAN priority 100

# Accept gratuitous ARP для быстрого failover
set system sysctl parameter net.ipv4.conf.eth0.arp_accept value 1

# Те же статические ARP записи
set protocols static arp interface eth0 address 192.168.1.10 mac 00:50:56:11:22:33
set protocols static arp interface eth0 address 192.168.1.20 mac 00:50:56:11:22:44

commit
save

При failover VRRP автоматически отправит gratuitous ARP для виртуального IP 192.168.1.1, обновляя ARP таблицы всех клиентов.

Операционные команды

Просмотр ARP информации

Все ARP записи:

show arp

Статические ARP конфигурация:

show protocols static arp

ARP для конкретного интерфейса:

show protocols static arp interface eth0

ARP записи в табличном формате:

show arp | column -t

Поиск конкретного IP:

show arp | grep 192.168.1.10

Конфигурационные команды

Показать ARP конфигурацию:

show configuration protocols static arp

Показать всю конфигурацию с ARP:

show configuration commands | grep arp

Сброс ARP кэша

Очистить весь динамический ARP кэш:

reset arp cache

Очистить для конкретного адреса:

reset arp cache address 192.168.1.10

Очистить для интерфейса:

reset arp cache interface eth0

Мониторинг ARP

Просмотр ARP статистики интерфейса:

show interfaces ethernet eth0 statistics

Непрерывный мониторинг ARP таблицы:

watch -n 2 show arp

Debugging ARP

Включить debug ARP (временно):

monitor protocol arp

Просмотр kernel ARP таблицы:

run show arp

Проверка ARP через tcpdump:

monitor traffic interface eth0 filter "arp"

Устранение неполадок

Проблема: ARP записи не создаются

Симптомы:

  • Пинг не проходит
  • ARP таблица показывает “(incomplete)”
  • Нет связности с узлом в локальной сети

Диагностика:

# Проверить ARP таблицу
show arp

# Проверить интерфейс
show interfaces ethernet eth0

# Проверить связность на L2
monitor traffic interface eth0 filter "arp"

Решения:

  1. Проверить физическое подключение
  2. Убедиться что интерфейс в состоянии “up”
  3. Проверить VLAN конфигурацию
  4. Проверить firewall правила
  5. Убедиться что целевой узел отвечает на ARP

Проблема: Статическая ARP запись не применяется

Симптомы:

  • После commit статическая запись не появляется в ARP таблице
  • Динамическая запись переопределяет статическую

Диагностика:

# Проверить конфигурацию
show configuration protocols static arp

# Проверить ARP таблицу
show arp
show protocols static arp

Решения:

  1. Проверить правильность IP и MAC адресов
  2. Убедиться что интерфейс существует и активен
  3. Очистить ARP кэш и пересоздать запись:
    reset arp cache
    commit
  4. Проверить синтаксис команды
  5. Перезагрузить интерфейс:
    set interfaces ethernet eth0 disable
    commit
    delete interfaces ethernet eth0 disable
    commit

Проблема: ARP spoofing атака

Симптомы:

  • Нестабильная связность
  • Трафик перехватывается
  • Изменяющиеся MAC адреса для одного IP
  • Security alerts от IDS

Диагностика:

# Мониторинг ARP изменений
watch -n 1 show arp

# Проверка дублирующихся IP
show arp | sort -k1 | uniq -d -f1

Решения:

  1. Использовать статические ARP для критичных узлов
  2. Включить ARP filtering:
    set system sysctl parameter net.ipv4.conf.all.arp_ignore value 1
    set system sysctl parameter net.ipv4.conf.all.arp_accept value 0
  3. Настроить port security на коммутаторах
  4. Использовать DHCP snooping
  5. Включить Dynamic ARP Inspection (DAI) на коммутаторах
  6. Мониторить ARP таблицу на аномалии

Проблема: Переполнение ARP таблицы

Симптомы:

  • ARP записи не создаются
  • Сообщения “Neighbor table overflow”
  • Degraded network performance

Диагностика:

# Проверить размер ARP таблицы
show arp | wc -l

# Проверить kernel параметры
show system sysctl | grep neigh

Решения:

  1. Увеличить размер ARP таблицы:
    set system sysctl parameter net.ipv4.neigh.default.gc_thresh1 value 256
    set system sysctl parameter net.ipv4.neigh.default.gc_thresh2 value 1024
    set system sysctl parameter net.ipv4.neigh.default.gc_thresh3 value 2048
    commit
  2. Уменьшить время жизни записей:
    set system sysctl parameter net.ipv4.neigh.default.gc_stale_time value 60
    commit
  3. Разбить большие broadcast домены на меньшие VLAN
  4. Расследовать возможную ARP flood атаку

Проблема: Proxy ARP не работает

Симптомы:

  • Узлы в разных подсетях не видят друг друга
  • VyOS не отвечает на ARP запросы для других подсетей

Диагностика:

# Проверить настройку Proxy ARP
show configuration interfaces ethernet eth0 | grep proxy

# Мониторить ARP трафик
monitor traffic interface eth0 filter "arp"

# Проверить routing
show ip route

Решения:

  1. Убедиться что Proxy ARP включен на правильном интерфейсе:
    set interfaces ethernet eth0 ip enable-proxy-arp
    commit
  2. Проверить что маршруты настроены корректно
  3. Проверить firewall правила
  4. Убедиться что IP forwarding включен (по умолчанию включен на VyOS)
  5. Проверить что подсети не overlap

Проблема: Медленное ARP разрешение

Симптомы:

  • Задержки при первом соединении
  • Таймауты при установке соединения
  • Медленный ping первого пакета

Диагностика:

# Проверить ARP timeout
show system sysctl | grep gc_stale

# Тест производительности
ping 192.168.1.10 -c 10

Решения:

  1. Использовать статические ARP для часто используемых узлов
  2. Увеличить время жизни ARP записей:
    set system sysctl parameter net.ipv4.neigh.default.gc_stale_time value 3600
    commit
  3. Настроить gratuitous ARP на критичных серверах
  4. Проверить производительность сети (latency, packet loss)

Лучшие практики

Безопасность

  1. Статические ARP для критичной инфраструктуры

    • Default gateway
    • DNS сервера
    • Domain controllers
    • Database сервера
    • Management интерфейсы
  2. ARP filtering

    set system sysctl parameter net.ipv4.conf.all.arp_ignore value 1
    set system sysctl parameter net.ipv4.conf.all.arp_accept value 0
    set system sysctl parameter net.ipv4.conf.all.arp_announce value 2
  3. Ограничение размера ARP таблицы

    • Предотвращение DoS атак
    • Защита от ARP table exhaustion
  4. Мониторинг ARP аномалий

    • Автоматические алерты на дублирующиеся IP/MAC
    • Логирование изменений в ARP таблице

Производительность

  1. Оптимизация ARP timeout

    • Баланс между производительностью и нагрузкой
    • Для стабильных сетей: увеличить timeout
    • Для динамических сетей: уменьшить timeout
  2. Правильный размер ARP таблицы

    • gc_thresh1: минимум для предотвращения GC
    • gc_thresh2: старт soft GC
    • gc_thresh3: максимум, hard limit
  3. Использование Proxy ARP разумно

    • Только когда необходимо
    • Минимизировать broadcast домены

Документация

  1. Документировать статические ARP

    • Вести список всех статических записей
    • Указывать причину создания
    • Обновлять при изменениях
  2. Naming convention

    • Использовать description для интерфейсов
    • Комментарии в конфигурации

Мониторинг и обслуживание

  1. Регулярная проверка ARP таблицы

    show arp
    show protocols static arp
  2. Автоматизация мониторинга

    • Скрипты для проверки консистентности
    • Алерты на изменения критичных записей
  3. Backup конфигурации

    • Регулярные бэкапы конфигурации
    • Version control для изменений
  4. Тестирование failover

    • Проверка VRRP failover с gratuitous ARP
    • Тестирование backup маршрутов

Масштабирование

  1. Разделение broadcast доменов

    • Использование VLAN
    • Уменьшение размера L2 доменов
  2. Иерархическая архитектура

    • Core/Distribution/Access модель
    • Минимизация ARP трафика между уровнями
  3. IPv6 миграция

    • NDP более эффективен чем ARP
    • Встроенная защита от spoofing (SEND)

IPv6 и Neighbor Discovery

Для IPv6 сетей ARP заменен на Neighbor Discovery Protocol (NDP), который является частью ICMPv6.

Основные отличия

ARP (IPv4):

  • Отдельный протокол
  • Broadcast
  • Уязвим к spoofing

NDP (IPv6):

  • Часть ICMPv6
  • Multicast (более эффективно)
  • SEND (Secure Neighbor Discovery) для защиты

Статические IPv6 neighbors

Аналог статических ARP для IPv6:

set protocols static neighbor interface eth0 address 2001:db8::10 mac 00:11:22:33:44:55
commit

Просмотр IPv6 neighbors

show ipv6 neighbors

Интеграция с другими протоколами

ARP и VRRP/HSRP

При failover VRRP/HSRP автоматически отправляет gratuitous ARP для обновления таблиц клиентов.

Конфигурация для быстрого failover:

set system sysctl parameter net.ipv4.conf.all.arp_accept value 1

ARP и DHCP

DHCP сервер может использовать ARP для проверки уникальности IP адресов перед выдачей lease.

ARP и VPN

Для overlay сетей (VXLAN, GRE) ARP проксируется через туннели.

Следующие шаги

  • Статическая маршрутизация - настройка статических маршрутов
  • OSPF - динамическая маршрутизация для enterprise
  • BGP - маршрутизация для подключения к ISP
  • Firewall - настройка firewall правил
  • VLAN - виртуальные локальные сети