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