Network

BGP Cluster

Makalemde sizler ISP-CP arasında gerçekleştirilen ve komşuluk ilişkilerine dayandırılmış cihaz ve hat yedekli istek paketlerinin nereden ve hangi öncelikte geleceği belirtilebilen. Aktif – Aktif çalıştırılan ve geçişler aşamasında her hangi bir paket kaybına mahal vermeyen BGP protokolü ile tasarlanmış Gelişmiş/Üst seviye ağ topolojisini paylaşmaktayım. Bu noktada Türkçe bir dokümanada ihtiyaç olduğu için sizlerle paylaşmak istedim.

 

Öncelikle kurmuş olduğum topoloji noktasında sizlere bilgilendirme yapacağım.

 

 

Ağ Topolojisi;

 

clip_image002


Topolokide iki adet ISP üzerinden Müşteri lokasyonuna fiziksel olarak devrelerin bağlandığı görülmektedir. Topoloji Sanal bir ortamda hazırlandı. Tamamında Privite IP adresler kullanılmıştır bu yüzden IP adreslerinde olan dış bacaklardaki 10’lu blokları Public IP adresmiş gibi düşünmemiz gerekiyor.

 

Topolojide ISP-A önceliklendirilmiştir istek ve cevap paketleri bu servis sağlayıcı tarafından gönderilip alınmaktadır. Sizler aşağıdaki konfigürasyonlarda ister ISP-B önceliklendirebilirsiniz isterseniz geliş ve gidiş yollarını gelişmiş yönlendirmeler ile ayırabilirsiniz.

 

 

Konfigürasyon;


Öncelikle elimde Cisco cihaz bulunmadığı için konfigürasyonu vyos ile yaptığımı belirtmek isterim. Sintax bir birine yakın olduğu için sizler rahatlıkla Ciscoya uyarlayabilirsiniz.

 

Topolojimizde yer alan Other IPS Router cihazı konfigürasyonu aşağıdakidir;

 

ISP_Other;

 

interfaces {

    ethernet eth0 {

        address 10.11.12.100/24

        duplex auto

        hw-id 08:00:27:b9:b0:9d

        smp_affinity auto

        speed auto

    }

 

! eth0 internet ortamı ile görüştüğümüz arayüz olarak konfigüre edilmiştir.

 

    ethernet eth1 {

        address 10.1.1.1/30

        duplex auto

        hw-id 08:00:27:84:78:38

        smp_affinity auto

        speed auto

    }

 

! eth1 ISP- A Ext Router ile görüştüğümüz arayüz olarak konfigüre edilmiştir.



    ethernet eth2 {

        address 20.1.1.1/30

        duplex auto

        hw-id 08:00:27:32:5d:41

        smp_affinity auto

        speed auto

    }

 

! eth2 ISP- B Ext Router ile görüştüğümüz arayüz olarak konfigüre edilmiştir.

 

    ethernet eth3 {

        duplex auto

        hw-id 08:00:27:27:6e:39

        smp_affinity auto

        speed auto

    }

    loopback lo {

        address 1.1.1.1/32

    }

}

protocols {

    bgp 100 {

        neighbor 10.1.1.2 {

            remote-as 101

            weight 200

        }

 

! AS 100 ISP-Other’ın komşuları ile görüşeceği BGP tanımı.

!remote-as 101 ilk komşumuz ve önceliklendirilmiştir.

 

        neighbor 20.1.1.2 {

            remote-as 201

            weight 100

        }

 

! remote-as 201 ikinci öncelikli komşumuz.

 

        network 0.0.0.0/0 {

        }

        parameters {

            router-id 1.1.1.1

        }

    }

    static {

        route 0.0.0.0/0 {

            next-hop 10.11.12.1 {

            }

        }

    }

}

!default route.

 

 

ISP_Other : show ip bgp;

 

 

BGP table version is 0, local router ID is 1.1.1.1

Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,

              r RIB-failure, S Stale, R Removed

Origin codes: i – IGP, e – EGP, ? – incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

*> 0.0.0.0          10.11.12.1               0         32768 i

10.1.3.0/30      20.1.1.2                             100 201 202 i

*>                  10.1.1.2                             200 101 102 i

172.16.0.0/24    20.1.1.2                             100 201 202 i

*>                  10.1.1.2                             200 101 102 i

 

Total number of prefixes 3

 

ISP_Other : show ip ro;

 

Codes: K – kernel route, C – connected, S – static, R – RIP, O – OSPF,

       I – ISIS, B – BGP, > – selected route, * – FIB route

 

S>* 0.0.0.0/0 [1/0] via 10.11.12.1, eth0

C>* 1.1.1.1/32 is directly connected, lo

C>* 10.1.1.0/30 is directly connected, eth1

B>* 10.1.3.0/30 [20/0] via 10.1.1.2, eth1, 01:12:24

C>* 10.11.12.0/24 is directly connected, eth0

C>* 20.1.1.0/30 is directly connected, eth2

C>* 127.0.0.0/8 is directly connected, lo

B>* 172.16.0.0/24 [20/0] via 10.1.1.2, eth1, 01:07:24

 

 

 

ISP_A;

 

vyos@RIsp:~$ show configuration

interfaces {

    ethernet eth1 {

        address 10.1.1.2/30

        hw-id 08:00:27:e7:8d:6c

    }

 

! eth1 ISP_Other ile görüştüğümüz arayüz olarak konfigüre edilmiştir.

 

    ethernet eth2 {

        address 10.1.2.1/30

        hw-id 08:00:27:d5:3d:7d

    }

 

! eth2 CP Router Primary ile görüştüğümüz arayüz olarak konfigüre edilmiştir.

 

    ethernet eth3 {

        hw-id 08:00:27:b7:81:19

    }

    loopback lo {

        address 2.2.2.2/32

    }

}

protocols {

    bgp 101 {

        neighbor 10.1.1.1 {

            remote-as 100

        }

        neighbor 10.1.2.2 {

            remote-as 102

        }

 

! AS 101 ISP-Aın komşuları ile görüşeceği BGP tanımı.
!remote-as 102 ilk komşumuz CP Router Primary.




        parameters {

            router-id 2.2.2.2

        }

    }

}

 

 

ISP_A : show ip bgp;

 

BGP table version is 0, local router ID is 2.2.2.2

Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,

              r RIB-failure, S Stale, R Removed

Origin codes: i – IGP, e – EGP, ? – incomplete

   Network          Next Hop            Metric LocPrf Weight Path

*> 0.0.0.0          10.1.1.1                 0             0 100 i

*> 10.1.3.0/30      10.1.2.2                 1             0 102 i

*> 172.16.0.0/24    10.1.2.2                 1             0 102 i

Total number of prefixes 3

 


CP Router Primary;

 

vyos@RCp:~$ show configuration

cluster {

    dead-interval 400

    group FL1 {

        auto-failback false

        monitor 10.1.2.1

        primary RCp

        secondary RCp1

        service 10.1.3.3/24/eth2

    }

interface eth2

    keepalive-interval 100

    monitor-dead-interval 600

    pre-shared-secret ****************

}

 

!Cluster Konfigürasyonu

 

interfaces {

    ethernet eth1 {

        address 10.1.2.2/30

        duplex auto

        hw-id 08:00:27:54:d4:25

        smp_affinity auto

        speed auto

    }

 

! eth1 ISP-A Router ile görüştüğümüz arayüz olarak konfigüre edilmiştir.

 

    ethernet eth2 {

        address 10.1.3.1/30

        duplex auto

        hw-id 08:00:27:18:d7:79

        smp_affinity auto

        speed auto

    }

 

! eth2 CP Router Secondary ile görüştüğü, Network tanımını üzerinde barındıran ve cluster VIP’i taşıyan network arayüzdür. Burada yer alan 172.16.0.0/24 network’ü sunuculara ait bloğu temsil etmektedir.

 

    ethernet eth3 {

        address 172.16.0.1/24

        duplex auto

        hw-id 08:00:27:e5:76:61

        smp_affinity auto

        speed auto

    }

    loopback lo {

        address 3.3.3.3/32

    }

}

protocols {

    bgp 102 {

        neighbor 10.1.2.1 {

            remote-as 101

            weight 200

        }

        neighbor 10.1.3.2 {

            remote-as 202

            weight 100

        }

        network 10.1.3.0/30 {

        }

 

! dış dünyaya anons edilen network.

 

        network 172.16.0.0/24 {

        }

 

! dış dünyaya anons edilen network.

 

        parameters {

            router-id 3.3.3.3

        }

    }

}

 

 

CP Router Primary : show ip bgp;

 

BGP table version is 0, local router ID is 3.3.3.3

Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,

              r RIB-failure, S Stale, R Removed

Origin codes: i – IGP, e – EGP, ? – incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

*  0.0.0.0          10.1.3.2                               0 202 201 100 i

*>                  10.1.2.1                               0 101 100 i

10.1.3.0/30      10.1.3.2                 1             0 202 i

*>                  0.0.0.0                  1         32768 i

*> 172.16.0.0/24    0.0.0.0                  1         32768 i

*                   10.1.3.2                 1             0 202 i

 

 

CP Router Primary : show ip ro;

 

Codes: K – kernel route, C – connected, S – static, R – RIP, O – OSPF,

       I – ISIS, B – BGP, > – selected route, * – FIB route

 

B>* 0.0.0.0/0 [20/0] via 10.1.2.1, eth1, 01:19:22

C>* 3.3.3.3/32 is directly connected, lo

C>* 10.1.2.0/30 is directly connected, eth1

C>* 10.1.3.0/30 is directly connected, eth2

C>* 10.11.12.0/24 is directly connected, eth0

C>* 127.0.0.0/8 is directly connected, lo

C>* 172.16.0.0/24 is directly connected, eth2

 

 

ISP_B;

 

vyos@RIsp1:~$ show configuration

interfaces {

    ethernet eth1 {

        address 20.1.1.2/30

        duplex auto

        hw-id 08:00:27:88:87:2e

        smp_affinity auto

        speed auto

    }

 

! eth1 ISP_Other ile görüştüğümüz arayüz olarak konfigüre edilmiştir.

 

    ethernet eth2 {

        address 20.1.2.1/30

        duplex auto

        hw-id 08:00:27:5b:22:d9

        smp_affinity auto

        speed auto

    }

 

! eth2 CP_Router Secondary ile görüştüğümüz arayüz olarak konfigüre edilmiştir.

 

    ethernet eth3 {

        duplex auto

        hw-id 08:00:27:dd:82:66

        smp_affinity auto

        speed auto

    }

    loopback lo {

        address 2.2.2.3/32

    }

}

protocols {

    bgp 201 {

        neighbor 20.1.1.1 {

            remote-as 100

        }

        neighbor 20.1.2.2 {

            remote-as 202

        }

 

! AS 201 ISP-ABın komşuları ile görüşeceği BGP tanımı.
!remote-as 202 ilk komşumuz CP Router Secondary..


 

        parameters {

            router-id 2.2.2.3

        }

    }

}

 

 

ISP B : show ip bgp;

 

BGP table version is 0, local router ID is 2.2.2.3

Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,

              r RIB-failure, S Stale, R Removed

Origin codes: i – IGP, e – EGP, ? – incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

*> 0.0.0.0          20.1.1.1                 0             0 100 i

10.1.3.0/30      20.1.1.1                               0 100 101 102 i

*>                  20.1.2.2                 1             0 202 i

172.16.0.0/24    20.1.1.1                               0 100 101 102 i

*>                  20.1.2.2                 1             0 202 i

 

ISP B : show ip ro;

 

Codes: K – kernel route, C – connected, S – static, R – RIP, O – OSPF,

       I – ISIS, B – BGP, > – selected route, * – FIB route

 

B>* 0.0.0.0/0 [20/0] via 20.1.1.1, eth1, 01:24:53

C>* 2.2.2.3/32 is directly connected, lo

B>* 10.1.3.0/30 [20/1] via 20.1.2.2, eth2, 02:48:57

C>* 10.11.12.0/24 is directly connected, eth0

C>* 20.1.1.0/30 is directly connected, eth1

C>* 20.1.2.0/30 is directly connected, eth2

C>* 127.0.0.0/8 is directly connected, lo

B>* 172.16.0.0/24 [20/1] via 20.1.2.2, eth2, 02:48:57

 

 

 

CP Router Secondary :

 

vyos@RCp1:~$ show configuration

cluster {

    dead-interval 400

    group FL1 {

        auto-failback false

        monitor 20.1.2.1

        primary RCp

        secondary RCp1

        service 10.1.3.3/24/eth2

    }

    interface eth2

    keepalive-interval 100

    monitor-dead-interval 600

    pre-shared-secret ****************

}

 

! Cluster Konfigürasyonu

 

interfaces {

    ethernet eth1 {

        address 20.1.2.2/30

        hw-id 08:00:27:c2:4f:c1

    }

 

! eth1 ISP_B ile görüştüğümüz arayüz olarak konfigüre edilmiştir.

 

    ethernet eth2 {

        address 10.1.3.2/30

        hw-id 08:00:27:f7:53:d4

    }

 

 

! eth2 CP Router Primary ile görüştüğü, Network tanımını üzerinde barındıran ve cluster VIP’i taşıyan network arayüzdür. Burada yer alan 172.16.0.0/24 network’ü sunuculara ait bloğu temsil etmektedir.

 

    ethernet eth3 {

        address 172.16.0.2/24

        hw-id 08:00:27:62:68:40

    }

    loopback lo {

        address 3.3.3.4/32

    }

}

protocols {

    bgp 202 {

        neighbor 10.1.3.1 {

            remote-as 102

            weight 100

        }

        neighbor 20.1.2.1 {

            remote-as 201

            weight 200

        }

        network 10.1.3.0/30 {

        }

 

! dış dünyaya anons edilen network.

 

        network 172.16.0.0/24 {

        }

 

! dış dünyaya anons edilen network.

 

        parameters {

            router-id 3.3.3.4

        }

    }

}

 

CP Router Primary : show ip bgp;

 

BGP table version is 0, local router ID is 3.3.3.4

Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,

              r RIB-failure, S Stale, R Removed

Origin codes: i – IGP, e – EGP, ? – incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

*  0.0.0.0          10.1.3.1                               0 102 101 100 i

*>                  20.1.2.1                               0 201 100 i

10.1.3.0/30      10.1.3.1                 1             0 102 i

*>                  0.0.0.0                  1         32768 i

172.16.0.0/24    10.1.3.1                 1             0 102 i

*>                  0.0.0.0                  1         32768 i

 

CP Router Primary : show ip ro;

 

Codes: K – kernel route, C – connected, S – static, R – RIP, O – OSPF,

       I – ISIS, B – BGP, > – selected route, * – FIB route

 

B>* 0.0.0.0/0 [20/0] via 20.1.2.1, eth1, 01:29:38

C>* 3.3.3.4/32 is directly connected, lo

C>* 10.1.3.0/30 is directly connected, eth2

C>* 10.11.12.0/24 is directly connected, eth0

C>* 20.1.2.0/30 is directly connected, eth1

C>* 127.0.0.0/8 is directly connected, lo

C>* 172.16.0.0/24 is directly connected, eth2

 

 

Testler;

 

·         İlk konfigürasyon sonrasında ISP-Other, ISP-A ve ISP-B BGP ve Route çıktıları;

·         ISP-Other

clip_image004

·         ISP-A

clip_image006

·         ISP-B

clip_image008

·         ​İlk konfigürasyon sonrasında 10.11.12.34 IP’li istemciden 172.16.0.1 ve 172.16.0.2 yönündeki trafik çıktısı;

·         İstemci Ağ ayarları görüntüsü;

clip_image010

·         İstemci sunucu paket isteleri izi görüntüsü;

clip_image012

Her iki ekran paylaşımında da CP_Routerların temsil ettikleri bacaklara erişim görülmekte. Paket takibinde önceliklendirilmiş olan ISP-A Router’ı üzerinden geçtiği görülmektedir.

 

·         CP_Router Primary Network Anonsu kapatılma işlemi sonrasında CP_Router Secondary üzerinden iletişimin devam etmesi;

·         CP Router üzerindeki Network Anonsu kapatma;

clip_image014

·         İstemciden Traceroute ile trafik takibi;

clip_image016

·         ISP_Other cihazında anans sonlandırma işlemi ardından değişen BGP çıktısı (bu çıktıyı ilk görüntü ile karşılaştırabilirsiniz. 172.16.0.0/24 network’ü için istek paketlerinin aşağıdaki BGP çıktısında artık önce 202 AS numaralı komşusunda olduğunu görmekteyiz. )

clip_image018

·         Müşteride yer alan Router cihazları arasındaki FailOver;

CP Router Primary;
clip_image019

CP Router Secondary;
clip_image020

Dokümanımızda adım adım internet-ISP ve ISP-Müşteri arasındaki iletişimi uygulamalı olarak görmüş olduk.

 

İyi çalışmalar,

 

 

 

 

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu