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:
-
Konfigurasikan arp_filter=1 dan arp_ignore=2 di semua antarmuka.
-
Tambahkan per-antarmuka, perutean berbasis sumber untuk lalu lintas keluar. (Antarmuka tujuan harus dipilih berdasarkan alamat sumber.)
-
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.