Mengkonfigurasi BGP menggunakan Quagga on Vultr (CentOS 7)

Membawa fungsi IP Space Vultr Anda memungkinkan kebebasan yang belum pernah terjadi sebelumnya dalam menetapkan sumber daya IP Anda sendiri ke server di cloud Vultr. Kami biasanya merekomendasikan menggunakan BIRD untuk mengumumkan ruang IP Anda. Ada beberapa alternatif yang solid untuk BIRD jika Anda tidak dapat mencapai sesuatu dengan BIRD (walaupun ini sangat jarang) atau Anda hanya ingin menggunakan perangkat lunak lain.

Karena biaya administrasi dan teknis, kami sangat tidak menyarankan penggunaan BIRD dan Quagga (atau perangkat lunak lain apa pun) dalam infrastruktur dan / atau jaringan yang sama. Ingatlah bahwa konfigurasi berikut akan memberi Anda SPOF, karena instance yang mengumumkan subnet Anda yang tumpang tindih tidak berlebihan. Anda harus mencatat, bagaimanapun, bahwa Vultr memiliki beberapa router BGP di setiap rak.

Meskipun panduan ini telah ditulis dengan mempertimbangkan CentOS 7, dan hanya diuji pada versi CentOS ini, panduan ini kemungkinan besar akan berfungsi pada versi yang lebih lama seperti CentOS 6 juga. Namun, tentu saja kami sangat tidak menyarankan penggunaan perangkat lunak yang sudah ketinggalan zaman dan kami sangat menyarankan memperbarui ke versi yang lebih baru, lebih baru (dan didukung) seperti CentOS 7.

Tidak ada batasan praktis untuk jumlah subnet atau ukurannya, Anda dapat mengumumkan dari satu contoh menjalankan Quagga (atau router BGP apa pun dalam hal ini), meskipun dalam topologi jaringan apa pun Anda harus memiliki semacam penyebaran risiko. Itu berarti Anda harus membuat pengaturan yang berlebihan atau mengumumkan subnet yang berbeda dari server yang berbeda dengan mengikuti panduan di bawah ini pada beberapa server.

Untuk mengikuti panduan ini, Anda perlu:

  • ASN yang ingin / perlu Anda gunakan;
  • Ruang IP (subnet) yang ingin Anda umumkan;
  • BGP diaktifkan di akun Vultr Anda

BURUNG atau Quagga?

Sebagai permulaan, memilih antara BIRD atau Quagga bisa sangat sulit. Keduanya terkenal dan telah terbukti sangat stabil dan kuat untuk banyak kasus penggunaan, termasuk lingkungan dan infrastruktur dengan lalu lintas tinggi di mana keandalan memainkan peran penting. Perbedaan utama antara BIRD dan Quagga adalah bahwa konfigurasi BIRD dipisahkan dari daemon dan dapat dilihat lebih ditujukan ke struktur seperti kode.

Misalnya, dengan BIRD, jika Anda ingin mencapai pengaturan failover, Anda akan menggunakan blok berikut dalam bird.conffile konfigurasi:

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

Seperti yang Anda lihat, konfigurasi terlihat seperti blok kode karena akan muncul dengan bahasa pemrograman. Dengan Quagga, Anda akan menambahkan atau mengubah pengaturan menggunakan program di daemon itu sendiri.

Pada akhirnya sebagian besar tergantung pada preferensi pribadi dan tidak ada 'pemenang' atau perangkat lunak yang harus Anda gunakan. Secara umum, BIRD lebih mudah untuk diatur karena cara konfigurasi yang mudah dipelajari dan didukung secara luas oleh komunitas.

Lebih lanjut, untuk mendukung Quagga, umumnya, dalam lingkungan produksi yang berjalan, Quagga lebih mudah dikonfigurasi ulang. Dengan BIRD, Anda perlu mengedit file konfigurasi yang sesuai dan meminta daemon memuat ulang pengaturannya. Dengan Quagga, Anda dapat memasukkan cangkangnya, mengkonfigurasi ulang pengaturan tanpa terlalu banyak kerja atau kerepotan. Kontinuitas memainkan peran besar di sini, tetapi dalam praktiknya, overhead minimal. Di sebagian besar infrastruktur, Anda tidak perlu mengkonfigurasi ulang pengaturan ini terlalu banyak, jadi mungkin ide yang baik untuk menilai aspek-aspek lain dari perangkat lunak alih-alih hanya perincian ini saja.

Sama seperti BIRD, Quagga kompatibel lintas lintas beberapa distribusi. Jika Anda ingin mengubah distribusi yang digunakan untuk router, secara teori Anda bisa memindahkan konfigurasi Anda dan tidak ada yang harus diubah atau akan berubah.

Dalam panduan ini, kami akan menjelaskan proses menginstal dan mengkonfigurasi Quagga. Jika Anda juga ingin mencoba BIRD, coba ikuti panduan " Mengkonfigurasi BGP pada Vultr ".

Seperti disebutkan, ada beberapa alternatif lain yang bagus di luar sana, tetapi bagian terbesar dari mereka memiliki beberapa kekurangan, menghentikan mereka dari digunakan dalam lingkungan produksi. Sebagai contoh, implementasi BGP XORP relatif sudah ketinggalan zaman yang umumnya bukan awal yang baik untuk membangun infrastruktur baru (meskipun implementasi BGP-nya stabil).

Dibandingkan dengan banyak alternatif, BIRD memiliki jejak memori yang rendah dan tidak terlalu banyak sumber daya. Di sisi lain, memutar atau meningkatkan ke instance cloud Vultr yang lebih kuat hanya membutuhkan beberapa klik dari panel kontrol Vultr.

IPv4 dan IPv6

Vultr mendukung mengumumkan ruang IP IPv4 dan IPv6. Implementasi BGP Quagga relatif mutakhir, memungkinkan kemampuan untuk mengumumkan ruang IPv6 juga.

Meskipun panduan ini bertujuan mengumumkan ruang IPv4, Anda bisa menggunakan implementasi IPv6 Quagga dan menggunakan instruksi artikel ini. Namun ini tidak didokumentasikan secara eksplisit, jadi silakan merujuk ke sumber alternatif untuk ini.

Catatan penting

Untuk dapat bertahan tanpa router BGP untuk melewati lalu lintas, cara terbaik untuk mengumumkan ruang IP Anda adalah sebagai berikut:

  • Umumkan / 24 Anda (atau lebih besar) dari instance Quagga khusus;
  • Umumkan individu / 32 (atau lebih besar) dari instance traffic harus dialihkan ke diri mereka sendiri

Dengan cara ini, Anda akan memiliki satu setup contoh untuk mengumumkan subnet yang tumpang tindih untuk semua IP yang Anda pisahkan menjadi individual / 32 atau lebih besar. Menggunakan desain ini Anda dapat dengan cepat mengumumkan IP dan merutekan lalu lintas ke instance yang benar.

Secara alami, Anda bebas bereksperimen dengan berbagai pendekatan untuk mengumumkan ruang IP sesuai keinginan Anda. Secara teori, penggunaannya tidak terbatas dan tidak mengenal batas. Perhatikan bahwa server Vultr dikelola sendiri dan kami tidak dapat membantu Anda dengan masalah yang mungkin timbul. Selain itu, tidak ada salahnya menggunakan solusi yang didukung oleh Vultr dan komunitas sehingga jika ada masalah yang muncul Anda dapat menentukan akar penyebabnya dengan cepat.

Langkah 1: Menonaktifkan SELinux

Kami sangat menyarankan menonaktifkan SELinux untuk mencegahnya menghentikan Quagga agar tidak berfungsi. Kami memiliki panduan untuk menonaktifkan SELinux, silakan ikuti dan kembali ke tutorial ini setelah SELinux dinonaktifkan: Menonaktifkan SELinux di CentOS 7 .

Langkah 2: Menginstal Quagga

Kita dapat melanjutkan dengan menginstal Quagga menggunakan yum:

yum install quagga

Jika Anda mendapatkan kesalahan, terutama pada instance yang baru digunakan coba:

yum update

Konfigurasikan systemdagar Zebra (daemon inti) dimulai secara otomatis saat boot:

systemctl enable zebra

Akhirnya, mulai Zebra:

systemctl start zebra

Kami harus mengulangi proses untuk BGPd, ​​sebagai berikut:

systemctl start bgpd
systemctl enable bgpd

Zebra dan BGPd

Quagga terdiri dari berbagai daemon yang memungkinkan untuk routing. Karena kita akan menggunakan BGP, kita akan perlu menggunakan diakon Zebra dan BGPd. Zebra dan BGPd bekerja bersama. Ketika salah satu dari mereka berhenti berfungsi, rute Anda tidak akan diiklankan lagi, secara efektif membuat seluruh ruang IP Anda tidak tersedia.

Quagga mendukung banyak protokol routing, antara lain OSPF dan BGP. Inti dari topologi implementasi mereka adalah Zebra. Zebra adalah daemon inti, yang merupakan lapisan yang menjaga komunikasi kernel UNIX (TCP) dengan klien Quagga. Di backend, Zebra menghadirkan Zserv API, yang memungkinkan protokol routing ini untuk berkomunikasi dengan pembaruan routing. Salah satu implementasi dengan Zserv API adalah BGP.

Versi default yang digunakan oleh Quagga untuk BGP adalah BGPv4 +, yang mencakup dukungan keluarga alamat untuk multicast dan IPv6.

Langkah 3: Mengkonfigurasi router BGP

Untuk mengonfigurasi perute BGP sesuai keinginan Anda, kami akan menggunakan vtyshshell. Pertama, salin file konfigurasi BGP sampel:

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

Setelah file disalin, masukkan shell:

vtysh

Dalam beberapa versi Quagga lama Anda mungkin menemukan pengaturan dengan AS7675. Kami tidak memerlukan ini karena hanya akan bertentangan dengan pengaturan kami, jadi kami perlu menghapusnya jika ada. Periksa apakah konfigurasi ini ada di instalasi Quagga Anda dengan menjalankan perintah berikut di dalam shell :

show running-config

Jika ini mengembalikan string dengan atau termasuk "router bgp 7675", hapus dengan mengeksekusi:

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

Anda sekarang harus memasukkan informasi BGP yang telah diberikan Vultr kepada Anda.

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

Kemungkinan besar, Anda memerlukan kata sandi untuk membuat sesi BGP. Masukkan:

neighbor NEIGHBORIP password YOURBGPPASSWORD
exit

Terakhir, jika Anda yakin ingin menulis perubahan ini (hanya berlaku jika Anda bekerja pada pengaturan produksi), jalankan yang berikut untuk membiarkan perubahan berlaku:

write

Pastikan perubahan berhasil dengan mengeksekusi:

show ip bgp summary

Kita sekarang seharusnya telah berhasil membuat sesi BGP.

Langkah 4: Mengumumkan ruang IP Anda

Meskipun kami telah membuat sesi BGP, kami belum mengumumkan rute atau alamat IP apa pun, sehingga dalam praktiknya tidak akan berpengaruh. Untungnya, mengatur ruang IP untuk mengumumkan adalah proses yang relatif mudah.

Di vtysh, jalankan perintah berikut untuk mencapai ini:

configure terminal
router bgp YOURAS

Anda sekarang dalam konfigurasi. Pastikan Anda memiliki ruang IP yang ingin Anda umumkan dan masukkan:

network YOURSUBNET/CIDR

Misalnya, input yang valid adalah:

network 185.92.220.0/23

Secara alami, ini tidak akan berfungsi dalam pengaturan khusus Anda karena ruang IP di atas dimiliki oleh Vultr. Ganti ini dan semuanya akan berfungsi dengan baik.

Keluar dan simpan perubahan:

exit
write

Periksa apakah awalan Anda berhasil diumumkan:

show ip bgp neighbors NEIGHBORIP advertised-routes

Coba ping alamat IP dari subnet, dan coba lakukan traceroute dari luar jaringan.

Penyelesaian masalah

Pemecahan masalah Quagga sebagian besar di luar lingkup artikel ini, tetapi jika Anda mengalami kesulitan, Anda selalu dapat mencoba menghentikan instance Quagga Anda dan mencoba mengumumkan ruang IP melalui BIRD untuk dapat mengecualikan sejumlah kemungkinan penyebab.

Ketika BGP tidak berfungsi dengan benar pada Quagga dan juga BIRD, ada kemungkinan firewall Anda belum dikonfigurasi dengan benar. Port 179 harus terbuka. Pada CentOS 7, coba nonaktifkan sementara firewall:

systemctl stop firewalld

Jika Anda menggunakan iptables, coba:

service iptables stop

Kemudian cobalah memulai sesi BGP lagi. Jika hang pada 'Idle', 'Connect' atau 'Active' ada kemungkinan porta masih diblokir. Dengan status 'Didirikan', sesi BGP telah berhasil disiapkan dan rute yang diiklankan ditampilkan.

Quagga sekarang telah diinstal ke server Anda, dan seharusnya berfungsi. Selama beberapa hari pertama mengumumkan ruang IP Anda sendiri, Anda harus memantau fungsinya untuk mencegah seluruh infrastruktur Anda tidak berfungsi.

Itu mengakhiri tutorial Quagga kami, terima kasih telah membaca. Untuk mempelajari lebih lanjut tentang fitur Vultr's Bring Your IP Space, silakan kunjungi halaman BGP .



Leave a Comment

Cara Memasang Graylog Server pada CentOS 7

Cara Memasang Graylog Server pada CentOS 7

Menggunakan Sistem yang Berbeda? Graylog server adalah perangkat lunak manajemen log sumber terbuka siap pakai perusahaan. Ia mengumpulkan log dari berbagai sumber dan menganalisis

Atur Akun Pengguna khusus SFTP di CentOS 7

Atur Akun Pengguna khusus SFTP di CentOS 7

Pada kesempatan tertentu, Administrator Sistem mungkin perlu membuat akun pengguna dan membatasi akses mereka untuk hanya mengelola file mereka sendiri melalui sFTP, tetapi tidak

Cara Memasang Chamilo 1.11.8 pada CentOS 7

Cara Memasang Chamilo 1.11.8 pada CentOS 7

Menggunakan Sistem yang Berbeda? Chamilo adalah sistem manajemen pembelajaran (LMS) gratis dan open source yang banyak digunakan untuk pendidikan online dan kolaborasi tim

Menginstal Komunitas Odoo 9 di CentOS 7

Menginstal Komunitas Odoo 9 di CentOS 7

Odoo, sebelumnya dikenal sebagai OpenERP, adalah platform bisnis ERP open source yang terkenal. Perusahaan dengan ukuran berapa pun dapat mengambil manfaat dari Odoo, berkat lisnya yang berlimpah

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Menggunakan Sistem yang Berbeda? Couch CMS adalah Content Management System (CMS) sederhana dan fleksibel, gratis dan open source yang memungkinkan desainer web untuk mendesain

Cara Memasang NextCloud 9 pada CentOS 7

Cara Memasang NextCloud 9 pada CentOS 7

NextCloud, seperti namanya, adalah alternatif yang menjanjikan dari solusi hosting file sumber terbuka lainnya OwnCloud. Dalam artikel ini, saya akan menunjukkan kepada Anda ho

Menginstal Netdata di CentOS 7

Menginstal Netdata di CentOS 7

Menggunakan Sistem yang Berbeda? Netdata adalah bintang yang naik di bidang pemantauan metrik sistem waktu-nyata. Dibandingkan dengan alat lain dengan jenis yang sama, Netdata:

Cara Menginstal ERPNext Open Source ERP pada CentOS 7

Cara Menginstal ERPNext Open Source ERP pada CentOS 7

Menggunakan Sistem yang Berbeda? ERP atau Enterprise Resource Planning adalah rangkaian aplikasi perusahaan yang digunakan untuk mengelola proses bisnis inti. ERPNext adalah gratis

Menyiapkan SA-MP San Andreas Multiplayer Server pada CentOS 6

Menyiapkan SA-MP San Andreas Multiplayer Server pada CentOS 6

Selamat datang di tutorial Vultr lainnya. Di sini, Anda akan belajar cara menginstal dan menjalankan server SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan tahu

Instal Elgg pada CentOS 7

Instal Elgg pada CentOS 7

Menggunakan Sistem yang Berbeda? Elgg adalah mesin jejaring sosial open source yang memungkinkan penciptaan lingkungan sosial seperti jejaring sosial kampus

Menginstal Bolt CMS pada CentOS 7

Menginstal Bolt CMS pada CentOS 7

Bolt adalah CMS open source yang ditulis dalam PHP. Kode sumber baut di-host di GitHub. Panduan ini akan menunjukkan kepada Anda cara menginstal Bolt CMS pada CentOS 7 Vult yang baru

Cara Memasang Bugzilla 5.0.x di CentOS 7

Cara Memasang Bugzilla 5.0.x di CentOS 7

Bugzilla adalah sistem pelacakan bug sumber bebas dan terbuka yang banyak digunakan oleh berbagai vendor untuk terus meningkatkan softwar mereka

Menyebarkan Kubernet Dengan Kubeadm di CentOS 7

Menyebarkan Kubernet Dengan Kubeadm di CentOS 7

Ikhtisar Artikel ini dimaksudkan untuk membantu Anda mendapatkan kluster Kubernet dan menjalankan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua server, pada

Setup Sails.js untuk Pengembangan pada CentOS 7

Setup Sails.js untuk Pengembangan pada CentOS 7

Menggunakan Sistem yang Berbeda? Pendahuluan Sails.js adalah kerangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Itu membuat untuk mengembangkan aplikasi modern ver

Menyiapkan Server Half Life 2 Pada CentOS 6

Menyiapkan Server Half Life 2 Pada CentOS 6

Tutorial ini akan membahas proses pemasangan server game Half Life 2 pada Sistem CentOS 6. Langkah 1: Menginstal prasyarat Untuk mengatur ou

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Pendahuluan Sistem Linux dilengkapi dengan alat pemantauan secara default seperti top, df, dan du yang membantu memonitor proses dan ruang disk. Namun sering kali, mereka ar

Cara Memasang Kolab Groupware di CentOS 7

Cara Memasang Kolab Groupware di CentOS 7

Menggunakan Sistem yang Berbeda? Kolab Groupware adalah aplikasi groupware berbasis web gratis dan open source. Fitur-fiturnya terdiri dari komunikasi email, acara

Cara Memasang Koel di CentOS 7

Cara Memasang Koel di CentOS 7

Menggunakan Sistem yang Berbeda? Koel adalah aplikasi streaming audio pribadi sederhana berbasis web yang ditulis dalam Vue di sisi klien dan Laravel di sisi server. Koe

Cara Memasang GDB pada CentOS 6

Cara Memasang GDB pada CentOS 6

GDB adalah debugger untuk C, C ++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada, dan Modula-2. CentOS didasarkan pada RHEL (Red Hat Enterprise Linux). Salah satu th

Menginstal Akaunting di CentOS 7

Menginstal Akaunting di CentOS 7

Menggunakan Sistem yang Berbeda? Akaunting adalah perangkat lunak akuntansi sumber terbuka dan gratis yang dirancang untuk usaha kecil dan freelancer. Itu dibangun kecerdasan

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut