Na verdade, tenho dois cenários para aplicar isso:
Área de trabalho multissetorial: duas conexões de rede com gateways da Internet e duas contas executando tarefas que exigem muita largura de banda em cada uma. Quero dividi-los para que uma conta use apenas eth0 e a segunda conta use eth1.
Servidor: tenho dois IPs em um servidor e quero garantir que o usuário do email envie apenas emails do segundo IP (apelido eth0: 1)
O segundo provavelmente pode ser IPTabled (apenas não sei como) para rotear o tráfego de email por essa interface, mas o primeiro será lidar com todos os tipos de tráfego, por isso precisa ser baseado no usuário. Se houver uma solução baseada no usuário, eu poderia aplicar isso nos dois lugares.
-m owner
. É bastante confiável com TCP e UDP, mas outros tipos não são tão confiáveis. A única maneira confiável de atingir esse 100% é com VMs ou contêineres.Você pode configurar duas máquinas virtuais na máquina física e configurar a ponte da interface de rede para que uma VM use eth0 e a outra VM use eth1. Consulte a seção de documentação da caixa virtual sobre rede em ponte .
fonte
Não sei se isso é possível para o primeiro ponto. Você deseja fazer alguma manipulação de roteamento com base no ID do usuário. A última vez que verifiquei, não vi essa possibilidade.
Para o segundo ponto, não são as tabelas de ip que você deseja usar, mas o iproute2 (http://lartc.org/howto/ e http://www.policyrouting.org/iproute2.doc.html para o documento completo). É a substituição dos comandos ifconfig / route, pois eles são considerados obsoletos. O iproute2 permite rotear pacotes de acordo com sua origem. É isso que você quer
fonte