Ich kann nur Annahmen treffen, da Sie Ihre Standardrichtlinien nicht aufgelistet haben. Gefunden oben in der Ausgabe von iptables -S. Ich gehe davon aus, dass Sie restriktiv sind und so etwas haben.
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP
Großartig! Ihr Computer ist jetzt in Bezug auf IP-Pakete völlig unsichtbar, mit verbundenen Augen, gebunden und geknebelt. Dies ist fast so gut wie das Trennen von Ihrem Ethernet-Netzwerk.
Wenn Sie also Hoffnung in dieser grausamen, dunklen Welt haben möchten, müssen Sie einige Regeln aufstellen, um einige Pakete anzunehmen, vielleicht jemanden mit einem Messer treffen, mit dem Sie Ihre Seile schneiden können, aber welche Pakete sind die richtigen?
Eine Ausgaberegel ist erforderlich, damit Pakete die Ports erreichen können, die die Server für den http / https-Verkehr verwenden
-A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Eine INPUT-Regel ist erforderlich, damit Pakete von Ports, die für den http / https-Verkehr verwendet werden, in Ihren Browser gelangen.
-A INPUT -p tcp -m multiport --sports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
Jetzt können Sie über Ihren Webbrowser NEUE http / https-Verbindungen herstellen und Informationen erhalten, die über diese EINGESETZTEN Verbindungen zurückkommen.
Was ist dann das Problem? Es gibt keine Möglichkeit, DNS-Informationen abzurufen. Sie sollten in der Lage sein, die IP-Adresse der Websites, die Sie besuchen möchten, in Ihren Webbrowser einzugeben, aber genau das möchten wir nicht. Der DNS-Verkehr wird über Port 53 mit dem UDP-Protokoll verarbeitet.
-A OUTPUT -p udp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Und um diese praktischen Antworten zu erhalten, müssen wir noch einige Löcher in diese Augenbinde schneiden.
-A INPUT -p udp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT
Jetzt gibt es etwas Licht, das Sie hören können, wenn Sie eine DNS-Abfrage an einen der Server von Google senden
dig @8.8.8.8 slashdot.org
Eine solche Antwort! Aber vielleicht kann Ihr Browser immer noch nicht herausfinden, wo sich Slashdot wirklich auf der Welt befindet. Mindestens eine Distribution (Ubuntu) ist für die Verwendung eines internen DNS-Proxys eingerichtet, sodass Sie in der Lage sein müssen, mit sich selbst zu sprechen (der Rest der Welt ist sowieso langweilig), indem Sie Regeln einrichten, auf denen Sie als Server kommunizieren können Port 53
-A OUTPUT -o lo -p udp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A INPUT -i lo -p udp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Beachten Sie den subtilen Unterschied zwischen diesen Regeln "Ich bin mein eigener Server" und den vorherigen Regeln "Ich möchte nur die Weltregeln sehen". Auch -o lound -i lozeige an, dass dieser Server nur diese Maschine dienen, ein gutes Maß zu vermeiden , dass gesaugt in einen komplizierten DNS - Bounce - Typ Angriff.
Sie sollten jetzt sehen, dass Ihr Browser wieder funktioniert.