Seite 1 von 1

(gelöst) iptables mit dnsmasq und DNS Sperrung

Verfasst: 09.05.2019 16:05:41
von trickykid
Hallo,

habe hier einen Laptop (192.168.178.22) der via wlan0 eine Fritzbox ansteuert und ins Internet geht. Auf dem Laptop habe ich dnsmasq installiert, der jetzt die DNS Auflösung betreibt. In der dnsmasq.conf habe ich

server=84.200.70.40

als den DNS Anfragen auflösenden Nameserver eingetragen. Das ist DNSwatch und nicht google.

Mache ich jetzt ein
dig +tcp google.com @8.8.8.8
wird der Nameserver von google genommen, weil die Abfrage ohne dnsmasq erfolgt. Ich könnte jetzt 8.8.8.8 sperren. Aber das will ich nicht.

Wie kann ich DNS Anfragen sperren, die von Konsoleingaben oder irgend einer Software stammen und nicht von dnsmasq?

Zum Testen habe ich diese Mini-Firewall:
#!/bin/sh

# Flush default policies
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -t raw -F
iptables -t raw -X

# Set default policies
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# Allow loopback traffic
iptables -I INPUT -i lo -j ACCEPT

# Test wegen Reihenfolge: blockieren
#iptables -A INPUT -s 8.8.8.8 -j DROP
#iptables -A OUTPUT -d 8.8.8.8 -j DROP

# Test wegen Reihenfolge: Portfreigabe
iptables -I INPUT -i wlan0 -p tcp --dport 51413 -j ACCEPT
iptables -I OUTPUT -o wlan0 -p tcp --sport 51413 -j ACCEPT

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

iptables -A FORWARD -i wlan0 -d 192.168.178.22 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Test (kommt das an letzte Stelle der iptables Regeln?)
iptables -t nat -A PREROUTING -p tcp --dport 53 -j DNAT --to 127.0.0.1:53
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 127.0.0.1:53
iptables -t nat -A POSTROUTING -j MASQUERADE
Unklar im Obigen ist mir, ob der dnsmasq mit OUTPUT oder PREROUTING angesprochen werden muß und in welcher Reihenfolge diese Anweisung stehen muß.

Mir ist grundsätzlich klar wie ich den DNS Port sperre. Mir ist nur nicht klar wie ich das in meine Regeln einbaue. Kann mir das bitte jemand zeigen?

Re: iptables mit dnsmasq und DNS Sperrung

Verfasst: 09.05.2019 23:27:25
von mat6937
trickykid hat geschrieben: ↑ zum Beitrag ↑
09.05.2019 16:05:41
Wie kann ich DNS Anfragen sperren, die von Konsoleingaben oder irgend einer Software stammen und nicht von dnsmasq?
Wenn dnsmasq unter dem user dnsmasq aktiv ist, dann versuch mal mit:

Code: Alles auswählen

iptables -I OUTPUT 1 -o <output-Interface> -p tcp --dport 53 -m owner ! --uid-owner dnsmasq -j REJECT
iptables -I OUTPUT 2 -o <output-Interface> -p udp --dport 53 -m owner ! --uid-owner dnsmasq -j REJECT

Re: (gelöst) iptables mit dnsmasq und DNS Sperrung

Verfasst: 10.05.2019 13:04:50
von trickykid
Danke @mat6937 !