Mam dwa scenariusze, aby to zastosować:
Multiseat Desktop: dwa połączenia sieciowe, oba z bramami internetowymi i dwa konta wykonujące zadania wymagające dużej przepustowości na każdym z nich. Chcę je podzielić, aby jedno konto używało eth0, a drugie konto tylko eth1.
Serwer: Mam dwa adresy IP na serwerze i chcę się upewnić, że użytkownik poczty wysyła wiadomości e-mail tylko z drugiego adresu IP (alias eth0: 1)
Druga może być prawdopodobnie IPTabled (po prostu nie wiem jak), aby kierować ruchem e-mail przez ten interfejs, ale pierwsza będzie zajmować się wszelkiego rodzaju ruchem, więc musi być oparta na użytkownikach. Jeśli istnieje rozwiązanie oparte na użytkownikach, mogę zastosować to w obu miejscach.
-m owner
. Jest dość niezawodny z TCP i UDP, ale inne typy nie są tak niezawodne. Tylko niezawodny sposób, aby osiągnąć ten jest w 100% z VM lub pojemnikach.Można skonfigurować dwie maszyny wirtualne na maszynie fizycznej i skonfigurować interfejs sieciowy tak, aby jedna maszyna wirtualna używa eth0, a druga maszyna wirtualna używa eth1. Zobacz sekcję dokumentacji wirtualnego modułu na temat mostkowania sieci .
źródło
Nie jestem pewien, czy to możliwe w pierwszym punkcie. Chcesz wykonać manipulację routingu na podstawie identyfikatora użytkownika. Ostatnim razem, gdy sprawdzam, nie widziałem tej możliwości.
Po drugie, to nie jest iptables, których chcesz użyć, ale iproute2 (http://lartc.org/howto/ i http://www.policyrouting.org/iproute2.doc.html dla pełnego dokumentu). Zastępuje on polecenia ifconfig / route, ponieważ są one uważane za przestarzałe. iproute2 pozwala ci kierować pakietami według źródła. To jest to czego chcesz
źródło