Тест характеристик транзитного канала

Материал из OpenWiki
Перейти к: навигация, поиск

Примерная схема включения:
SPEEDTEST VRF.png

Начало

Собственно ситуация проста и банальна, транзит проключили, маршрутизатор (на схеме - R2) на удаленном узле поставили, ping побежал... И тут вполне резонный вопрос - соответствует ли канал заявленным характеристикам?

Если бы за R2 стоял какой-то сервер, где можно было iperf запустить - проблема решилась бы быстро, но там на данный момент ничего кроме собственно самого R2 нет, ехать почти 200 км тоже не очень хочется, а примерное представление о качестве сервиса получить надо.

Возникла одна простая идея - между R1 и R2 поднять 2 тунеля, на R1 поместить их в разные VRF и в VRF 1 добавить интерфейс с Server 1, а в VRF 2 соответственно интерфейс с Server 2, слегка поднастроить маршрутизацию и по получившейся петле прогнать трафик с сервера 1 на сервер 2.

ВАЖНО! ТРАНЗИТНЫЙ КАНАЛ ДОЛЖЕН БЫТЬ СИММЕТРИЧНЫМ, т.е. с одинаковой скоростью в обоих направлениях

Реализация

Выбираем номера VLAN-ов и IP-ы для линков:
Т.к. подсеть 172.19.0.0/16 у меня нигде не используется, ее и выберем для тестов

S1 -- R1 vlan 101 172.19.1.0/30
S2 -- R1 Vlan 102 172.19.4.0/30

R1 -- R2 Tun1 172.19.2.0/30
R1 -- R2 Tun2 172.19.3.0/30


Конфигурация серверов (OS CentOS)

Настроим сервера

Server 1:

vconfig add eth0 101
ifconfig eth0.101 172.19.1.1/30
route add -net 172.19.0.0/16 gw 172.19.1.2

Server 2:

vconfig add eth0 102
ifconfig eth0.101 172.19.4.1/30
route add -net 172.19.0.0/16 gw 172.19.4.2

Конфигурация маршрутизаторов

R1

!
ip vrf serv_1 
 rd 111:111
!
ip vrf serv_2 
 rd 111:222
!
interface Loopback1
 description For_Tun1
 ip address 172.19.101.1 255.255.255.255
!
interface Loopback1
 description For_Tun2
 ip address 172.19.102.1 255.255.255.255
!
interface Tunnel1
 ip vrf forwarding serv_1
 ip address 172.19.2.1 255.255.255.252
 keepalive 10 3
 tunnel source 172.19.101.1
 tunnel destination 172.19.101.2
!
interface Tunnel2
 ip vrf forwarding serv_2
 ip address 172.19.3.1 255.255.255.252
 keepalive 10 3
 tunnel source 172.19.102.1
 tunnel destination 172.19.102.2
!
interface FastEthernet0/0.101
 description Server_1
 encapsulation dot1Q 101
 ip vrf forwarding serv_1
 ip address 172.19.1.2 255.255.255.252
!
interface FastEthernet0/0.102
 description Server_2
 encapsulation dot1Q 102
 ip vrf forwarding serv_2
 ip address 172.19.4.2 255.255.255.252
!
ip route vrf serv_2 172.19.1.0 255.255.255.0 172.19.2.2 
ip route vrf serv_2 172.19.2.0 255.255.255.0 172.19.2.2
ip route vrf serv_1 172.19.3.0 255.255.255.0 172.19.1.2 
ip route vrf serv_1 172.19.4.0 255.255.255.0 172.19.1.2

R2

ip vrf tranzit 
 rd 111:333
!
interface Loopback1
 description For_Tun1
 ip address 172.19.101.2 255.255.255.255
!
interface Loopback1
 description For_Tun2
 ip address 172.19.102.2 255.255.255.255
!
interface Tunnel1
 ip vrf forwarding tranzit
 ip address 172.19.2.2 255.255.255.252
 keepalive 10 3
 tunnel source 172.19.101.2
 tunnel destination 172.19.101.1
!
interface Tunnel2
 ip vrf forwarding tranzit
 ip address 172.19.3.2 255.255.255.252
 keepalive 10 3
 tunnel source 172.19.102.2
 tunnel destination 172.19.102.1
!
ip route vrf tranzit 172.19.1.0 255.255.255.0 172.19.2.1 
ip route vrf tranzit 172.19.4.0 255.255.255.0 172.19.3.1

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

Все, теперь трафик c Server 1 на Server 2 и обратно (точнее трафик с IP 172.19.1.1 на 172.19.4.1) будет проходить по маршруту:

Server 1 <-VLAN_101-> R1(vrf serv_1) <-Tun1-> R2(vrf tranzit) <-Tun2-> R1(vrf serv_2) <-VLAN_102-> Server 2

Можно запускать iperf, или гонять любой иной трафик, строить графики загрузки и делать выводы :)