Mengkonfigurasi BGP menggunakan Quagga on Vultr (CentOS 7)

Fungsi Vultr's Bring Your IP Space memungkinkan kebebasan yang belum pernah terjadi sebelumnya dalam memberikan sumber IP anda sendiri ke pelayan di awan Vultr. Kami secara amnya mengesyorkan menggunakan BIRD untuk mengumumkan ruang IP anda. Terdapat beberapa alternatif yang baik untuk BIRD sekiranya anda tidak dapat mencapai sesuatu dengan BIRD (walaupun ini sangat jarang berlaku) atau anda hanya ingin menggunakan perisian lain.

Oleh kerana overhead pentadbiran dan teknikal, kami sangat tidak menggalakkan penggunaan BIRD dan Quagga (atau perisian lain untuk perkara tersebut) dalam infrastruktur dan / atau rangkaian yang sama. Perlu diingat bahawa konfigurasi berikut akan memberi anda SPOF, kerana contoh yang mengumumkan subnet yang bertindih tidak berlebihan. Namun, anda harus perhatikan bahawa Vultr mempunyai beberapa penghala BGP di setiap rak.

Walaupun panduan ini ditulis dengan mempertimbangkan CentOS 7, dan hanya diuji pada versi CentOS ini, kemungkinan besar ia akan berfungsi pada versi lama seperti CentOS 6 juga. Walau bagaimanapun, secara semula jadi kami sangat tidak menggalakkan penggunaan perisian yang ketinggalan zaman dan kami sangat mengesyorkan untuk mengemas kini ke versi yang lebih baru (dan disokong) seperti CentOS 7.

Tidak ada batasan praktikal untuk jumlah subnet atau ukurannya yang dapat anda umumkan dari satu contoh yang menjalankan Quagga (atau penghala BGP apa pun), walaupun dalam topologi rangkaian mana pun, anda seharusnya mempunyai risiko penyebaran. Ini bermaksud anda harus membuat penyediaan yang berlebihan atau mengumumkan subnet yang berbeza dari pelayan yang berbeza dengan mengikuti panduan di bawah di beberapa pelayan.

Untuk mengikuti panduan ini, anda memerlukan:

  • ASN yang anda mahukan / perlu gunakan;
  • Ruang IP (subnet) yang ingin anda umumkan;
  • BGP diaktifkan dalam akaun Vultr anda

BURUNG atau Quagga?

Sebagai permulaan, memilih antara BIRD atau Quagga boleh menjadi sangat sukar. Kedua-duanya terkenal dan terbukti sangat stabil dan kuat untuk banyak kes penggunaan, termasuk persekitaran lalu lintas tinggi dan infrastruktur di mana kebolehpercayaan memainkan peranan penting. Perbezaan utama antara BIRD dan Quagga adalah bahawa konfigurasi BIRD dipisahkan dari daemon dan dapat dilihat lebih bertujuan untuk struktur seperti kod.

Contohnya, dengan BIRD, jika anda ingin mencapai persiapan failover, anda akan menggunakan blok berikut dalam bird.conffail konfigurasi:

export filter {
    bgp_path.prepend(asnumber);
    accept;
};

Seperti yang anda lihat, konfigurasi kelihatan seperti blok kod seperti yang akan muncul dengan bahasa pengaturcaraan. Dengan Quagga, anda akan menambahkan atau mengubah tetapan menggunakan program di daemon itu sendiri.

Pada akhirnya, ini adalah pilihan peribadi dan tidak ada 'pemenang' atau perisian yang harus anda gunakan. Secara umum, BIRD lebih mudah disiapkan kerana cara konfigurasi yang mudah dipelajari dan disokong secara meluas oleh masyarakat.

Lebih jauh lagi, untuk menyokong Quagga, secara umum, dalam lingkungan produksi yang berjalan, Quagga lebih mudah dikonfigurasi ulang. Dengan BIRD, anda perlu mengedit fail konfigurasi yang sesuai dan meminta daemon memuat semula tetapannya. Dengan Quagga, anda boleh memasukkan cangkangnya, mengkonfigurasi semula tetapan tanpa terlalu banyak kerja atau keributan. Kesinambungan memainkan peranan besar di sini, tetapi dalam praktiknya, overhead adalah minimum. Di kebanyakan infrastruktur, anda tidak perlu mengkonfigurasi semula tetapan ini terlalu banyak, jadi mungkin idea yang baik untuk menilai aspek lain dari perisian dan bukannya perincian ini sahaja.

Sama seperti BIRD, Quagga serasi silang dalam pelbagai pengedaran. Sekiranya anda ingin mengubah sebaran yang digunakan untuk router, secara teori anda boleh menukar konfigurasi anda dan tidak ada yang perlu diubah atau akan berubah.

Dalam panduan ini, kami akan menerangkan proses pemasangan dan konfigurasi Quagga. Sekiranya anda ingin mencuba BIRD juga, cuba ikuti panduan " Mengkonfigurasi BGP pada Vultr ".

Seperti disebutkan, ada beberapa alternatif lain yang bagus, tetapi sebahagian besar daripadanya mempunyai beberapa kekurangan, sehingga tidak digunakan dalam persekitaran pengeluaran. Sebagai contoh, pelaksanaan BGP XORP agak ketinggalan zaman yang umumnya bukan permulaan yang baik untuk mendirikan infrastruktur baru (walaupun pelaksanaan BGPnya stabil).

Berbanding dengan banyak alternatif, BIRD mempunyai jejak memori yang rendah dan tidak memerlukan banyak sumber. Sebaliknya, berputar atau menaik taraf ke instance awan Vultr yang lebih kuat hanya memerlukan beberapa klik dari panel kawalan Vultr.

IPv4 dan IPv6

Vultr menyokong mengumumkan ruang IPv4 dan IPv6. Pelaksanaan BGP Quagga relatif terkini, memungkinkan untuk mengumumkan ruang IPv6 juga.

Walaupun panduan ini bertujuan untuk mengumumkan ruang IPv4, anda boleh menggunakan pelaksanaan IPv6 Quagga dan menggunakan petunjuk artikel ini. Ini tidak didokumentasikan secara eksplisit, jadi sila rujuk sumber alternatif untuk ini.

Nota PENTING

Untuk dapat bertahan tanpa penghala BGP untuk melewati lalu lintas, cara terbaik untuk mengumumkan ruang IP anda adalah seperti berikut:

  • Umumkan / 24 (atau lebih besar) dari contoh Quagga khusus;
  • Umumkan individu / 32-an (atau lebih besar) dari keadaan lalu lintas harus diarahkan kepada diri mereka sendiri

Dengan cara ini, anda akan mempunyai satu contoh persediaan untuk mengumumkan subnet bertindih untuk semua IP yang anda pecah menjadi individu / 32 atau lebih besar. Dengan menggunakan reka bentuk ini, anda dapat dengan cepat mengumumkan IP dan mengarahkan lalu lintas ke keadaan yang betul.

Secara semula jadi, anda bebas untuk bereksperimen dengan pelbagai pendekatan untuk mengumumkan ruang IP anda mengikut keinginan anda. Secara teori penggunaannya tidak terbatas dan tidak mengenal batas. Perhatikan bahawa pelayan Vultr diuruskan sendiri dan kami tidak dapat membantu anda dengan masalah yang mungkin timbul. Selain itu, tidak ada salahnya menggunakan penyelesaian yang disokong oleh Vultr dan komuniti, jadi jika ada masalah yang timbul, anda dapat menentukan punca mereka dengan cepat.

Langkah 1: Melumpuhkan SELinux

Kami sangat mengesyorkan melumpuhkan SELinux untuk menghalangnya Quagga daripada tidak berfungsi. Kami mempunyai panduan untuk melumpuhkan SELinux, ikuti dan kembali ke tutorial ini setelah SELinux dilumpuhkan: Menonaktifkan SELinux di CentOS 7 .

Langkah 2: Memasang Quagga

Kita boleh meneruskan dengan memasang Quagga menggunakan yum:

yum install quagga

Sekiranya anda mendapat ralat, terutama pada contoh yang baru digunakan, cuba:

yum update

Konfigurasikan systemdsupaya Zebra (inti daemon) dimulakan secara automatik semasa boot:

systemctl enable zebra

Akhirnya, mulakan Zebra:

systemctl start zebra

Kita harus mengulangi proses untuk BGPd, ​​seperti berikut:

systemctl start bgpd
systemctl enable bgpd

Zebra dan BGPd

Quagga terdiri daripada pelbagai daemon yang memungkinkan untuk melakukan routing. Oleh kerana kita akan menggunakan BGP, kita perlu menggunakan deamon Zebra dan BGPd. Zebra dan BGPd bekerjasama. Apabila salah satu daripada mereka berhenti berfungsi, laluan anda tidak akan diiklankan lagi, menjadikan keseluruhan ruang IP anda tidak tersedia.

Quagga menyokong pelbagai protokol penghalaan, antara lain OSPF dan BGP. Inti dari topologi pelaksanaannya adalah Zebra. Zebra adalah daemon teras, yang merupakan lapisan yang menjaga komunikasi kernel UNIX (TCP) dengan klien Quagga. Di bahagian belakang Zebra menyajikan Zserv API, yang membolehkan protokol perutean ini menyampaikan kemas kini penghalaan. Salah satu pelaksanaan dengan Zserv API adalah BGP.

Versi lalai yang digunakan oleh Quagga untuk BGP adalah BGPv4 +, yang merangkumi sokongan keluarga alamat untuk multicast dan IPv6.

Langkah 3: Mengkonfigurasi penghala BGP

Untuk mengkonfigurasi penghala BGP mengikut keinginan anda, kami akan menggunakan vtyshshell. Pertama, salin contoh fail konfigurasi BGP:

cp /usr/share/doc/quagga-*/bgpd.conf.sample /etc/quagga/bgpd.conf

Setelah fail disalin, masukkan shell:

vtysh

Dalam beberapa versi Quagga yang lebih lama, anda mungkin menemui persediaan dengan AS7675. Kami tidak memerlukan ini kerana hanya akan bertentangan dengan penyediaan kami, jadi kami perlu menghapusnya jika ada. Periksa sama ada konfigurasi ini terdapat dalam pemasangan Quagga anda dengan menjalankan perintah berikut di dalam shell :

show running-config

Sekiranya ini mengembalikan rentetan dengan atau termasuk "router bgp 7675", hapus dengan menjalankan:

configure terminal
no router bgp 7675
router bgp YOURAS
no auto-summary
no synchronization

Anda sekarang harus memasukkan maklumat BGP yang telah diberikan oleh Vultr kepada anda.

neighbor NEIGHBORIP remote-as VULTRAS
neighbor NEIGHBORIP description "Vultr"

Kemungkinan besar, anda memerlukan kata laluan untuk membuat sesi BGP. Masukkannya:

neighbor NEIGHBORIP password YOURBGPPASSWORD
exit

Akhirnya, jika anda pasti ingin menulis perubahan ini (hanya berlaku jika anda sedang membuat persediaan produksi), jalankan perkara berikut untuk membiarkan perubahan tersebut berlaku:

write

Pastikan perubahan berjaya dengan melaksanakan:

show ip bgp summary

Kita semestinya telah berjaya mengadakan sesi BGP.

Langkah 4: Mengumumkan ruang IP anda

Walaupun kami telah mengadakan sesi BGP, kami belum mengumumkan laluan atau alamat IP, jadi ini tidak akan memberi kesan dalam praktiknya. Nasib baik, menetapkan ruang IP untuk diumumkan adalah proses yang agak mudah.

Dalam vtysh, laksanakan perintah berikut untuk mencapainya:

configure terminal
router bgp YOURAS

Anda kini dalam konfigurasi. Pastikan ada ruang IP yang ingin anda umumkan dan masukkan:

network YOURSUBNET/CIDR

Sebagai contoh, input yang sah adalah:

network 185.92.220.0/23

Secara semula jadi, ini tidak akan berfungsi dalam persediaan khusus anda kerana ruang IP di atas dimiliki oleh Vultr. Ganti ini dan semuanya mesti berfungsi dengan baik.

Keluar dan simpan perubahan:

exit
write

Periksa sama ada awalan anda berjaya diumumkan:

show ip bgp neighbors NEIGHBORIP advertised-routes

Cuba pingkan alamat IP dari subnet, dan cuba lakukan pelacakan dari luar rangkaian.

Penyelesaian masalah

Menyelesaikan masalah Quagga sebagian besar berada di luar ruang lingkup artikel ini, tetapi jika anda mengalami kesulitan, anda selalu dapat menghentikan instance Quagga anda dan mencuba lagi mengumumkan ruang IP melalui BIRD untuk dapat mengecualikan sejumlah kemungkinan penyebabnya.

Apabila BGP tidak berfungsi dengan baik di Quagga dan juga BIRD, ada kemungkinan firewall Anda belum dikonfigurasi dengan benar. Pelabuhan 179 harus dibuka. Pada CentOS 7, cubalah mematikan firewall buat sementara waktu:

systemctl stop firewalld

Sekiranya anda menggunakan iptables, cuba:

service iptables stop

Kemudian cubalah memulakan sesi BGP sekali lagi. Sekiranya ia tergantung pada 'Idle', 'Connect' atau 'Active' ada kemungkinan port masih tersekat. Dengan keadaan 'Ditubuhkan', sesi BGP telah berjaya disiapkan dan laluan yang diiklankan ditunjukkan.

Quagga kini telah dipasang ke pelayan anda, dan harus berfungsi. Selama beberapa hari pertama mengumumkan ruang IP anda sendiri, anda harus memantau fungsinya untuk mengelakkan keseluruhan infrastruktur anda tidak berfungsi.

Itu mengakhiri tutorial Quagga kami, terima kasih telah membaca. Untuk mengetahui lebih lanjut mengenai ciri Vultr's Bring Your IP Space, sila ke halaman BGP .



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut