Impedir que "usuários" façam NAT para "sua" rede internet
Existe alguma possibilidade de impedir que "usuários" façam NAT para "sua" rede internet? Hoje o servidor amarra IPxMAC para um computador de um "usuário" acessar a internet. Gostaria de impedir que ele (o usuario) fizesse NAT para outras máquinas de sua rede internet e/ou limitar o numero de maquinas para NAT da rede internet dele.
Re: Impedir que "usuários" façam NAT para "sua" rede internet
Eu achava que não tinha jeito, mas outro dia olhando aqui no fórum eu achei um post que falava sobre isso. O negócio é utilizar o TTL (Time To Live) do pacote para bloquear.
Re: Impedir que "usuários" façam NAT para "sua" rede internet
Agradeço demais a atenção, mas já procurei incansavelmente algo sobre o assunto e infelizmente não encontrei. Talvez seja a palavra chave na busta, por fim estou pesquisando agora no www.netfilter.org. Mas se alguém já fez isso e quiser me mostrar o link para que possa me virá ou até mesmo já passa o bisu.
Desde já to agradecendo.
Pelo menos uma luz. Utilizar o TTL (Time To Live). Já usei o man iptables mas não conseguir montar um sintaxe compreensivel para esse fim.
Re: Impedir que "usuários" façam NAT para "sua" rede internet
Na verdade a solução do problema é mais conceitual do que difícil.
A definição de TTL é o tempo de vida do pacote até que ele alcance o seu destino. O TTL de um pacote pode depender do sistema operacional da máquina destino e da região em que o host se encontra. Para cada nó da rota, é subtraído 1 número do TTL do pacote.
Seguindo esse conceito, você há de concordar comigo que um roteador sob o seu domínio vai passar por 2, 3 nós até chegar ao seu servidor, que estará rodando IPTables. Então você pode montar algo mais ou menos assim (Não posso afirmar com certeza porque eu estou na faculdade e aqui só tem Microsoft Windows):
Existe um módulo do IPTables que permite setar e identificar o TTL de um pacote que esteja passando por ele:
Código :
# iptables -t nat -A PREROUTING -s $cliente -j TTL --set-ttl 2
# iptables -t nat -A FORWARD -m ttl --ttl-gt 62 -j DROP
Estes são apenas exemplos para você ter uma idéia do quadro inteiro, mas eu recomendo que você dê uma lida no Wikipedia sobre o conceito e depois dê uma caçada no Google sobre o assunto. Se você digitar como chave de pesquisa a string "-m ttl" netfilter vai encontrar a solução pro seu problema com certeza.
Re: Impedir que "usuários" façam NAT para "sua" rede internet
Blz,
Ajudou bastante, infelizmente não consegui fazer na prática, mas já compreendir. O ttl do pacote é decrementado 1 a cada roteador que passa. No entanto o que irá solucionar parte desse problema será ajustar o valor do ttl para "1" na entrega do pacote ao ip do cliente. Tentei a seguinte sintaxe:
root@server:~# iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 1
iptables: No chain/target/match by that name
porém diz que não conhece o chain... em fim. Por quê?
Bom, digo parte do problema pois a limitação do numero de pontos adicionais depois do roteador cliente ser controlado tbm através do server.
Vamos estudar que conseguimos... bola pra frente.