Suponho que os usuários A e B estejam usando as mesmas máquinas Linux em que você é o administrador. (Não está completamente claro em sua pergunta. Se A e B têm computadores próprios nos quais são administradores, é um problema completamente diferente.)
O comando a seguir impedirá o usuário do uid 1234 de enviar pacotes na interface eth0
:
iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
Eu recomendo a leitura do guia iptables do Ubuntu para obter familiaridade básica com a ferramenta (e consulte a página de manual para obter informações avançadas, como a tabela mangle).
O usuário ainda poderá executar o ping (porque é raiz setuid), mas nada mais. O usuário ainda poderá se conectar a um proxy local se esse proxy tiver sido iniciado por outro usuário.
Para remover esta regra, adicione -D
ao comando acima.
Para tornar a regra permanente, adicione-a a /etc/network/if-up.d/my-user-restrictions
(torne esse um script executável começando com #!/bin/sh
). Ou use iptables-save
(consulte o guia iptables do Ubuntu para obter mais informações).
Eu não usaria o iptables para isso.
Suponho que A e B estejam associados aos IPs fixos ClientA e ClientB. Presumo que o seu proxy da Internet seja o ServerI (o seu Ubuntu-Server?).
Então, eu adicionaria uma entrada de roteamento de negar / soltar do ClientA para o ServerI.
Eu não uso o Ubuntu - portanto, não posso dizer qual arquivo de configuração usar para tornar essa configuração permanente (sobrevivendo a uma reinicialização).
Talvez alguém possa adicionar esse detalhe?
fonte