Grundlegendes Linux Iptables-Firewallproblem

Grundlegendes Linux Iptables-Firewallproblem

Nach der Eingabe dieser Befehle in ein Terminal auf einem Host mit installiertem Iptables werden nach der Verbindung mit einem drahtlosen Netzwerk mit Internetzugang keine Webseiten geladen.

Ich weiß, es ist etwas Einfaches, aber ich weiß nicht was.

sudo iptables --policy INPUT DROP
sudo iptables --policy OUTPUT DROP
sudo iptables --policy FORWARD DROP

sudo iptables -A OUTPUT -j ACCEPT -p tcp --destination-port 53

sudo iptables -A OUTPUT -j ACCEPT -p tcp --destination-port 80

sudo iptables -A OUTPUT -j ACCEPT -p tcp --destination-port 443

sudo iptables -A OUTPUT -j ACCEPT -p udp --destination-port 53


sudo /sbin/iptables-save

Aufgelistete Konfiguration nach vorherigen Befehlen:

user@debian:~$ sudo iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain


user@debian:~$ sudo iptables -L -v
Chain INPUT (policy DROP 1095 packets, 131K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy DROP 33 packets, 2574 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:domain
    8   480 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:http
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:https
 1072 70910 ACCEPT     udp  --  any    any     anywhere             anywhere             udp dpt:domain

In diesem Fall suche ich nur nach grundlegendem DNS, HTTP und HTTPS. Was ist falsch?

Antwort1

sudo iptables --policy INPUT DROP

Dies lässt standardmäßig jeden eingehenden Datenverkehr fallen. Sie haben keine Regel, die Ausnahmen von dieser Richtlinie macht, d. h. Sie haben nur OUTPUT-Regeln, die ausgehenden Datenverkehr zulassen. Normalerweise hätte man zumindest eine Regel, die von innen hergestellte Input-Matching-Verbindungen zulässt, wie:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

verwandte Informationen