Onde manipular pacotes entre clientes?

0

"Servidor": 192.168.1.1

Eu quero "teoricamente" desativar que os clientes possam "pingar" uns aos outros.

Posso usar uma regra iptables para isso? por exemplo:

iptables -A FORWARD -m iprange --src-range 192.168.1.2-192.168.1.255 --dst-range 192.168.1.2-192.168.1.255 -j DROP

É verdade que não consigo filtrar o tráfego entre os clientes? [ou pelo menos redirecionar esses pacotes para, por exemplo: o roteador?]

Se eu rodar o tcpdump no roteador ["servidor"] eu posso ver que um cliente [192.168.1.201] está pingando outro [192.168.1.162]

# tcpdump
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
12:22:26.931343 IP 192.168.1.201 > 192.168.1.162: ICMP echo request, id 12547, seq 141, length 64
12:22:27.819373 IP 192.168.1.201 > 192.168.1.162: ICMP echo request, id 12547, seq 142, length 64
12:22:28.819640 IP 192.168.1.201 > 192.168.1.162: ICMP echo request, id 12547, seq 143, length 64
    
por LanceBaynes 05.03.2011 / 12:49

2 respostas

1

Onde você deseja desativá-lo? Se todo o tráfego é executado através de um roteador ou switch que pode executar o iptables então sim, é simples.

Se você quiser bloqueá-lo em cada máquina, e todos eles executarem o iptables, então sim, novamente - simples.

Na maioria das implementações TCP / IP, você pode desaprovar o ICMP no final do cliente.

Quase todos os roteadores que permitem controles de acesso permitem bloquear o ICMP.

MAS ... você está 100% certo de que quer? Muitos aplicativos realmente gostam de um pouco de ping para mantê-los felizes: -)

    
por 06.03.2011 / 01:48
0

O que você tem em mente é por todos os meios viável. Se é um bom design, não sei dizer.

Eliminar todas as solicitações de eco ICMP destinadas ao roteador:

iptables -t filter -I INPUT -p icmp --icmp-type 8 -j DROP

Eliminar quaisquer pedidos de eco ICMP encaminhados

iptables -t filter -I FORWARD -p icmp --icmp-type 8 -j DROP

O motivo pelo qual você vê cada pacote de hosts é que eles provavelmente estão conectados por meio de um hub, que simplesmente replica o tráfego em um nível inferior. Deixar cair esses pacotes no servidor não os impedirá de chegar aos clientes.

Portanto, para que a última regra funcione, você terá que forçar os hosts a encaminhar todo o tráfego para o roteador. Isso é feito limitando a sub-rede de cada host ao seu próprio endereço (usando uma máscara de sub-rede de 255.255.255.252 para os hosts, enquanto mantém o 255.255.255.0 no roteador). Finalmente, você tem que adicionar uma rota estática a cada tabela de roteamento de hosts, para que ele possa encaminhar seus pacotes para o servidor:

ip r a 192.168.1.1/32 dev eth0

Nesta configuração, o roteador ainda pode executar ping em todos os hosts.

    
por 19.11.2011 / 11:45