Pytanie: Jak uruchomić program, upewniając się, że jego dostęp do sieci jest ograniczony przez określony interfejs sieciowy?
Przypadek: Chcę uzyskać dostęp do dwóch różnych komputerów o tym samym adresie IP (192.168.1.1), ale dostępnych za pośrednictwem dwóch różnych interfejsów sieciowych (eth1 i eth2).
Przykład:
net-bind -D eth1 -exec {Program 192.168.1.1}
net-bind -D eth2 -exec {Program 192.168.1.1}
Powyższe jest przybliżeniem tego, co chciałbym, zainspirowane wiązaniem sprzętowym wykonanym za pomocą primusrun i optirun .
Wyzwanie: Jak sugerowano w powiązanym wątku , używane interfejsy nie są wybierane przez program, lecz przez jądro (stąd powyższa składnia wstępnego wiązania).
Znalazłem kilka powiązanych rozwiązań, które są niezadowalające. Opierają się na powiązaniu interfejsów sieciowych za pośrednictwem czarnej listy sieci specyficznej dla użytkownika; tj. uruchomienie procesu jako użytkownik, który może uzyskać dostęp tylko do jednego określonego interfejsu sieciowego.