#!/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