Multiple Gateways

Summary

Saat ini diasumsikan bahwa gateway default host-lebar adalah gateway yang ditentukan pada jaringan logis ovirtmgmt. Fitur ini akan memungkinkan pengguna untuk menentukan gateway per jaringan logis.

Fitur ini hanya relevan untuk penyebaran dengan host dengan lebih dari satu perangkat jaringan. Tanpa fitur tersebut, lalu lintas apa pun yang terjadi di perangkat yang perlu dikembalikan ke jaringan yang tidak langsung di host akan dialihkan melalui gateway default terlepas dari perangkat yang lalu lintas masuk. Dengan fitur ini, lalu lintas apa pun yang masuk perlu dikembalikan ke jaringan di luar subnet tuan rumah sendiri akan dialihkan kembali melalui perangkat yang lalu lintas masuk.

Motivasinya adalah untuk memastikan bahwa jika lalu lintas luar dialihkan melalui firewall ke tuan rumah, maka itu akan dikembalikan dengan cara masuk melalui firewall yang sama. Selain itu, jika jaringan administratif khusus (Terutama jaringan tampilan) ditempatkan pada perangkat, maka fitur ini memastikan bahwa lalu lintas kembali akan tetap pada jaringan tampilan yang sama dan bukan router kembali dari gateway default host, yang mungkin merupakan jaringan yang berbeda.

Sebelumnya pengguna memecahkan masalah dengan perutean sumber secara manual, fitur ini hanya mengotomatiskan proses.

Why do we need multiple gateways?

Kebutuhan untuk gateway per jaringan telah muncul dari kebutuhan untuk mendukung jaringan host lain (bukan jaringan VM) di samping yang manajemen.

Sebagai contoh, jaringan migrasi dan penyimpanan dapat didefinisikan, masing-masing melewati lalu lintas khusus (satu untuk komunikasi penyimpanan dan lainnya untuk lalu lintas migrasi VM), mereka mungkin harus melewati gateway yang berbeda. Jadi jaringan manajemen dapat diakses menggunakan gateway A, penyimpanan menggunakan B dan migrasi menggunakan C. A biasanya akan ditetapkan pada tingkat host sebagai gateway default host, dan yang lainnya akan ditetapkan untuk masing-masing jaringan. Jika tidak, tidak akan ada cara bagi penyimpanan Anda untuk menggunakan router yang berbeda (daripada yang manajemen) dalam jaringan.

oVirt mengasumsikan bahwa gateway default host adalah gateway yang ditentukan pada jaringan ovirtmgmt. Dengan mengingat hal itu: Beberapa pengguna oVirt menggunakan topologi jaringan ini:
Administrator membuat jaringan baru dan menetapkannya sebagai jaringan display. Host oVirt terhubung ke dua jaringan: ovirtmgmt (10.0.0.0) via eth0, dan jaringan display (20.0.0.0) via eth1. Seorang pengguna pada subnet berbeda dari host kemudian terhubung ke mesin, memilih VM pada host dan kemudian membuka konsol Spice baru. Data jaringan dapat mencapai host, tetapi semua lalu lintas kembali akan merutekan ke gateway default host, yang merupakan gateway yang ditentukan pada ovirtmgmt, dicapai melalui eth0. Lalu lintas kembali akan mencapai R1, tetapi R1 tidak memiliki rute ke laptop pengguna dan dengan demikian paket akan turun di R1. Dengan kata lain, Spice tidak akan bekerja.

Secara lebih sederhana, ping tidak akan berfungsi dari laptop pengguna ke host oVirt, dengan asumsi mereka tidak berada di jaringan yang sama. Lalu lintas akan mencapai host dengan sukses, tetapi semua lalu lintas kembali akan dialihkan melalui gateway default host melalui eth0. Paket akan mencapai R1 dan kemudian akan jatuh karena R1 tidak dapat merutekan ke laptop pengguna.

Saat ini, klien secara manual mengedit skrip init host dan menetapkan gateway berbeda untuk jaringan display. Ini bisa menjadi masalah untuk mempertahankan dengan sejumlah besar host. Fitur multiple gateway akan mengotomatiskan proses ini.

Pengalaman pengguna

Satu-satunya perubahan yang diperlukan dalam GUI adalah dalam dialog pengaturan jaringan. Saat mengedit konfigurasi IP, kita perlu mengaktifkan bidang gateway untuk semua jaringan, bukan hanya ovirtmgmt. Jika pengguna memilih IP statis, maka bidang gateway harus ditambahkan dan dapat diedit. Jika DHCP dipilih maka bidang gateway harus terlihat dan menampilkan gateway yang dikonfigurasi melalui DHCP.
Solusi yang Diusulkan
Solusi Manual

Solusi manual, atau bagaimana admin sistem Linux mengatur beberapa gateway pada host adalah membuat tabel routing untuk setiap subnet IP yang dikonfigurasi pada host, dan aturan routing sumber untuk menggunakan setiap tabel sebagaimana mestinya. Berarti, jika sebuah paket ditakdirkan untuk IP yang dikonfigurasi pada eth0 host (Misalnya: 10.0.0.1), maka ketika membuat paket kembali, IP sumber akan 10.0.0.1. Tuan rumah kemudian akan pergi ke aturan yang dikonfigurasi dan melihat bahwa ketika routing dari 10.0.0.1, ia harus menggunakan tabel routing yang spesifik, yang memegang gateway untuk jaringan 10.0.0.0. Dengan kata lain, semua lalu lintas ke 10.0.0.1 akan kembali melalui NIC 10.0.0.1, dan semua lalu lintas ke IP host lain, sebagai gantinya akan kembali melalui NIC IP tersebut. Dengan begitu, lalu lintas keluar dengan cara yang sama seperti saat masuk.

Manual Configuration Example

Tuan rumah zeus02 terhubung melalui eth0 ke satu router, dan melalui eth1 (dijembatani lebih dari ovirtmgmt) ke router lain. Kami mengkonfigurasi jaringan display pada eth0 NIC.
The ip address on eth0:

The ip address on ovirtmgmt:

A list of the host’s routing tables:

The routing table setup for eth0:

The routing table setup for ovirtmgmt:

The rules which tell the host when to use each routing table:

And finally, here’s the host’s main routing table. Any traffic coming in to the host will use the ip rules and an interface’s routing table. The main routing table is only used for traffic originating from the host.

Solusi Otomatis

Solusi yang diusulkan adalah membuat skrip python yang mengharapkan alamat IP baru, subnet mask, nama jaringan, dan gateway. Script kemudian akan menggunakan perintah yang sesuai untuk menghasilkan tabel routing baru, mengisinya dengan dua baris: Satu untuk menghubungkan jangkauan ip jaringan dengan NIC, dan yang lain yang mendefinisikan gateway. Akhirnya, script akan menambahkan dua aturan baru yang menentukan kapan harus menggunakan tabel routing baru. Tentu saja, aturan menentukan untuk menggunakan tabel perutean baru setiap kali lalu lintas ditakdirkan ke atau dari jangkauan jaringan ip baru. Sebagai contoh, lihat bagian sebelumnya. Script lain akan dibuat yang membalikkan efek yang disebutkan di atas.

DHCP: Selama instalasi VDSM, skrip tambahan akan dibuat di bawah /etc/dhcp/dhclient.d/, disebut sourceRouting.sh. Kami akan menggunakan kait DHCP untuk memanggil skrip baru kami setiap kali antarmuka DHCP dinaikkan atau turun.

IP Statis: Kami akan memanggil skrip yang disebutkan di atas untuk antarmuka yang dikonfigurasi secara statis selama addNetwork dan delNetwork. Dua file akan dibuat selama addNetwork. delNetwork akan menghapus file yang sama. File-file tersebut adalah rute- dan aturan-, ditempatkan di / etc / sysconfig / network-scripts. Aturan perutean baru akan ditempatkan di file rute, dan aturan baru di file aturan. Kedua file ini dipanggil selama skrip ifup init.

Ringkasan: Beberapa kode gateway akan dipanggil setiap kali antarmuka DHCP naik atau turun (Via kait DHCP kami), dan akan membuat dan menghapus aturan yang diperlukan setiap kali dipanggil. Untuk antarmuka yang dikonfigurasi secara statis, itu akan dipanggil sekali selama addNetwork, dan sekali selama delNetwork. Ini berjalan akan menempatkan skrip init, yang pada gilirannya akan dipanggil selama ifup dan ifdown.
Perbaikan

Ketika sebuah host memutakhirkan ke VDSM yang mendukung beberapa gateway semua interface-nya tidak akan memiliki sumber routing yang dikonfigurasi. Setiap jaringan pengaturan baru akan mengonfigurasi perutean sumber pada jaringan / antarmuka yang terpengaruh. Karena implementasi saat ini menjadikan jaringan manajemen sebagai gateway default host, konektivitas tidak boleh hilang dan tidak ada skrip upgrade yang sebenarnya ditawarkan.
API
Vdsm

Keuntungan signifikan dari implementasi yang diusulkan saat ini adalah bahwa tidak ada perubahan API antara Engine dan VDSM diperlukan. VDSM mampu menyaring gateway dari kata kerja setupNetworks saat ini.
REST dan Engine

Saat ini, hanya ketika mengatur jaringan manajemen, gateway dapat ditentukan. Dengan fitur ini, setiap jaringan dengan alamat statis mungkin memiliki gateway, yang akan mengontrol perutean sumber untuk alamat itu.
Pengujian

    Siapkan jaringan seperti dijelaskan di atas. Yang paling penting, letakkan klien rempah-rempah Anda di luar subnet host sendiri.
    Pastikan lalu lintas rempah-rempah berjalan melalui host yang ditunjuk.
    Tes di atas dengan alamat statis dan DHCP.
Share:

Tidak ada komentar:

Posting Komentar

Postingan Populer

Recent Posts

Unordered List

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • Aliquam tincidunt mauris eu risus.
  • Vestibulum auctor dapibus neque.

Pages

Theme Support

Need our help to upload or customize this blogger template? Contact me with details about the theme customization you need.