Zugriff auf Port 80 und 443 nach Hinzufügen von Iptables-Regeln nicht möglich

0

In meinem CentOS 6 habe ich IPtables-Regeln wie DROP hinzugefügt, die alle Richtlinien mögen

iptables -P EINGABETROPFEN

Dann erlaube ich Port Nr. 22,80,443 mit diesem Befehl,

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

Jetzt kann mit Putty auf SSH zugegriffen werden. Aber ich kann nicht auf das Internet zugreifen. Ich muss das genaue Problem kennen. Bitte hilf mir.

Ganeshgm7
quelle
Sie gestatten eingehenden Datenverkehr zu den lokalen Ports 80, 443, 22, aber gestatten Sie den von Ihren ausgehenden Verbindungen zurückgesendeten Datenverkehr (der sich von dem unterscheidet, was Sie anzeigen) wieder in? (Sie benötigen eine ähnliche Regel wie iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT dafür. In den meisten Situationen sollte dies eine der ersten Regeln in der Kette sein.)
a CVn

Antworten:

0

Um dies genau zu diagnostizieren, müssten Ihre IPTables-Regeln angezeigt werden. Diese können Sie mit 'iptables -vnL' bereitstellen.

IPTables-Regeln sind auftragsspezifisch.

Wahrscheinlich haben Sie eine "DENY" -Regel vor den gerade hinzugefügten -A-Regeln. Ich bin mir ziemlich sicher, dass Redhat / CentOS standardmäßig Port 22 in der Standardkonfiguration zulässt, aber nicht die anderen Ports - weshalb SSH funktioniert. Sie können diese Theorie einfach testen, indem Sie "-A INPUT" in "-I INPUT" ändern. Das -I fügt die Regeln am Anfang des Filters ein, das -A am Ende.

Erneut zeigt die Verwendung von iptables -vnL die Zähler an. Wenn Sie eine kontrollierte Umgebung haben, kann dies Ihnen dabei helfen, herauszufinden, welche Regel auf welches Paket zutrifft.

davidgo
quelle
0

Erstens können wir sehen, alle Ihre Regeln nicht, aber Sie müssen diese für sicher.

iptables -I INPUT 1 -m conntrack -j ACCEPT --ctstate RELATED, ESTABLISHED

cybernard
quelle