<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Netz - Rettung - Recht (Artikel mit Tag dhcp)</title>
    <link>https://netz-rettung-recht.de/</link>
    <description>Netzleben, Rettungs- und Rechtswesen</description>
    <dc:language>de</dc:language>
    <generator>Serendipity 2.5.0 - http://www.s9y.org/</generator>
    <pubDate>Sat, 22 Jan 2011 18:25:22 GMT</pubDate>

    <image>
    <url>https://netz-rettung-recht.de/templates/2k11/img/s9y_banner_small.png</url>
    <title>RSS: Netz - Rettung - Recht - Netzleben, Rettungs- und Rechtswesen</title>
    <link>https://netz-rettung-recht.de/</link>
    <width>100</width>
    <height>21</height>
</image>

<item>
    <title>isc-dhcpd, Windows-7-Clients und kein DHCP?</title>
    <link>https://netz-rettung-recht.de/archives/1667-isc-dhcpd,-Windows-7-Clients-und-kein-DHCP.html</link>
            <category>Bits'n'Bytes</category>
    
    <comments>https://netz-rettung-recht.de/archives/1667-isc-dhcpd,-Windows-7-Clients-und-kein-DHCP.html#comments</comments>
    <wfw:comment>https://netz-rettung-recht.de/wfwcomment.php?cid=1667</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>https://netz-rettung-recht.de/rss.php?version=2.0&amp;type=comments&amp;cid=1667</wfw:commentRss>
    

    <author>nospam@example.com (Thomas Hochstein)</author>
    <content:encoded>
    &lt;p&gt;Manche Dinge muß man nicht verstehen - und sie sind auch furchtbar schwer einzugrenzen.&lt;/p&gt;

&lt;p&gt;Man stelle sich folgende Situation vor:&lt;/p&gt;

&lt;p&gt; Ein Netzwerk, in dem ein Server (Debian Squeez) und ein Desktop (WinXP) stehen, außerdem ein WLAN-Accesspoint, über den zwei Laptops (einmal WinXP, einmal Win7) an das Netz angebunden sind. Auf dem Server läuft ein &lt;em&gt;isc-dhcpd&lt;/em&gt;, also der DHCP-Server des ISC, der die Clients mit IP-Adressen versorgt. Beide Rechner, die unter Windows XP laufen, bekommen problemlos DHCP-Leases, und alles ist gut.&lt;/p&gt;

&lt;p&gt;Jetzt kommt der Rechner unter Windows 7 hinzu - und nichts geht mehr. Nicht nur, daß der Rechner keine IP-Adresse zugewiesen bekommt; auch der andere, über WLAN angebundene Laptop verliert während dieser Versuche, per DHCP eine Adresse zu bekommen, reproduzierbar die Verbindung zum Server, so daß SSH-Verbindungen abbrechen und die DNS-Auflösung nicht mehr funktioniert. Andere bestehende Verbindungen von diesem XP-Laptop aus bleiben aber bestehen. Im Log des DHCP-Servers spielen der Win7-Client und der Server Pingpong mit &lt;em&gt;DHCPDISCOVER&lt;/em&gt; und &lt;em&gt;DHCPOFFER&lt;/em&gt;, kommen aber nie weiter zu &lt;em&gt;DHCPREQUEST&lt;/em&gt; und &lt;em&gt;DHCPACK&lt;/em&gt;, d.h. der Client fragt nach einer IP-Adresse, er bekommt eine angeboten, registriert das aber nicht und wiederholt seine Anfrage ad nauseam.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Nach langem Lesen und Probieren wird als Probe aufs Exempel ein weiterer Laptop mit Win7 ins Netz gebracht, um auszuschließen, daß das Problem beim Laptop liegt - und tatsächlich, auch dieser Rechner bekommt per DHCP keine IP-Adresse zugewiesen! Das Problem ist also offenbar ein generelles.&lt;/p&gt;

&lt;p&gt;Googeln wird bei diesem Thema dadurch erschwert, daß es haufenweise Treffer gibt, die aber im wesentlichen alle mit diesem Problem nichts zu tun haben und oft nur die Unkenntnis der Beteiligten über DHCP, Windows und diverse andere Gegenstände erkennbar machen. &lt;em&gt;*seufz*&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hätte jemand zu diesem Problem auf Anhieb einen Lösungsansatz gehabt? (Außer dem Mitschneiden des Netzwerkverkehrs zwischen dem Client und dem nicht-funktionsfähigen DHCP-Server im Vergleich zum Verkehr zwischen dem Client und einem funktionierenden Server.)&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Die &lt;a href=&quot;http://www.mail-archive.com/gnhlug-discuss@mail.gnhlug.org/msg27531.html&quot; title=&quot;DHCPD and Windows question&quot;&gt;Lösung&lt;/a&gt; des Problems fand sich dann am Ende doch via Google (im Archiv einer Mailingliste der &lt;em&gt;Greater New Hampshire Linux User Group&lt;/em&gt;) - und hat keine für mich erkennbare Verbindung zum Problem:&lt;/p&gt;

&lt;p&gt;Es ist falsch, in der DHCP-Konfiguration das Statement &lt;em&gt;server-identifier&lt;/em&gt; auf den Namen des DHCP-Servers zu setzen; dort muß offenbar entweder dessen IP-Adresse oder ein per DNS auflösbarer Hostname stehen (oder am besten gar nichts); den Namen des DHCP-Servers kann man stattdessen mittels &lt;em&gt;server-name&lt;/em&gt; setzen. Wenn man diese Änderung in der Konfiguration des &lt;em&gt;dhcpd&lt;/em&gt; vornimmt und ihn neu startet, ist urplötzlich alles gut &amp;#8230;&lt;/p&gt;

&lt;p align=&quot;right&quot;&gt;&lt;u&gt;Keywords:&lt;/u&gt; DHCP isc-dhcpd Windows Seven Vista Win7 fail no lease no IP address problem&lt;br /&gt;&lt;/p&gt;
&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/b562e1ed986341f4a956c27ed3a12802&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Sat, 22 Jan 2011 07:42:00 +0000</pubDate>
    <guid isPermaLink="false">https://netz-rettung-recht.de/archives/1667-guid.html</guid>
    <category>dhcp</category>
<category>dns</category>
<category>linux</category>
<category>windows</category>

</item>
<item>
    <title>DHCP-Server und automatische DNS-Zone-Updates</title>
    <link>https://netz-rettung-recht.de/archives/1666-DHCP-Server-und-automatische-DNS-Zone-Updates.html</link>
            <category>Bits'n'Bytes</category>
    
    <comments>https://netz-rettung-recht.de/archives/1666-DHCP-Server-und-automatische-DNS-Zone-Updates.html#comments</comments>
    <wfw:comment>https://netz-rettung-recht.de/wfwcomment.php?cid=1666</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>https://netz-rettung-recht.de/rss.php?version=2.0&amp;type=comments&amp;cid=1666</wfw:commentRss>
    

    <author>nospam@example.com (Thomas Hochstein)</author>
    <content:encoded>
    &lt;p&gt;Für lokale Netze ist ein DHCP-Server eine nützliche Einrichtung, ermöglicht er doch die automatische Adreßvergabe. Die meisten Consumer-DSL-Router (und nicht nur diese) haben entsprechende Funktionalitäten eingebaut; noch schöner und flexibler ist es aber natürlich, selbst einen entsprechenden Dienst bereitzustellen, weil man ihn dann genau so konfigurieren kann, wie man ihn gerne hätte, um neben der automatischen Vergabe von IP-Adressen auch bestimmten Rechnern feste Adressen zuzuweisen und zugleich im internen Netz eine Namensauflösung zu organisieren.&lt;/p&gt;

&lt;p&gt;Dafür bedarf es im Prinzip dreierlei:&lt;/p&gt;

&lt;ul&gt; 
&lt;li&gt;Zunächst benötigt man einen DHCP-Server (&lt;em&gt;dhcpd&lt;/em&gt;), bspw. den des ISC, der dann so konfiguriert werden muß, daß er die erwünschten Adressen an die Clients zuweist.&lt;/li&gt; 
&lt;li&gt;Dann benötigt man einen DNS-Server, bspw. den BIND des ISC, der dann so konfiguriert werden muß, daß er Namen im lokalen Netz zu IPs auflöst und umgekehrt lokale IPs zu den richtigen Namen.&lt;/li&gt; 
&lt;li&gt;Und letztlich muß man in einem zweiten Schritt die beiden so miteinander verheiraten, daß der DHCP-Server dem DNS-Server erzählt, welche IPs er an welche Maschinen dynamisch vergeben hat.&lt;/li&gt; 
&lt;/ul&gt;

&lt;p&gt;All das ist vergleichsweise einfach unter Debian möglich.&lt;/p&gt;

&lt;p&gt;Im folgenden Beispiel gehe ich davon aus, daß das lokale Netz den IP-Bereich von 10.0.0.1-10.0.0.254 (&lt;em&gt;10.0.0.1/24&lt;/em&gt;) umfassen soll und die Domain &lt;em&gt;example.org&lt;/em&gt; verwendet wird. Der Host, auf dem DHCP- und DNS-Server laufen, heißt &lt;em&gt;server.example.org&lt;/em&gt; und hat die (fest konfigurierte) IP-Adresse &lt;em&gt;10.0.0.1&lt;/em&gt;.&lt;br /&gt;&lt;/p&gt;

&lt;h3&gt;1. Installation und Einrichtung des DNS-Servers&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;aptitude -r install bind9&lt;/code&gt;&lt;/p&gt;

&lt;p&gt; Die DNS-Zonen für das lokale Netz sollen später dynamische Updates zulassen; aufgrund der dann notwendigen Schreibrechte für den Benutzer &lt;em&gt;bind&lt;/em&gt; auf diese Dateien darf man sie unter Debian nicht in &lt;em&gt;/etc/bind/&lt;/em&gt; anlegen, sondern im dafür vorgesehenen Verzeichnis &lt;em&gt;/var/lib/bind&lt;/em&gt;. Also legen wir eine Zone-Datei &lt;em&gt;/var/lib/bind/example.org&lt;/em&gt; für die Vorwärtsauflösung an, in der auch schon die Maschinen stehen, die feste IP-Adressen vergeben bekommen sollen:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ORIGIN .
$TTL 604800     ; 1 week
example.org            IN SOA  server.example.org. hostmaster.server.example.org. (
                                2011012101 ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                39600      ; minimum (11 hours)
                                )
                        NS      server.example.org.
$ORIGIN example.org.
server                  A       10.0.0.1
desktop                 A       10.0.0.11
laptop1                 A       10.0.0.21
laptop2                 A       10.0.0.22
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Und dasselbe dann für die Rückwärtsauflösung:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ORIGIN .
$TTL 604800     ; 1 week
0.0.10.in-addr.arpa            IN SOA  server.example.org. hostmaster.server.example.org. (
                                2011012101 ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                39600      ; minimum (11 hours)
                                )
                        NS      server.example.org.
$ORIGIN 0.0.10.in-addr.arpa.
1            PTR    server.example.org.
11            PTR    desktop.example.org.
21            PTR    laptop1.example.org.
22            PTR    laptop2.example.org.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Jetzt werden die Zonen in die Nameserver-Konfiguration eingebunden, und zwar durch Anpassen der Datei &lt;em&gt;/etc/bind/named.conf.local&lt;/em&gt;:&lt;br /&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;zone &quot;example.org&quot; {
  type master;
  file &quot;/var/lib/bind/zone.example.org&quot;;
};

zone &quot;0.0.10.in-addr.arpa&quot; {
  type master;
  file &quot;/var/lib/bind/zone.10.0.0&quot;;
};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Nach einem Reload der Zonen (&lt;code&gt;rndc reload&lt;/code&gt;) sollte die Auflösung vor- und rückwärts funktionieren, was man mit &lt;code&gt;host laptop1.example.org&lt;/code&gt; und dann mit &lt;code&gt;host 10.0.0.21&lt;/code&gt; testen kann.&lt;/p&gt;

&lt;h3&gt;2. Installation und Einrichtung des DHCP-Servers&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;aptitude -r install isc-dhcp-server&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Nun ist &lt;em&gt;/etc/dhcp/dhcpd.conf&lt;/em&gt; (ggf. nach Sicherung der Originaldatei) anzupassen:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;server-name Server;

option domain-name &quot;example.org&quot;;
option subnet-mask 255.255.255.0;
option domain-name-servers 10.0.0.1; # der oder die DNS-Server

default-lease-time 86400; # 24 h
max-lease-time 172800;    # 48 h

authoritative;
ignore client-updates;

subnet 10.0.0.0 netmask 255.255.255.0 {
  range 10.0.0.101 10.0.0.199;          # DHCP-Adressen werden zwischen .101 und .199 vergeben
  option broadcast-address 10.0.0.255;
  option routers 10.0.0.200;            # das Gateway ins Internet, bspw. der DSL-Router
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Das genügt zunächst einmal; nach einem &lt;code&gt;/etc/init.d/isc-dhcp-server restart&lt;/code&gt; sollte der DHCP-Dienst funktionieren und IP-Adressen zwischen 10.0.0.101 und 10.0.0.199 vergeben. Die vergebenen Adressen lassen sich unter &lt;em&gt;/var/lib/dhcp/dhcpd.leases&lt;/em&gt; ersehen.&lt;/p&gt;

&lt;p&gt;Im Logfile (standardmäßig &lt;em&gt;/var/log/daemon.log&lt;/em&gt;) kann man die Vergabe der Leases verfolgen; dort ersieht man auch die MAC-Adressen der Hosts, die sich per DHCP Adressen holen. Mit Hilfe dieser MAC-Adressen kann man dann den Hosts, die feste Adressen per DHCP vergeben erhalten sollen (im Beispiel sind das &lt;em&gt;desktop&lt;/em&gt;, &lt;em&gt;laptop1&lt;/em&gt; und &lt;em&gt;laptop2&lt;/em&gt;), ebensolche zuweisen. Nehmen wir an, &lt;em&gt;desktop &lt;/em&gt;hat die MAC-Adresse &lt;em&gt;00:30:05:5a:db:a0&lt;/em&gt;, dann müßte der entsprechende Eintrag in der &lt;em&gt;/etc/dhcp/dhcpd.conf &lt;/em&gt;folgendermaßen lauten:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;host desktop {
  hardware ethernet 00:30:05:5a:db:a0;
  fixed-address 10.0.0.11;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Nach einem erneuten Restart des DHCP-Servers wird &lt;em&gt;desktop&lt;/em&gt; jetzt immer fest diese DHCP-Adresse zugewiesen bekommen.&lt;/p&gt;

&lt;h3&gt;3. Dynamische Aktualisierung der DNS-Zonen&lt;/h3&gt;

&lt;p&gt;Der letzte Schritt sorgt jetzt dafür, daß durch den DHCP-Server dynamisch vergebene Adressen (10.0.0.101-199) in den Zonen-Dateien des Nameservers mit dem entsprechenden Namen erfasst werden. Diese Updates kann man entweder durch jedes Programm, das auf dem Server läuft, erlauben, oder kryptographisch absichern. Ich stelle hier ersteres dar.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Die Konfiguration des DNS-Servers in &lt;em&gt;/etc/bind/named.conf.local&lt;/em&gt; ist folgendermaßen zu ergänzen:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;zone &quot;example.org&quot; {
  type master;
  file &quot;/var/lib/bind/zone.example.org&quot;;
  allow-update { localhost; };
};

zone &quot;0.0.10.in-addr.arpa&quot; {
  type master;
  file &quot;/var/lib/bind/zone.10.0.0&quot;;
  allow-update { localhost; };
};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Reloaden der Konfiguration nicht vergessen! &lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Die Konfiguration des DHCP-Servers in &lt;em&gt;/etc/dhcp/dhcpd.conf&lt;/em&gt; ist folgendermaßen zu ergänzen:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[...]

ddns-update-style interim;
ignore client-updates;

subnet 10.0.0.0 netmask 255.255.255.0 {
  range 10.0.0.101 10.0.0.199; # DHCP-Adressen werden zwischen .101 und .199 vergeben
  option broadcast-address 10.0.0.255;
  option routers 10.0.0.200; # das Gateway ins Internet, bspw. der DSL-Router
  ddns-domainname &quot;gast.example.org&quot;

  zone example.org. {
    primary 127.0.0.1;
  }

  zone 0.0.10.in-addr.arpa. {
    primary 127.0.0.1;
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Restart des DHCP-Servers nicht vergessen!&lt;/p&gt;

&lt;p&gt;Nunmehr wird die Maschine, die sich - bspw. - als &lt;em&gt;gastnetbook&lt;/em&gt; meldet und eine IP möchtet, bspw. die IP &lt;em&gt;10.0.0.105&lt;/em&gt; zugewiesen bekommen; in die Nameserver-Zonen werden jetzt entsprechende Einträge für &lt;em&gt;10.0.0.105&lt;/em&gt; und &lt;em&gt;gastnetbook.gast.example.org&lt;/em&gt; vorgenommen. Das erfolgt zunächst in Dateien, die den Namen der jeweiligen Zone plus die Endung &amp;#8220;.jnl&amp;#8221; (für &amp;#8220;Journal&amp;#8221;) tragen; regelmäßig werden aber auch die Zonendateien aktualisiert.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Manuelle Änderungen der DNS-Zonen dürfen dann nicht mehr ohne weiteres vorgenommen werden!&lt;/strong&gt; Zunächst müssen die dynamischen Updates unterbrochen werden, danach kann man Änderungen vornehmen und die dynamischen Updates wieder starten:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;rndc freeze example.org
vim /var/lib/bind/zone.example.org
rndc thaw example.org
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;oder&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;rndc freeze 0.0.10.in-addr.arpa 
vim /var/lib/bind/zone.10.0.0
rndc thaw 0.0.10.in-addr.arpa
&lt;/code&gt;&lt;/pre&gt;
&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/44f181acb90b43159126e6ae73544b91&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Fri, 21 Jan 2011 18:46:00 +0000</pubDate>
    <guid isPermaLink="false">https://netz-rettung-recht.de/archives/1666-guid.html</guid>
    <category>anleitung</category>
<category>debian</category>
<category>dhcp</category>
<category>dns</category>
<category>linux</category>
<category>squeeze</category>

</item>

</channel>
</rss>
