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

8.2 Настройка Proxy ARP

8.2.1 Введение в функционал

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

Если коммутатор получает запрос ARP для узла, не находящегося в той же сети, что и отправитель, он оценивает, имеет ли лучший маршрут к этому узлу. Если маршрут есть, коммутатор отправляет ответный пакет ARP со своим Ethernet MAC-адресом. Затем узел-отправитель передает пакет коммутатору, который перенаправляет его к нужному узлу.

Proxy ARP рассматривает все сети как локальные и выполняет ARP-запросы для каждого IP-адреса. Proxy ARP можно разделить на две части: Proxy ARP и локальный Proxy ARP. Локальный Proxy ARP используется в топологиях, где устройство поддерживает изоляцию портов (port isolate), но требуется маршрутизация. Протокол ICMP Redirect отключается на интерфейсах с включенным локальным Proxy ARP.

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

Настройка Proxy ARP

Рисунок 8-2: Proxy ARP

Рисунок 8-2: Proxy ARP

В представленной топологии ПК1 относится к VLAN10, а ПК2 — к VLAN20. Если функция Proxy ARP не включена, то ПК1 и ПК2 не смогут взаимодействовать. Ниже приведены шаги для включения Proxy ARP для интерфейсов VLAN 10 и VLAN 20.

Шаг 1: Перейдите в режим конфигурации

Switch# configure terminal

Шаг 2: Перейдите в режим конфигурации VLAN и создайте VLAN

Switch(config)# vlan database
Switch(config-vlan)# vlan 10,20
Switch(config-vlan)# exit

Шаг 3: Перейдите в режим конфигурации интерфейсов, установите режим порта коммутатора и привяжите порт к VLAN

Switch(config)# interface eth-0-22
Switch(config-if)# switchport access vlan 10
Switch(config-if)# no shutdown
Switch(config-if)# exit

Switch(config)# interface eth-0-23
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit

Шаг 4: Создайте интерфейс VLAN, настройте IP-адрес и включите Proxy ARP

Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.10.1/24
Switch(config-if)# proxy-arp enable
Switch(config-if)# exit

Switch(config)# interface vlan 20
Switch(config-if)# ip address 192.168.20.1/24
Switch(config-if)# proxy-arp enable
Switch(config-if)# exit

Шаг 5: Выйдите из режима конфигурации

Switch(config)# end

Шаг 6: Проверка

Используйте следующую команду для отображения информации о настройке Proxy ARP на коммутаторе:

Switch# show ip interface vlan 10
Interface vlan10
Interface current state: UP
Internet address(es):
192.168.10.1/24 broadcast 192.168.10.255
Joined group address(es):
224.0.0.1
The maximum transmit unit is 1500 bytes
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are always sent
ARP timeout 01:00:00, ARP retry interval 1s
ARP Proxy is enabled, Local ARP Proxy is disabled
VRRP master of : VRRP is not configured on this interface

Switch# show ip interface vlan 20
Interface vlan20
Interface current state: UP
Internet address(es):
192.168.20.1/24 broadcast 192.168.20.255
Joined group address(es):
224.0.0.1
The maximum transmit unit is 1500 bytes
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are always sent
ARP timeout 01:00:00, ARP retry interval 1s
ARP Proxy is enabled, Local ARP Proxy is disabled
VRRP master of : VRRP is not configured on this interface

Используйте следующую команду для отображения информации о записях ARP на коммутаторе:

Switch# show ip arp
Protocol Address Age (min) Hardware Addr Interface
Internet 192.168.10.1 - 7cc3.11f1.aa00 vlan10
Internet 192.168.10.111 5 0cf9.11b6.6e2e vlan10
Internet 192.168.20.1 - 7cc3.11f1.aa00 vlan20
Internet 192.168.20.222 6 5a94.031f.2357 vlan20

Для отображения информации о ПК1 используйте следующие команды:

[Host:~]$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 0C:F9:11:B6:6E:2E
inet addr:192.168.10.111 Bcast:192.168.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1600 Metric:1
RX packets:11 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:588 (588.0 b) TX bytes:700 (700.0 b)
Interrupt:5

[Host:~]$ arp –a
? (192.168.20.222) at 7c:c3:11:f1:aa:00 [ether] on eth0
[Host: ~]$ route -v
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0

[Host:~]$ ping 192.168.20.222
PING 192.168.20.222 (192.168.20.222) 56(84) bytes of data.
64 bytes from 192.168.20.222: icmp_seq=0 ttl=63 time=189 ms
64 bytes from 192.168.20.222: icmp_seq=1 ttl=63 time=65.2 ms
--- 192.168.20.222 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 65.209/127.226/189.244/62.018 ms, pipe 2

Для отображения информации о ПК2 используйте следующие команды:

[Host:~]$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 5A:94:03:1F:23:57
inet addr:192.168.20.222 Bcast:192.168.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1600 Metric:1
RX packets:14 errors:0 dropped:0 overruns:0 frame:0
TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:784 (784.0 b) TX bytes:1174 (1.1 KiB)
Interrupt:5

[Host:~]$ arp -a
? (192.168.10.111) at 7c:c3:11:f1:aa:00 [ether] on eth0

[Host: ~]$ route -v
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0

[Host: ~]$ ping 192.168.10.111
PING 192.168.10.111 (192.168.10.111) 56(84) bytes of data.
64 bytes from 192.168.10.111: icmp_seq=0 ttl=63 time=53.8 ms
64 bytes from 192.168.10.111: icmp_seq=1 ttl=63 time=65.8 ms
--- 192.168.10.111 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1007ms
rtt min/avg/max/mdev = 53.832/59.842/65.852/6.010 ms, pipe 2

Настройка Local ARP Proxy

Рисунок 8-3: Local ARP Proxy

Рисунок 8-3: Local ARP Proxy

В данной топологии интерфейсы eth-0-2, eth-0-3 и eth-0-4 принадлежат VLAN 10. Интерфейсы eth-0-3 и eth-0-4 находятся в группе изоляции портов 1, а eth-0-2 — в группе изоляции портов 3. Это означает, что пакеты, полученные на eth-0-3, не могут быть отправлены на eth-0-4, однако пакеты с eth-0-2 могут быть отправлены как на eth-0-3, так и на eth-0-4.

  • ПК1 подключен к порту eth-0-3.
  • ПК2 подключен к порту eth-0-4.

Выполните следующую настройку для взаимодействия ПК1 и ПК2.

Конфигурация коммутаторов Switch A и Switch B идентична, если не указано иное.

Шаг 1: Перейдите в режим конфигурации

Switch# configure terminal

Шаг 2: Создайте VLAN

Switch(config)# vlan database
Switch(config-vlan)# vlan 10
Switch(config-vlan)# exit

Шаг 3: Настройте режим порта коммутатора и привяжите к VLAN

Настройка Switch A:

Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 10
Switch(config-if)# no shutdown
Switch(config-if)# exit

Настройка Switch B:

Switch(config)# interface range eth-0-2 - 4
Switch(config-if-range)# switchport access vlan 10
Switch(config-if-range)# no shutdown
Switch(config-if-range)# exit

Шаг 4: Настройте интерфейс VLAN и включите локальный ARP Proxy

Настройка Switch A:

Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.10.1/24
Switch(config-if)# local-proxy-arp enable
Switch(config-if)# exit

Шаг 5: Настройте изоляцию портов (опционально)

Настройка Switch B:

После настройки изоляции портов интерфейсы eth-0-3 и eth-0-4 на Switch B будут изолированы на уровне 2 (Layer 2):

Switch(config)# port-isolate mode l2
Switch(config)# interface range eth-0-3 - 4
Switch(config-if-range)# port-isolate group 1
Switch(config-if-range)# exit

Switch(config)# interface eth-0-2
Switch(config-if)# port-isolate group 3
Switch(config-if)# exit

Шаг 6: Проверка

Проверьте записи ARP на Switch A:

Switch# show ip arp
Protocol Address Age (min) Hardware Addr Interface
Internet 192.168.10.1 - eeb4.2a8d.6c00 vlan10
Internet 192.168.10.111 0 34b0.b279.5f67 vlan10
Internet 192.168.10.222 0 2a65.9618.57fa vlan10

Проверьте настройки интерфейса VLAN на Switch A:

Switch# show ip interface vlan 10
Interface vlan10
Interface current state: UP
Internet address(es):
192.168.10.1/24 broadcast 192.168.10.255
Joined group address(es):
224.0.0.1
The maximum transmit unit is 1500 bytes
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are never sent
ICMP unreachables are always sent
ICMP mask replies are always sent
ARP timeout 01:00:00, ARP retry interval 1s
ARP Proxy is disabled, Local ARP Proxy is enabled
VRRP master of : VRRP is not configured on this interface

Для отображения информации о ПК1 используйте следующие команды:

[Host: ~]$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 34:B0:B2:79:5F:67
inet addr:192.168.10.111 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1600 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1344 (1.3 KiB) TX bytes:2240 (2.1 KiB)
Interrupt:5

[Host: ~]$ arp -a
? (192.168.10.222) at ee:b4:2a:8d:6c:00 [ether] on eth0

[Host: ~]$ ping 192.168.10.222
PING 192.168.10.222 (192.168.10.222) 56(84) bytes of data.
64 bytes from 192.168.10.222: icmp_seq=0 ttl=63 time=131 ms
64 bytes from 192.168.10.222: icmp_seq=1 ttl=63 time=159 ms
--- 192.168.10.222 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 131.078/145.266/159.454/14.188 ms, pipe 2

Для отображения информации о ПК2 используйте следующие команды:

[Host:~]$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 2A:65:96:18:57:FA
inet addr:192.168.10.222 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1600 Metric:1
RX packets:19 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1148 (1.1 KiB) TX bytes:1524 (1.4 KiB)
Interrupt:5

[Host:~]$ arp -a
? (192.168.10.111) at ee:b4:2a:8d:6c:00 [ether] on eth0

[Host: ~]$ ping 192.168.10.111
PING 192.168.10.111 (192.168.10.111) 56(84) bytes of data.
64 bytes from 192.168.10.111: icmp_seq=0 ttl=63 time=198 ms
64 bytes from 192.168.10.111: icmp_seq=1 ttl=63 time=140 ms
64 bytes from 192.168.10.111: icmp_seq=2 ttl=63 time=146 ms
--- 192.168.10.111 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2008ms
rtt min/avg/max/mdev = 140.196/161.959/198.912/26.267 ms, pipe 2