GNU/Linux >> Belajar Linux >  >> Linux

beberapa antarmuka fisik dengan IP pada subnet yang sama

Solusi 1:

Anda memerlukan model sistem akhir yang kuat. Linux pada dasarnya dibangun dengan model sistem pengiriman yang lemah, jadi itu bukanlah pilihan OS yang baik untuk aplikasi ini.

Anda harus memalsukan setiap bagian dari perilaku yang Anda butuhkan, mulai dari ARP hingga perutean kebijakan hingga pemilihan alamat sumber. Anda juga memerlukan filter untuk mencegah paket diterima jika tiba di antarmuka yang salah.

Langkah-langkah yang pasti diperlukan adalah:

  1. Konfigurasikan arp_filter=1 dan arp_ignore=2 di semua antarmuka.

  2. Tambahkan per-antarmuka, perutean berbasis sumber untuk lalu lintas keluar. (Antarmuka tujuan harus dipilih berdasarkan alamat sumber.)

  3. Tambahkan pemfilteran ingress per antarmuka untuk secara diam-diam menjatuhkan paket yang diterima pada antarmuka yang salah. (Paket dengan alamat tujuan yang ditetapkan ke antarmuka lain.)

Sayangnya, tidak ada konsensus tentang apakah hanya tiga langkah ini yang diperlukan. Model sistem ujung lemah dibangun ke seluruh tumpukan TCP/IP Linux, dan tidak jelas apa yang salah dengan masalah halus seperti multicast.

Tidak jelas bagaimana Anda akan memilih antarmuka keluaran untuk siaran, misalnya. Haruskah itu keluar semua? Mungkin. Apa perilaku yang tepat jika tumpukan mendapatkan siaran keluar dengan alamat sumber yang tidak ditetapkan ke salah satu antarmuka?

Sekali lagi, Anda telah memilih alat yang salah untuk pekerjaan itu.

Solusi 2:

Anda lebih mungkin ingin membuat jembatan dengan antarmuka 8/9 lalu menetapkan alamat IP ke jembatan tersebut (paket bridge-utils, perintah 'brctl add').

Dengan cara ini jembatan akan bertindak seperti saklar dan dapat memiliki alamat IP ke dalam subnet Anda.

Solusi 3:

Saya akan merekomendasikan menggabungkan antarmuka fisik kemudian mengonfigurasi semua alamat pada antarmuka terikat tunggal.

Anda juga memerlukan dukungan di sakelar.

Berikut adalah tutorial mini yang dapat Anda gunakan untuk memulai.

Solusi 4:

Tampaknya Anda menginginkan lingkungan pengujian yang setara dengan 9 mesin terpisah, dan percaya bahwa 9 antarmuka pada satu mesin dapat meniru itu. Di Linux itu tidak bisa melakukan ini melalui satu tumpukan karena alasan yang dijelaskan David Schwartz. BTDT dan memiliki bekas luka. Itu sudah cukup buruk dengan 2 antarmuka.

Solusi yang lebih baik mungkin dengan menjalankan 8 atau 9 mesin virtual diskrit di satu host Anda, dan menjembatani 8 atau 9 antarmuka ke mesin virtual ini.


Linux
  1. 3 trik untuk mendapatkan beberapa perintah output di baris yang sama

  2. Jalankan beberapa perintah paralel sekaligus di terminal yang sama

  3. Mengapa kernel dipetakan ke ruang alamat yang sama dengan proses?

  1. Bagaimana cara menjalankan beberapa proses Tor sekaligus dengan IP keluar yang berbeda?

  2. Bagaimana saya bisa menjalankan perintah yang berbeda tetapi dengan argumen yang sama?

  3. Memunculkan jendela terminal baru dengan direktori yang sama dengan jendela sebelumnya

  1. Mengapa Beberapa Instance Mate-terminal Memiliki Pid yang Sama?

  2. Bagaimana cara mengontrol alamat IP sumber dari paket ZeroMQ pada mesin dengan banyak IP?

  3. Bagaimana saya bisa mengetahui alamat IP pengguna lain yang login di mesin jarak jauh yang sama?