Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:android_-_dns-problem

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:android_-_dns-problem [2014/01/04 10:00] – [iptables: NAT-Forward] klaustachtler:android_-_dns-problem [2014/01/04 10:27] (aktuell) – [Problem] klaus
Zeile 4: Zeile 4:
   * **''8.8.8.8''**   * **''8.8.8.8''**
   * **''8.8.4.4''**   * **''8.8.4.4''**
-durchzuführen, und **__nicht__** gegen meinen eignen im heimischen Netzwerk befindlichen DNS-Server ([[https://www.isc.org/downloads/bind/|ISC BIND]]).+durchzuführen, und **__nicht__** gegen meinenim heimischen Netzwerk befindlichen DNS-Server([[https://www.isc.org/downloads/bind/|ISC BIND]]).
  
-Obwohl ich meinem Mobiltelefon mit meinem eigenen DHCP-Server beim beziehen einer IP-Adresse auch den DNS-Server-Eintrag übermittle. (**Auszug aus meiner [[https://www.isc.org/downloads/dhcp/|ISC DHCP]]-Konfiguration**):+Firewall Verstöße aus **''/var/log/messages''** - (**nur relevanter Ausschnitt**): 
 +<code> 
 +... 
 +Jan  3 22:10:14 rechner01 kernel: FORWARD Defend IN=eth0 OUT=eth0 SRC=192.168.0.12 DST=8.8.8.8 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=0 DF PROTO=UDP SPT=38163 DPT=53 LEN=40 
 +Jan  3 22:10:14 rechner01 kernel: FORWARD Defend IN=eth0 OUT=eth0 SRC=192.168.0.12 DST=8.8.4.4 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=0 DF PROTO=UDP SPT=34705 DPT=53 LEN=40 
 +... 
 +</code> 
 + 
 +===== Problem ===== 
 + 
 +Ich übermittle meinem Mobiltelefon mit meinem DHCP-Server im heimischen Netzwerk beim beziehen einer IP-Adresse auch den DNS-Server-Eintrag. (**Auszug aus meiner [[https://www.isc.org/downloads/dhcp/|ISC DHCP]]-Konfiguration**):
  
 <code ini> <code ini>
Zeile 19: Zeile 29:
 </code> </code>
  
-Aufgrund dieser vielleicht gewollten oder auch ungewollten Ignoranz meines Mobiltelefons, wollte ich die Firewall Verstöße nicht länger sehen.+:!: **Dies wird jedoch von meinem Mobiltelefon __IGNORIERT__ !!!** 
 + 
 +Aufgrund dieser vielleicht gewollten oder auch ungewollten Ignoranz meines Mobiltelefons, wollte ich die Firewall Verstöße nicht länger sehen **und** auch mein Mobiltelefon im heimischen Netzwerk, meinen DNS-Server [[https://www.isc.org/downloads/bind/|ISC BIND]] **ausschließlich** nutzen lassen.
  
-Ein mögliche **Lösung** für dieses **Problem** ist ein +Mögliche **Lösungen** für dieses **Problem** sind 
-  **Transparenter DNS-Server**, realisiert durch **NAT auf meinem Gateway/Router** via **''iptables''**!+  **Transparenter DNS-Server**, realisiert durch **NAT auf meinem Gateway/Router** via **''iptables''**! 
 +  - **Transparenter DNS-Server**, realisiert durch **NAT auf einen DNS-Server** via **''iptables''**!
  
 ===== iptables: NAT-Gateway/Router ===== ===== iptables: NAT-Gateway/Router =====
Zeile 28: Zeile 41:
 :!: **HINWEIS** - Beispiel mit DNS-Server auf dem Gateway/Router! :!: **HINWEIS** - Beispiel mit DNS-Server auf dem Gateway/Router!
  
-Im folgendem Beispiel sind nachfolgendem Ergänzungen im Regelsatz von **''iptables''** durchzuführen, um +Im folgendem Beispiel sind nachfolgende Ergänzungen im Regelsatz von **''iptables''** durchzuführen, um 
   - Alle DNS-Anfragen **TCP/UDP** auf **Port 53** umzuleiten   - Alle DNS-Anfragen **TCP/UDP** auf **Port 53** umzuleiten
   - Dies **transparent** (unsichtbar) für das jeweilige Endgerät   - Dies **transparent** (unsichtbar) für das jeweilige Endgerät
Zeile 56: Zeile 69:
 </code> </code>
  
-Ein erneute Abfrage des ''iptables''-Regelwerts, sollte dann nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann:+Eine erneute Abfrage des ''iptables''-Regelwerts, sollte dann in etwa nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann:
 <code> <code>
 # iptables -t nat -L -nv --line-numbers # iptables -t nat -L -nv --line-numbers
 Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes) Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 num   pkts bytes target     prot opt in     out     source               destination num   pkts bytes target     prot opt in     out     source               destination
-1        0     0 DNAT       tcp  --  eth1   *       192.168.0.0/24       0.0.0.0/          tcp dpt:53 to:192.168.0.1:53 +1        0     0 DNAT       tcp  --  eth0   *       192.168.0.0/24       0.0.0.0/          tcp dpt:53 to:192.168.0.1:53 
-2        0     0 DNAT       udp  --  eth1   *       192.168.0.0/24       0.0.0.0/          udp dpt:53 to:192.168.0.1:53+2        0     0 DNAT       udp  --  eth0   *       192.168.0.0/24       0.0.0.0/          udp dpt:53 to:192.168.0.1:53
  
 Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
Zeile 74: Zeile 87:
 <code> <code>
 ... ...
-1        0     0 DNAT       tcp  --  eth1   *       192.168.0.0/24       0.0.0.0/          tcp dpt:53 to:192.168.0.1:53 +1        0     0 DNAT       tcp  --  eth0   *       192.168.0.0/24       0.0.0.0/          tcp dpt:53 to:192.168.0.1:53 
-2        0     0 DNAT       udp  --  eth1   *       192.168.0.0/24       0.0.0.0/          udp dpt:53 to:192.168.0.1:53+2        0     0 DNAT       udp  --  eth0   *       192.168.0.0/24       0.0.0.0/          udp dpt:53 to:192.168.0.1:53
 ... ...
 </code> </code>
Zeile 85: Zeile 98:
 </code> </code>
  
-===== iptables: NAT-Forward =====+===== iptables: DNS-Server =====
  
 :!: **HINWEIS** - Beispiel mit DNS-Server Weiterleitung! :!: **HINWEIS** - Beispiel mit DNS-Server Weiterleitung!
  
-Im folgendem Beispiel sind nachfolgendem Ergänzungen im Regelsatz von **''iptables''** durchzuführen, um +Im folgendem Beispiel sind nachfolgende Ergänzungen im Regelsatz von **''iptables''** durchzuführen, um 
   - Alle DNS-Anfragen **TCP/UDP** auf **Port 53** umzuleiten   - Alle DNS-Anfragen **TCP/UDP** auf **Port 53** umzuleiten
   - Dies **transparent** (unsichtbar) für das jeweilige Endgerät   - Dies **transparent** (unsichtbar) für das jeweilige Endgerät
Zeile 114: Zeile 127:
 Chain FORWARD (policy DROP 0 packets, 0 bytes) Chain FORWARD (policy DROP 0 packets, 0 bytes)
 num   pkts bytes target     prot opt in     out     source               destination num   pkts bytes target     prot opt in     out     source               destination
-   31147   18M ACCEPT     all  --  +      *       0.0.0.0/           0.0.0.0/          state RELATED,ESTABLISHED +           ACCEPT     all  --  +      *       0.0.0.0/           0.0.0.0/          state RELATED,ESTABLISHED 
-      21   852 DROP       all  --  +      *       0.0.0.0/           0.0.0.0/          state INVALID +           DROP       all  --  +      *       0.0.0.0/           0.0.0.0/          state INVALID 
-      75  7200 ACCEPT     icmp --  +      *       0.0.0.0/           0.0.0.0/          icmp type 255+           ACCEPT     icmp --  +      *       0.0.0.0/           0.0.0.0/          icmp type 255
 </code> </code>
  
 Nachfolgende Befehle, fügen folgende ''iptables''-Regeln dem ''iptables''-Regelwerk ab der **Position 1** hinzu, ohne das der Paketfilter angehalten werden muss: Nachfolgende Befehle, fügen folgende ''iptables''-Regeln dem ''iptables''-Regelwerk ab der **Position 1** hinzu, ohne das der Paketfilter angehalten werden muss:
-  * <code>-A FORWARD -s 192.168.0.0/24 -d 192.168.0.20/32 -i eth0 -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT</code> +  * <code>-A PREROUTING -s 192.168.0.0/24 -i eth0 -p tcp -m tcp --dport 53 -j DNAT --to-destination 192.168.0.20:53</code> 
-  * <code>-A FORWARD -s 192.168.0.0/24 -d 192.168.0.20/32 -i eth0 -p udp -m udp --dport 53- m state --state NEW -j ACCEPT</code>+  * <code>-A PREROUTING -s 192.168.0.0/24 -i eth0 -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.0.20:53</code> 
 +  * <code>-I INPUT 4 -s 192.168.0.0/24 -d 192.168.0.20/32 -i eth0 -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT</code> 
 +  * <code>-I INPUT 5 -s 192.168.0.0/24 -d 192.168.0.20/32 -i eth0 -p udp -m udp --dport 53- m state --state NEW -j ACCEPT</code>
 und hier die Befehle: und hier die Befehle:
 <code> <code>
-# iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.0.20/32 -i eth0 -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT +# iptables -A PREROUTING -s 192.168.0.0/24 -i eth0 -p tcp -m tcp --dport 53 -j DNAT --to-destination 192.168.0.20:53 
-# iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.0.20/32 -i eth0 -p udp -m udp --dport 53- m state --state NEW -j ACCEPT+# iptables -A PREROUTING -s 192.168.0.0/24 -i eth0 -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.0.20:53 
 +# iptables -I INPUT 4 -s 192.168.0.0/24 -d 192.168.0.20/32 -i eth0 -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT 
 +# iptables -I INPUT 5 -s 192.168.0.0/24 -d 192.168.0.20/32 -i eth0 -p udp -m udp --dport 53- m state --state NEW -j ACCEPT
 </code> </code>
  
-Ein erneute Abfrage des ''iptables''-Regelwerts, sollte dann nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann:+Eine erneute Abfrage des ''iptables''-Regelwerts, sollte dann in etwa nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann:
 <code> <code>
 # iptables -t nat -L -nv --line-numbers # iptables -t nat -L -nv --line-numbers
Zeile 149: Zeile 166:
 Chain FORWARD (policy DROP 0 packets, 0 bytes) Chain FORWARD (policy DROP 0 packets, 0 bytes)
 num   pkts bytes target     prot opt in     out     source               destination num   pkts bytes target     prot opt in     out     source               destination
-   31147   18M ACCEPT     all  --  +      *       0.0.0.0/           0.0.0.0/          state RELATED,ESTABLISHED +           ACCEPT     all  --  +      *       0.0.0.0/           0.0.0.0/          state RELATED,ESTABLISHED 
-      21   852 DROP       all  --  +      *       0.0.0.0/           0.0.0.0/          state INVALID +           DROP       all  --  +      *       0.0.0.0/           0.0.0.0/          state INVALID 
-      75  7200 ACCEPT     icmp --  +      *       0.0.0.0/           0.0.0.0/          icmp type 255+           ACCEPT     icmp --  +      *       0.0.0.0/           0.0.0.0/          icmp type 255
 4        0     0 ACCEPT     tcp  --  eth0         192.168.0.0/24       192.168.0.20        tcp dpt:53 state NEW 4        0     0 ACCEPT     tcp  --  eth0         192.168.0.0/24       192.168.0.20        tcp dpt:53 state NEW
 5        0     0 ACCEPT     udp  --  eth0         192.168.0.0/24       192.168.0.20        udp dpt:53 state NEW 5        0     0 ACCEPT     udp  --  eth0         192.168.0.0/24       192.168.0.20        udp dpt:53 state NEW
Zeile 179: Zeile 196:
 iptables: Saving firewall rules to /etc/sysconfig/iptables: OK  ] iptables: Saving firewall rules to /etc/sysconfig/iptables: OK  ]
 </code> </code>
 +
tachtler/android_-_dns-problem.1388826003.txt.gz · Zuletzt geändert: 2014/01/04 10:00 von klaus