Posso ter uma tabela de roteamento diferente para usuários diferentes?

4

Minha máquina Linux tem duas contas. Eu quero definir gateway padrão diferente para as contas diferentes. Como posso fazer isso, se for possível?

    
por kev 06.05.2015 / 04:05

1 resposta

2

A tabela de roteamento é uma coisa do sistema, e não específica do usuário. Então, não é realmente simples.

Os passos são os seguintes:

1: crie as várias tabelas de roteamento com o uso extensivo dos comandos ip route e ip rule .

2: Configure o iptables para marcar os pacotes de saída com base no UID do processo do remetente.

3: Configure suas tabelas de roteamento com base nas marcas (que os pacotes de saída receberam do iptables).

A solução será que todos os processos pertencentes a um usuário usarão a tabela de roteamento alternativa.

Extensão # 1: Infelizmente, o ip route e o ip rule não estão realmente bem documentados. Mas você pode criar várias tabelas de roteamento com suas diferentes regras. Cuidado: eles são tabelas de roteamento, uma coisa totalmente diferente como o iptables! E o truque é que você pode "marcar" pacotes no iptables, o que essencialmente significa que você pode dar a eles um único valor inteiro. E finalmente, você pode configurar as regras do iptables para rotear outras formas (com outras tabelas de roteamento) dos pacotes marcados. Ele é limpo e funciona bem, mas não é bem documentado.

Extensão # 2: AFAIK ip rule é o comando para manipular as múltiplas entidades da tabela de roteamento. Com ip route , você também pode definir em qual tabela de roteamento deseja inserir (modificar) uma determinada rota.

Extensão # 3: Alterar as tabelas de roteamento dos pacotes de saída pelo iptables não é trivial, este post faz o que também por mim funcionou.

    
por 06.05.2015 / 06:04

Tags