D'abord je ne connais pas ipcop (de nom slt)... mais je connais bien iptables...
Si g bien compris le orange correspond à la DMZ, le vert le LAN et le red le NET...
Je te décrypte les 3 règles ke tu as écrites :
/sbin/iptables -A FORWARD -i $ORANGE_DEV -o ipsec+ -j DROP
Tout ce qui passe par ton interface DMZ à destination de ta connexion IPSEC (VPN) est refusé sans retour d'erreur (avec DENY tu auras un retour d'erreur)
/sbin/iptables -A FORWARD -i $ORANGE_DEV -p tcp -o ! $GREEN_DEV -j ACCEPT
Tout ce qui passe par TA DMZ (en TCP) et qui n'est pas destiné à ton réseau local est accepté; avec la règle précédente cela revient à dire que seul le traffic depuis ta DMZ vers le NET sera autorisé.
/sbin/iptables -A FORWARD -i $ORANGE_DEV -p udp -o ! $GREEN_DEV -j ACCEPT
Idem mais avec l'UDP
C'est toutefois logique : la DMZ laisse l'accès au net, et les personnes naviguant dans ta DMZ ne doivent pas se ballader sur le LAN ...
Tu peux peut etre essayer de reprendre la règle qui autorise les machines du LAN (de tous tes sites distants) à communiquer entre elles, ca devrait ressembler à ça (ba je n'ai pas le script du firewall ss les yeux..) :
iptables -A FORWARD -i $GREEN_DEV -o ipsec+ -p ALL -j ACCEPT
pour tester, juste pour voir si cela marche rajoute la ligne (en gras devant la regle avec DROP) ,sur deux de tes passerelles :
/sbin/iptables -A FORWARD -i $ORANGE_DEV -o ipsec+ -p icmp -j ACCEPT
/sbin/iptables -A FORWARD -i $ORANGE_DEV -o ipsec+ -j DROP
Essayes de pinger entre deux des machines des DMZ, cela devrait passser ...
Ensuite à toi de voir quels sont tes besoins afin de les faire communiquer, que veux tu réellement faire ?
Dans ce cas tu restreinds tes règles au strict minimum.
un bon tuto pour Netfilter :
http://christian.caleca.free.fr/netfilter