Про виртуальные сети (часть14). Cisco Policy-based routing (PBR) в виртуальной сети

Если заглянуть на официальный сайт Cisco, то можно найти отельный документ, в котором описывается технология маршрутизации на основе политик. И хотя конкретного определения там нет, можно выделить две основные возможности PBR, а именно:

- маршрутизация пакетов на основе источника (реализуется на базе списков доступа)

- маршрутизация пакетов на основе их размера.

Оба варианта позволяют выделить трафик конкретного приложения и направить по конкретному маршруту, а это в свою очередь позволяет реализовать такие вещи, как распределение нагрузки, качество обслуживания, а также (у Cisco вообще без этого никуда) экономия ресурсов (Cost Saving).

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

Для демонстрации воспользуемся следующей схемой: компьютер пользователя подключен к маршрутизатору Client_Side. Конечно, очень жирно подключать один комп на интерфейс маршрутизатора, но не будем усложнять схему. Дальше сетевой трафик будет проходить через Router_A и Router_B и оказываться на маршрутизаторе Server_Side, к которому подключен сервер предоставляющий сервисы. Для простоты это будет сервер на FreeBSD, к которому можно будет подключать по SSH и по FTP. Наша задача организовать сеть таким образом, чтобы подключение по FTP проходило через одну виртуальную сеть, а подключение по SSH через другую.

Для начала, собственно, организуем эти самые виртуальные сети. Выглядеть это будет следующим образом.

 

Phys_net

Log_net

Маршрутизатор Client_Side

Настраиваем интерфейс для подключения клиента
Client_Side #conf t
Enter configuration commands, one per line. End with CNTL/Z.
Client_Side(config)#int fa 0/0
Client_Side(config-if)#ip addr 192.168.55.254 255.255.255.0
Client_Side(config-if)#des Client PC

Создаем виртуальные маршрутизаторы на Client_Side

Client_Side(config)#ip vrf FTP_Cl_Sd
Client_Side(config-vrf)#ip vrf SSH_Cl_Sd

Конфигурируем интерфейсы на виртуальных маршрутизаторах

Client_Side(config)#int fa1/0.10
Client_Side(config-subif)#ip vrf forw FTP_Cl_Sd
Client_Side(config-subif)#enc dot 10
Client_Side(config-subif)#ip addr 10.1.0.2 255.255.255.0
Client_Side(config-subif)#int fa1/0.20
Client_Side(config-subif)#ip vrf forw FTP_Cl_Sd
Client_Side(config-subif)#enc dot 20
Client_Side(config-subif)#ip addr 10.2.0.2 255.255.255.0
Client_Side(config-subif)#int fa1/0.11
Client_Side(config-subif)#ip vrf forw SSH_Cl_Sd
Client_Side(config-subif)#enc dot 11
Client_Side(config-subif)#ip addr 10.1.1.2 255.255.255.0
Client_Side(config-subif)#int fa1/0.21
Client_Side(config-subif)#ip vrf forw SSH_Cl_Sd
Client_Side(config-subif)#enc dot 21
Client_Side(config-subif)#ip addr 10.2.1.2 255.255.255.0

Аналогичным образом конфигурируем Router_A

Router_A(config)#ip vrf FTP_R_A
Router_A(config-vrf)#ip vrf SSH_R_A
Router_A(config)#int fa1/0.10
Router_A(config-subif)#ip vrf forw FTP_R_A
Router_A(config-subif)#enc dot 10
Router_A(config-subif)#ip addr 10.1.0.1 255.255.255.0
Router_A(config-subif)#int fa1/0.30
Router_A(config-subif)#ip vrf forw FTP_R_A
Router_A(config-subif)#enc dot 30
Router_A(config-subif)#ip addr 10.3.0.1 255.255.255.0
Router_A(config-subif)#int fa1/0.11
Router_A(config-subif)#ip vrf forw SSH_R_A
Router_A(config-subif)#enc dot 11
Router_A(config-subif)#ip addr 10.1.1.1 255.255.255.0
Router_A(config-subif)#int fa1/0.31
Router_A(config-subif)#ip vrf forw SSH_R_A
Router_A(config-subif)#enc dot 31
Router_A(config-subif)#ip addr 10.3.1.1 255.255.255.0

Router_B

Router_A(config)#ip vrf FTP_R_B
Router_A(config-vrf)#ip vrf SSH_R_B
Router_A(config)#int fa1/0.20
Router_A(config-subif)#ip vrf forw FTP_R_B
Router_A(config-subif)#enc dot 20
Router_A(config-subif)#ip addr 10.2.0.1 255.255.255.0
Router_A(config-subif)#int fa1/0.40
Router_A(config-subif)#ip vrf forw FTP_R_B
Router_A(config-subif)#enc dot 40
Router_A(config-subif)#ip addr 10.4.0.1 255.255.255.0
Router_A(config-subif)#int fa1/0.21
Router_A(config-subif)#ip vrf forw SSH_R_B
Router_A(config-subif)#enc dot 21
Router_A(config-subif)#ip addr 10.2.1.1 255.255.255.0
Router_A(config-subif)#int fa1/0.41
Router_A(config-subif)#ip vrf forw SSH_R_B
Router_A(config-subif)#enc dot 41
Router_A(config-subif)#ip addr 10.4.1.1 255.255.255.0

И Server_Side

Client_Side #conf t
Enter configuration commands, one per line. End with CNTL/Z.
Client_Side(config)#int fa 0/0
Client_Side(config-if)#ip addr 192.168.18.254 255.255.255.0
Client_Side(config-if)#des Server
Client_Side(config)#ip vrf FTP_Srv_Sd
Client_Side(config-vrf)#ip vrf SSH_Srv_Sd
Client_Side(config)#int fa1/0.30
Client_Side(config-subif)#ip vrf forw FTP_Srv_Sd
Client_Side(config-subif)#enc dot 30
Client_Side(config-subif)#ip addr 10.3.0.2 255.255.255.0
Client_Side(config-subif)#int fa1/0.40
Client_Side(config-subif)#ip vrf forw FTP_Srv_Sd
Client_Side(config-subif)#enc dot 40
Client_Side(config-subif)#ip addr 10.4.0.2 255.255.255.0
Client_Side(config-subif)#int fa1/0.31
Client_Side(config-subif)#ip vrf forw SSH_Srv_Sd
Client_Side(config-subif)#enc dot 31
Client_Side(config-subif)#ip addr 10.3.1.2 255.255.255.0
Client_Side(config-subif)#int fa1/0.41
Client_Side(config-subif)#ip vrf forw SSH_Srv_Sd
Client_Side(config-subif)#enc dot 41
Client_Side(config-subif)#ip addr 10.4.1.2 255.255.255.0

Теперь, чтобы пакеты забегали по сети, нужно настроить маршрутизацию. Настроим EIGRP для каждого из виртуальных маршрутизаторов. Чтобы не запутаться я решил сделать отдельный процесс для каждого из виртуальных маршрутизаторов.

 Для Client_Side

Client_Side(config)#router eigrp 10
Client_Side(config-router)#address-family ipv4 vrf FTP_Cl_Sd
Client_Side(config-router-af)#autonomous-system 10
Client_Side(config-router-af)#net 10.1.0.0 0.0.0.255
Client_Side(config-router-af)#net 10.2.0.0 0.0.0.255
Client_Side(config-router-af)#router eigrp 11
Client_Side(config-router)#address-family ipv4 vrf SSH_Cl_Sd
Client_Side(config-router-af)#autonomous-system 11
Client_Side(config-router-af)#net 10.1.1.0 0.0.0.255
Client_Side(config-router-af)#net 10.2.1.0 0.0.0.255

Для Router_A

Router_A(config)#router eigrp 10
Router_A(config-router)#address-family ipv4 vrf FTP_R_A
Router_A(config-router-af)#autonomous-system 10
Router_A(config-router-af)#net 10.1.0.0 0.0.0.255
Router_A(config-router-af)#net 10.3.0.0 0.0.0.255
Router_A(config-router-af)#router eigrp 11
Router_A(config-router)#address-family ipv4 vrf SSH_R_A
Router_A(config-router-af)#autonomous-system 11
Router_A(config-router-af)#net 10.1.1.0 0.0.0.255
Router_A(config-router-af)#net 10.3.1.0 0.0.0.255

Для Router_B

Router_B(config)#router eigrp 10
Router_B(config-router)#address-family ipv4 vrf FTP_R_B
Router_B(config-router-af)#autonomous-system 10
Router_B(config-router-af)#net 10.2.0.0 0.0.0.255
Router_B(config-router-af)#net 10.4.0.0 0.0.0.255
Router_B(config-router-af)#router eigrp 11
Router_B(config-router)#address-family ipv4 vrf SSH_R_B
Router_B(config-router-af)#autonomous-system 11
Router_B(config-router-af)#net 10.2.1.0 0.0.0.255
Router_B(config-router-af)#net 10.4.1.0 0.0.0.255

И для Server_Side

Server_Side (config)#router eigrp 10
Server_Side (config-router)#address-family ipv4 vrf FTP_Srv_Sd
Server_Side (config-router-af)#autonomous-system 10
Server_Side (config-router-af)#net 10.3.0.0 0.0.0.255
Server_Side (config-router-af)#net 10.4.0.0 0.0.0.255
Server_Side (config-router-af)#router eigrp 11
Server_Side (config-router)#address-family ipv4 vrf SSH_Srv_Sd
Server_Side (config-router-af)#autonomous-system 11
Server_Side (config-router-af)#net 10.3.1.0 0.0.0.255
Server_Side (config-router-af)#net 10.4.1.0 0.0.0.255

Проверяем таблицы маршрутизации

Client_Side#sh ip route vrf FTP_Cl_Sd
Routing Table: FTP_Cl_Sd
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 4 subnets
C 10.2.0.0 is directly connected, FastEthernet1/0.20
D 10.3.0.0 [90/30720] via 10.1.0.1, 00:00:15, FastEthernet1/0.10
C 10.1.0.0 is directly connected, FastEthernet1/0.10
D 10.4.0.0 [90/2565120] via 10.2.0.1, 00:00:15, FastEthernet1/0.20

 

Client_Side#sh ip route vrf SSH_Cl_Sd
Routing Table: SSH_Cl_Sd
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 4 subnets
D 10.3.1.0 [90/2565120] via 10.1.1.1, 00:00:32, FastEthernet1/0.11
C 10.2.1.0 is directly connected, FastEthernet1/0.21
C 10.1.1.0 is directly connected, FastEthernet1/0.11
D 10.4.1.0 [90/30720] via 10.2.1.1, 00:00:29, FastEthernet1/0.21

 

Router_A#sh ip route vrf FTP_R_A
Routing Table: FTP_R_A
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 4 subnets
D 10.2.0.0 [90/2565120] via 10.1.0.2, 00:00:46, FastEthernet0/0.10
C 10.3.0.0 is directly connected, FastEthernet0/0.30
C 10.1.0.0 is directly connected, FastEthernet0/0.10
D 10.4.0.0 [90/2565120] via 10.3.0.2, 00:00:47, FastEthernet0/0.30

 

Router_A#sh ip route vrf SSH_R_A
Routing Table: SSH_R_A
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 4 subnets
C 10.3.1.0 is directly connected, FastEthernet0/0.31
D 10.2.1.0 [90/30720] via 10.1.1.2, 00:00:50, FastEthernet0/0.11
C 10.1.1.0 is directly connected, FastEthernet0/0.11
D 10.4.1.0 [90/30720] via 10.3.1.2, 00:00:51, FastEthernet0/0.31

 

Router_B#sh ip route vrf FTP_R_B

Routing Table: FTP_R_B
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 4 subnets
C 10.2.0.0 is directly connected, FastEthernet0/0.20
D 10.3.0.0 [90/30720] via 10.4.0.2, 00:01:16, FastEthernet0/0.40
D 10.1.0.0 [90/30720] via 10.2.0.2, 00:01:15, FastEthernet0/0.20
C 10.4.0.0 is directly connected, FastEthernet0/0.40

 

Router_B#sh ip route vrf SSH_R_B
Routing Table: SSH_R_B
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 4 subnets
D 10.3.1.0 [90/2565120] via 10.4.1.2, 00:01:20, FastEthernet0/0.41
C 10.2.1.0 is directly connected, FastEthernet0/0.21
D 10.1.1.0 [90/2565120] via 10.2.1.2, 00:01:20, FastEthernet0/0.21
C 10.4.1.0 is directly connected, FastEthernet0/0.41

 

Server_Side#sh ip route vrf FTP_Srv_Sd
Routing Table: FTP_Srv_Sd
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 4 subnets
D 10.2.0.0 [90/2565120] via 10.4.0.1, 00:02:14, FastEthernet1/0.40
C 10.3.0.0 is directly connected, FastEthernet1/0.30
D 10.1.0.0 [90/30720] via 10.3.0.1, 00:02:14, FastEthernet1/0.30
C 10.4.0.0 is directly connected, FastEthernet1/0.40

 

Server_Side#sh ip route vrf SSH_Srv_Sd
Routing Table: SSH_Srv_Sd
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 4 subnets
C 10.3.1.0 is directly connected, FastEthernet1/0.31
D 10.2.1.0 [90/30720] via 10.4.1.1, 00:02:19, FastEthernet1/0.41
D 10.1.1.0 [90/2565120] via 10.3.1.1, 00:02:19, FastEthernet1/0.31
C 10.4.1.0 is directly connected, FastEthernet1/0.41

Все сети в таблицах есть, то есть все отлично. Теперь можно приступать к самой PBR.

 Настройку PBR можно разделить на несколько этапов:

1. Определиться какие пакеты должны маршрутизироваться в соответствии с политиками и описать это с помощью ACL

2. Создать route-map для составленных ACL и применить их к интерфейсам, это разрешит передачу от физических интерфейсов на виртуальные маршрутизаторы

3. Настроить передачу пакетов из виртуальных маршрутизаторов к интерфейсам физических маршрутизаторов

4. Настроить EIGRP для распространения маршрутов к конечным подсетям клиентской и серверной сторон.

Итак, пункт первый. У нас есть два сервиса в подсети 192.168.18.0/24 FTP и SSH, которые нужно сделать доступными из подсети 192.168.55.0/24. Собственно из этого предложения и вытекают непосредственно ACL на клиентской и серверной строне:

Client_Side(config)#ip access-list extended FTP_Cl_Sd_List
Client_Side(config-ext-nacl)#permit tcp 192.168.55.0 0.0.0.255 192.168.18.0 0.0.0.255 eq 20
Client_Side(config-ext-nacl)#permit tcp 192.168.55.0 0.0.0.255 192.168.18.0 0.0.0.255 eq 21
Client_Side(config-ext-nacl)#ip access-list extended SSH_Cl_Sd_List
Client_Side(config-ext-nacl)#permit tcp 192.168.55.0 0.0.0.255 192.168.18.0 0.0.0.255 eq 22

И на серверной стороне наоборот.

Server_Side(config)#ip access-list extended FTP_Srv_Sd_List
Client_Side(config-ext-nacl)#permit tcp 192.168.18.0 0.0.0.255 eq 20 192.168.55.0 0.0.0.255
Client_Side(config-ext-nacl)#permit tcp 192.168.18.0 0.0.0.255 eq 21 192.168.55.0 0.0.0.255
Client_Side(config-ext-nacl)#ip access-list extended SSH_Srv_Sd_List
Client_Side(config-ext-nacl)#permit tcp 192.168.18.0 0.0.0.255 eq 22 192.168.55.0 0.0.0.255

 Пункт второй. Создаем route-map, которые будут отвечать за передачу пакетов от физических интерфейсов к виртуальным маршрутизаторам и применить их:

 на клиентской стороне

Client_Side(config)# route-map Cl_Sd_Map permit 10
Client_Side(config-route-map)#match ip address FTP_Cl_Sd_List
Client_Side(config-route-map)#set vrf FTP_Cl_Sd
Client_Side(config-route-map)#route-map Cl_Sd_Map permit 11
Client_Side(config-route-map)#match ip address SSH_Cl_Sd_List
Client_Side(config-route-map)#set vrf SSH_Cl_Sd
Client_Side(config-route-map)#int fa 0/0
Client_Side(config-if)#ip policy route-map Cl_Sd_Map

И на серверной стороне

Server_Side(config)# route-map Srv_Sd_Map permit 10
Server_Side(config-route-map)#match ip address FTP_ Srv_Sd_List
Server_Side(config-route-map)#set vrf FTP_Srv_Sd
Server_Side(config-route-map)#route-map Srv_Sd_Map permit 11
Server_Side(config-route-map)#match ip address SSH_Srv_Sd_List
Server_Side(config-route-map)#set vrf SSH_Srv_Sd
Server_Side(config-route-map)#int fa 0/0
Server_Side(config-if)#ip policy route-map Srv_Sd_Map

 

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

Для этого делаем следующие команды:

Client_Side(config)#int fa 0/0
Client_Side(config-if)#ip vrf receive FTP_Cl_Sd
Client_Side(config-if)#ip vrf receive SSH_Cl_Sd

Если теперь мы посмотрим в таблицу маршрутизации каждого из виртуальных маршрутизаторов то можем увидеть строку

Client#sh ip route vrf SSH_Cl_Sd
Routing Table: SSH_Cl_Sd
Gateway of last resort is not set
C 192.168.55.0/24 is directly connected, FastEthernet0/0
10.0.0.0/24 is subnetted, 4 subnets
D 10.3.1.0 [90/2565120] via 10.1.1.1, 04:18:51, FastEthernet1/0.11
C 10.2.1.0 is directly connected, FastEthernet1/0.21
C 10.1.1.0 is directly connected, FastEthernet1/0.11
D 10.4.1.0 [90/30720] via 10.2.1.1, 04:18:48, FastEthernet1/0.21

Хотя при выполнении команды show ip vrf SSH_Cl_Sd мы не увидим там интерфейса Fa0/0. Просто теперь маршрутизатор SSH_Cl_Sd знает, где находится подсеть 192.168.55.0/24 и может отправлять туда пакеты, хотя она и отмечена как connected.

Аналогичные команды вводим и на серверной строне:

Server_Side(config)#int fa 0/0
Server_Side(config-if)#ip vrf receive FTP_Srv_Sd
Server_Side(config-if)#ip vrf receive SSH_Srv_Sd

Проверяем таблицу маршрутизации:

Server#sh ip route vrf SSH_Srv_Sd
Routing Table: SSH_Srv_Sd
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 4 subnets
C 10.3.1.0 is directly connected, FastEthernet1/0.31
D 10.2.1.0 [90/30720] via 10.4.1.1, 04:27:48, FastEthernet1/0.41
D 10.1.1.0 [90/2565120] via 10.3.1.1, 04:27:48, FastEthernet1/0.31
C 10.4.1.0 is directly connected, FastEthernet1/0.41
C 192.168.18.0/24 is directly connected, FastEthernet0/0

Наша подсеть на месте.

 Пункт четвертый. Последний штрих. После того как виртуальные маршрутизаторы узнали о существовании подсети клиента и сервера на соответствующих физических маршрутизаторах, нужно чтобы и все остальные виртуальные маршрутизаторы о ней тоже знали. Здесь есть нюанс. Мы не можем прописать сеть клиента или сервера так же как и подсети между маршрутизаторами. То есть можем, конечно, написать команду network 192.168.55.0, однако виртуальный маршрутизатор ничего не знает о состоянии этого интерфейса, хотя он и помечен как connected, потому анонсировать его не будет. Поэтому здесь нам поможет редистрибьюция. Подключим редистрибьюцию маршрутов, помеченных как connected:

Client_Side(config)#router eigrp 10
Client_Side(config-router)#address-family ipv4 vrf FTP_Cl_Sd
Client_Side(config-router-af)#redistribute connected
Client_Side(config-router-af)#router eigrp 11
Client_Side(config-router)#address-family ipv4 vrf SSH_Cl_Sd
Client_Side(config-router-af)#redistribute connected

 

Server_Side(config)#router eigrp 10
Server_Side(config-router)#address-family ipv4 vrf FTP_Srv_Sd
Server_Side(config-router-af)#redistribute connected
Server_Side(config-router-af)#router eigrp 11
Server_Side(config-router)#address-family ipv4 vrf SSH_Srv_Sd
Server_Side(config-router-af)#redistribute connected

После этого проверяем таблицы маршрутизации

на клиентской сороне

Client#sh ip route vrf SSH_Cl_Sd

Routing Table: SSH_Cl_Sd
Codes: C — connected, S — static, R — RIP, M — mobile, B — BGP
D — EIGRP, EX — EIGRP external, O — OSPF, IA — OSPF inter area
N1 — OSPF NSSA external type 1, N2 — OSPF NSSA external type 2
E1 — OSPF external type 1, E2 — OSPF external type 2
i — IS-IS, su — IS-IS summary, L1 — IS-IS level-1, L2 — IS-IS level-2
ia — IS-IS inter area, * — candidate default, U — per-user static route
o — ODR, P — periodic downloaded static route

Gateway of last resort is not set

C 192.168.55.0/24 is directly connected, FastEthernet0/0
10.0.0.0/24 is subnetted, 4 subnets
D 10.3.1.0 [90/2565120] via 10.1.1.1, 04:18:51, FastEthernet1/0.11
C 10.2.1.0 is directly connected, FastEthernet1/0.21
C 10.1.1.0 is directly connected, FastEthernet1/0.11
D 10.4.1.0 [90/30720] via 10.2.1.1, 04:18:48, FastEthernet1/0.21
D EX 192.168.18.0/24 [170/33280] via 10.2.1.1, 04:18:48, FastEthernet1/0.21

и на серверной:

Server_Side #sh ip route vrf SSH_Srv_Sd

Routing Table: SSH_Srv_Sd
Codes: C — connected, S — static, R — RIP, M — mobile, B — BGP
D — EIGRP, EX — EIGRP external, O — OSPF, IA — OSPF inter area
N1 — OSPF NSSA external type 1, N2 — OSPF NSSA external type 2
E1 — OSPF external type 1, E2 — OSPF external type 2
i — IS-IS, su — IS-IS summary, L1 — IS-IS level-1, L2 — IS-IS level-2
ia — IS-IS inter area, * — candidate default, U — per-user static route
o — ODR, P — periodic downloaded static route

Gateway of last resort is not set

D EX 192.168.55.0/24 [170/33280] via 10.4.1.1, 04:27:48, FastEthernet1/0.41
10.0.0.0/24 is subnetted, 4 subnets
C 10.3.1.0 is directly connected, FastEthernet1/0.31
D 10.2.1.0 [90/30720] via 10.4.1.1, 04:27:48, FastEthernet1/0.41
D 10.1.1.0 [90/2565120] via 10.3.1.1, 04:27:48, FastEthernet1/0.31
C 10.4.1.0 is directly connected, FastEthernet1/0.41
C 192.168.18.0/24 is directly connected, FastEthernet0/0

Теперь все в порядке, все необходимые маршруты в таблице маршрутизации, и можно проверить работоспособность сети. Идем на клиентский компьютер и запускаем FTP подключение.

 FTP_check

Все работает. Смотрим счетчики на маршрутизаторе:

Client_Side#sh route-map
route-map Cl_Sd_Map, permit, sequence 10
Match clauses:
ip address (access-lists): FTP_Cl_Sd_List
Set clauses:
vrf FTP_Cl_Sd
Policy routing matches: 17 packets, 1069 bytes
route-map Cl_Sd_Map, permit, sequence 11
Match clauses:
ip address (access-lists): SSH_Cl_Sd_List
Set clauses:
vrf SSH_Cl_Sd
Policy routing matches: 0 packets, 0 bytes

Server_Side#sh route-map
route-map Srv_Sd_Map, permit, sequence 10
Match clauses:
ip address (access-lists): FTP_Srv_Sd_List
Set clauses:
vrf FTP_Srv_Sd
Policy routing matches: 15 packets, 1189 bytes
route-map Srv_Sd_Map, permit, sequence 11
Match clauses:
ip address (access-lists): SSH_Srv_Sd_List
Set clauses:
vrf SSH_Srv_Sd
Policy routing matches: 0 packets, 0 bytes

Видим, что политика сработала как надо. Теперь проверяем SSH. Подключаемся по SSH с клиентского компьютера и смотрим, какие установлены соединения.

SSH_check

 

Теперь идем на маршрутизаторы и смотрим статистику там.

Client_Side#sh route-map
route-map Cl_Sd_Map, permit, sequence 10
Match clauses:
ip address (access-lists):FTP_Cl_Sd_List
Set clauses:
vrf FTP_Cl_Sd
Policy routing matches: 43 packets, 2647 bytes
route-map Cl_Sd_Map, permit, sequence 11
Match clauses:
ip address (access-lists):SSH_Cl_Sd_List
Set clauses:
vrf SSH_Cl_Sd
Policy routing matches: 35 packets, 4577 bytes

Server_Side#sh route-map
route-map Srv_Sd_Map, permit, sequence 10
Match clauses:
ip address (access-lists): FTP_Srv_Sd_List
Set clauses:
vrf FTP_Srv_Sd
Policy routing matches: 15 packets, 1189 bytes
route-map Srv_Sd_Map, permit, sequence 11
Match clauses:
ip address (access-lists): SSH_Srv_Sd_List
Set clauses:
vrf SSH_Srv_Sd
  Policy routing matches: 30 packets, 7649 bytes
 

И здесь тоже, как мы видим, все в порядке.

 В такой конфигурации, которую мы создали пакеты и по сети для FTP, и по сети для SSH, будут ходить и через Router_A и через Router_B, либо только через один из них. Это не будет очень важно, если все каналы скоростные. Но если в сети присутствуют медленные каналы, то удобно будет сделать так, чтобы передача файлов по FTP не мешала управлению сервером по SSH. Поскольку мы используем EIGRP (впрочем, и для OSPF это тоже справедливо) то лучше настроить маршрутизацию таким образом, чтобы приоритетный путь для FTP был один, а для SSH другой, изменяя значения bandwith на нужных интерфейсах. В полных конфигах для данной статьи такие изменения сделаны, благодаря чему FTP трафик ходит через Router_A, а SSH трафик через Router_B.

Аверьянов Кирилл
network-lab.ru


Комментарии:

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Hide me
Получать регулярно свежие материалы, лабораторные и вебинары
Email Имя
Show me