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.
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.)Antworten:
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.
quelle
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
quelle