Wie bereits geschrieben, mir ist bewusst, dass bei nur einer Regel in einer Chain es keinen Unterschied macht, ob diese mit -I am Anfang oder mit -A am Ende angelegt wird, es ist so oder so die einzige Regel in der Chain. Ich finde es aber übersichtlicher, die Regeln mit -A anzulegen, weil sie dann in der Reihenfolge stehen, in der man sie nachher mit -L angezeigt bekommt und in der sie auch ausgewertet werden. Deswegen ist es mir zuerst auch nicht aufgefallen, dass da -I steht und deswegen die Reihenfolge anders herum ist. -I verwende ich nur dann, wen ich tatsächlich irgend etwas vorne einfügen möchte.
Der Grund, warum das Ping jetzt geht, sind ganz sicher die iptables Regeln. Die Regeln waren so erstellt, dass Masqerade geht, aber in der Box nichts ankommt.
Code:
Chain INPUT (policy ACCEPT 5319 packets, 550K bytes)
pkts bytes target prot opt in out source destination
[B]92[/B] 9180 DROP all -- ppp0 * 0.0.0.0/0 0.0.0.0/0
Hier kann man sehen, dass an dieser Regel 92 Pakete abgewiesen wurden.
Es passiert folgendes:
Ping sendet ein Paket über ppp0 hinaus. Es kommt eine Antwort über ppp0. Diese Antwort wird von iptables verworfen, Ping sieht die Antwort nicht.
Nslookup sendet ein Paket über ppp0 hinaus. Es kommt eine Antwort über ppp0. Diese Antwort wird von iptables verworfen, nslookup sieht die Antwort nicht.
Ein beliebiges Programm sendet Daten Paket über ppp0 hinaus. Es kommt eine Antwort über ppp0. Diese Antwort wird von iptables verworfen, das Programm zeigt irgendwann einen Timeout.
Mit FORWARD ist es anders, weil dort ESTABLISHED durchgelassen wurde. Wenn diese Regel nicht da gewesen wäre, dann hätte auch Masqerade nicht funktioniert, bzw. das Masqerade selbst hätte funktioniert, aber die Box hätte alle Antworten ebenfalls verworfen, was aus Sicht der Clients ebenfalls bedeutet hätte, dass auf nichts eine Antwort kommt.