Wenn du das schon durchgelesen und verstanden hast, verstehe ich deine Frage nicht. Deine Firewallregeln sind hoffentlich besser geworden denn du reduzierst durch deine Regeln die Möglichkeiten von iptables auf einen statischen Paketfilter. Wie sich so etwas mit stateful inspection einrichten lässt findest du hier:
http://www.linux-club.de/viewtopic.php?t=21303
Es gibt prinzipiell zwei Möglichkeiten bestimmte IP-Adressen in eine iptables Firewall einzubinden. Zum einen über eine Schleife, hier ein Beispiel um Webverkehr von bestimmten Rechnern aus dem LANzu erlauben, für hin und rücklaufende Pakete
Code:
ALLOW_HOSTS="192.168.100.1 192.168.100.2 10.0.0.3 10.0.0.4"
for ADRESS in $ALLOW_HOSTS; do
/usr/sbin/iptables -A FORWARD -i $INTERFACE_EXT -o $INTERFACE_INT -m state --state NEW,ESTABLISHED,RELATED -d $ADRESS -p tcp --dport 80 --sport 1024:65535 --j ACCEPT
/usr/sbin/iptables -A FORWARD -i $INTERFACE_INT -o $INTERFACE_EXT -m state --state ESTABLISHED,RELATED -s $ADRESS -p tcp --sport 80 --dport 1024:65535 --j ACCEPT
done
Diese Regelpaare setzen das Prinzip verbiete alles/erlaube einiges vorraus und zwar auch für den rücklaufenden Tansfer (Es gibt andere Designs, die zum Beispiel Pakete, die als established und related gelten grundsätzlich passieren lassen oder die alles erlauben und einiges verbieten).
Eine zweite Möglichkeit besteht darin mit Subnetting zu arbeiten. So kann man intern mit einer völlig normalen Nertzwerkmaske arbeiten und auf der Firewall mit einer modifizierten. Man sollte dann nur die entprechenden Netzwerk- und Broadcastadressen die mit der modifizierten Subnetmask entstehen nicht belegen, weil diese sonst durch die Firewall nicht erfasst werden würden.
Für jedes Subnetz kann man dann die Regeln explizit formulieren.
Beispiel:
Code:
/usr/sbin/iptables -A FORWARD -i $INTERFACE_EXT -o $INTERFACE_INT -m state --state NEW,ESTABLISHED,RELATED -d 192.168.100.128/25 -p tcp --dport 80 --sport 1024:65535 --j ACCEPT
/usr/sbin/iptables -A FORWARD -i $INTERFACE_INT -o $INTERFACE_EXT -m state --state ESTABLISHED,RELATED -s 192.168.100.128/25 -p tcp --sport 80 --dport 1024:65535 --j ACCEPT
Hier wird nur den Rechnern im Adressenbereich von 192.168.100.129 bis 192.168.100.253 der http-Zugang ermöglicht während Rechner des Adressenbereiches von 192.168.100.1 - 192.168.100.125 der Zugang vewehrt bleibt, immer das Design verbiete alles /erlaube einiges vorausgesetzt. Da das Subnetting nur auf der Firewall stattfindet, bleibt das interne Netz unberührt, nur dass neben den Adressen 192.168.100.0 und 192.168.100.255 auch die Adressen 192.168.100.126 und 192.168.100.127 als Broadcastadresse des 1. Subnet bzw. als Netzwerkadresse des 2. Subnet nicht belegt werden sollten.
Beide Prinzipien haben Vor- und Nachteile. Mit dem Subnetting lässt sich mit einer Regel gleich ein ganzes Bündel von Rechnern erfassen, man ist aber angewiesen die IP-Adresse entsprechend der Netzwerkmaske zu vergeben. Dagegen erzeugt die Schleife für jede Adresse eine eigene Regel, ist aber flexibler, nicht von Subnetzmasken abhängig und man kann Rechnernamen statt IP-Adressen verwenden was sich in Umgebungen mit DHCP als notwendig erweisen kann.
mfG
gaw