Řešení 1:
Potřebujete silný model koncového systému. Linux je v zásadě postaven na slabém modelu odesílání systému, takže to opravdu není dobrá volba OS pro tuto aplikaci.
Budete muset předstírat každou část chování, které potřebujete, od ARP přes směrování zásad až po výběr zdrojové adresy. Budete také potřebovat filtry, které zabrání přijetí paketů, pokud dorazí na špatné rozhraní.
Rozhodně nezbytné kroky jsou:
-
Nakonfigurujte arp_filter=1 a arp_ignore=2 na všech rozhraních.
-
Přidejte směrování pro odchozí provoz podle jednotlivých rozhraní. (Cílové rozhraní musí být zvoleno na základě zdrojové adresy.)
-
Přidejte filtrování vstupu pro jednotlivá rozhraní k tichému zahazování paketů přijatých na nesprávném rozhraní. (Pakety s cílovou adresou přiřazenou jinému rozhraní.)
Bohužel neexistuje shoda v tom, zda jsou tyto tři kroky vše, co je potřeba. Model slabého konce systému je zabudován do celého linuxového TCP/IP stacku a není jasné, co se může pokazit na jemných problémech, jako je multicast.
Není jasné, jak byste zvolili výstupní rozhraní například pro vysílání. Mělo by to zhasnout všechny? Možná. Jaké je správné chování, pokud zásobník obdrží odchozí vysílání se zdrojovou adresou, která není přiřazena žádnému z rozhraní?
Opět jste pro danou úlohu zvolili špatný nástroj.
Řešení 2:
Pravděpodobně budete chtít vytvořit most s rozhraními 8/9 a poté tomuto mostu přiřadit IP adresu (paket bridge-utils, příkaz 'brctl add').
Tímto způsobem bude most fungovat jako přepínač a může mít IP adresu do vaší podsítě.
Řešení 3:
Doporučil bych propojit fyzická rozhraní a poté nakonfigurovat všechny adresy na jednoduchém propojeném rozhraní.
Podporu budete potřebovat i na přepínači.
Zde je mini tutoriál, který můžete použít, abyste mohli začít.
Řešení 4:
Zdá se, že chcete testovací prostředí ekvivalentní 9 samostatným strojům a věřili jste, že 9 rozhraní na jednom počítači by to mohlo emulovat. V Linuxu to prostě nemůže udělat prostřednictvím jednoho zásobníku z důvodů, které popsal David Schwartz. BTDT a mají jizvy. Se 2 rozhraními to bylo dost špatné.
Lepším řešením může být provozovat 8 nebo 9 samostatných virtuálních strojů na jednom hostiteli a přemostit 8 nebo 9 rozhraní k těmto virtuálním strojům.