Umfangreiche Dokumentation und Beispiele gibt es bei
http://www.netfilter.org. Die Sache mit den Chains ist in diesem Abschnitt ganz gut erklärt:
http://www.netfilter.org/documentation/ ... html#ss7.5
Aber das, was du vorhast, wird durch iptables leider nicht direkt abgedeckt. Das Problem, Clients mit wechselnden IP-Adressen gezielt Zugang zu gewähren, hatte ich auch schon und ich habe es mit einem selbstprogrammierten Stück Software gelöst. Die Netfilter können nur auf feste IP-Adressen filtern und leider nicht auf Hostnamen.
Zwar kann man mit
iptables -A INPUT -dport 80 -s irgend.ein.host.de -j ACCEPT erreichen, daß irgend.ein.host.de auf deinen Webserver zugreifen darf. Aber, die IP-Adresse für irgend.ein.host.de wird nur beim Aufruf von iptables aufgelöst, Danach wird nur noch auf die IP-Adresse von irgend.ein.host.de gefiltert. Ändert sich die IP-Adresse, stimmt die Regel nicht mehr, muß gelöscht werden und eine neue eingeführt werden. Der Server, bekommt aber von der IP-Adresseänderung zunächst nichts mit, und alle paar Minuten nachschauen, ob sich die IP geändert hat, ist ineffizient, vor allem, wenn die Anzahl der dynamischen Clients ein paar Duzend überschreitet.
Die Software, die ich dazu geschrieben habe, hat eine Liste von Hostnamen, denen Zugang gestattet wird, die z.B. bei einem DynDNS eingetragen sind. Kontaktiert nun einer dieser Clients meinen Server, besorge ich mir die IP-Adressen der erlaubten Hosts und vergleiche die reinkommende IP-Adresse mir der Liste der erlaubten und entscheide dann, ob der Client Zutritt bekommt. Dazu kann ich das QUEUE-Feature von iptables nutzen und die iptables-Regeln selbst statisch halten. Ein kleiner Daemon kümmert sich dann um die Zugangsentscheidung. libnetfiler-queue ist deine Freund, der alle dazu nötigen Funktionen zur Vefügung stellt.