Squid ou Iptables? Servidor de Internet
Como vai amigos , gostaria de uma grande ajuda, estou montando um servidor de internet e os clientes deste servidor serão residenciais e não uma empresa, portanto se eu conectar todos na rede do meu servidor os pcs destas residencias serão unidos em uma rede só e consequentimente terão acesso aos pcs uns dos outros, pois bem, como eu faço para isso não acontecer, ou seja, o PC1 com o IP 192.168.1.100 não ter acesso ao PC2 192.168.1.101? Não vai dar para criar uma classe para cada PC pois afinal de contas serão uns 20 clientes, uso Squid ou Iptables para fazer isso? Como? Desde já agradeço a todos vcs, um abraço!!!
Sim uma classe para cada um e ultilize um script para fazer isso
#!/bin/sh
eth="eth1"
c=1
while [ "$c" != "100" ];do
echo "ifconfig $eth.$c 192.168.$c.1 netmask 255.255.255.252 broadcast 192.168.$c.3"
echo "iptables -A FORWARD -s 192.168.$c.2 -d 192.168.$c.1 -j ACCEPT"
echo "iptables -A FORWARD -s 192.168.$c.1 -d 192.168.$c.2 -j ACCEPT"
echo "iptables -A FORWARD -s 192.168.$c.2 -d ! 192.168.$c.1 -j DROP"
c=`expr $c + 1`
done
Um for basico até 100 a primeira linha escreve a interface fechada em 2 hosts a segunda permite a conversação para um lado, cliente -> gateway.
A terceira permite do gateway para o cliente e a ultima bloqueia qualquer tentativa de um ip de cliente conversar com qualquer outro que seja diferente de seu gateway ;)
Se ele tem que passar pelo gateway para conversar ele nao vai conversar agora tem o seguinte nao se esqueca de protocolos de L2 como spanning tree, smb que digamos deflagram outras redes e se por algum acaso um cliente trocar de ip ele vai enxergar o outro gateway, ai nesse caso somente um switch gerenciavel com a capacidade de fazer vlan por porta ou no protocolo 8021Q.
Abraço