<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.xinux.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>Xinux Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.xinux.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php/Spezial:Beitr%C3%A4ge/Admin"/>
	<updated>2026-06-11T13:26:59Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://www.xinux.net/index.php?title=MediaWiki:Common.css&amp;diff=1645</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=MediaWiki:Common.css&amp;diff=1645"/>
		<updated>2010-11-30T15:59:20Z</updated>

		<summary type="html">&lt;p&gt;Admin: Die Seite wurde neu angelegt: „/* CSS an dieser Stelle wirkt sich auf alle Skins aus */ div.mw-geshi {   padding: 1em;    margin: 1em 0;    border: 1px dashed #2f6fab; }“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS an dieser Stelle wirkt sich auf alle Skins aus */&lt;br /&gt;
div.mw-geshi {&lt;br /&gt;
  padding: 1em; &lt;br /&gt;
  margin: 1em 0; &lt;br /&gt;
  border: 1px dashed #2f6fab;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=MediaWiki:Monobook.css&amp;diff=1644</id>
		<title>MediaWiki:Monobook.css</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=MediaWiki:Monobook.css&amp;diff=1644"/>
		<updated>2010-11-30T15:59:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: Die Seite wurde neu angelegt: „/* CSS an dieser Stelle wirkt sich auf den Monobook-Skin aus. Für allgemeingültige Skin-Anpassungen bitte MediaWiki:Common.css bearbeiten. */ div.mw-geshi {…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS an dieser Stelle wirkt sich auf den Monobook-Skin aus. Für allgemeingültige Skin-Anpassungen bitte [[MediaWiki:Common.css]] bearbeiten. */&lt;br /&gt;
div.mw-geshi {&lt;br /&gt;
  padding: 1em; &lt;br /&gt;
  margin: 1em 0; &lt;br /&gt;
  border: 1px dashed #2f6fab;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=MediaWiki:Geshi.css&amp;diff=1643</id>
		<title>MediaWiki:Geshi.css</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=MediaWiki:Geshi.css&amp;diff=1643"/>
		<updated>2010-11-30T15:58:50Z</updated>

		<summary type="html">&lt;p&gt;Admin: Die Seite wurde neu angelegt: „/* CSS in dieser MediaWiki-Systemnachricht wird auf die GeSHi-Syntaxhervorhebung angewendet */ div.mw-geshi {   padding: 1em;    margin: 1em 0;    border: 1px das…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS in dieser MediaWiki-Systemnachricht wird auf die GeSHi-Syntaxhervorhebung angewendet */&lt;br /&gt;
div.mw-geshi {&lt;br /&gt;
  padding: 1em; &lt;br /&gt;
  margin: 1em 0; &lt;br /&gt;
  border: 1px dashed #2f6fab;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VLC&amp;diff=363</id>
		<title>VLC</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VLC&amp;diff=363"/>
		<updated>2009-07-17T11:37:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Remote Control */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:vlc.jpg]]&lt;br /&gt;
&lt;br /&gt;
=VLC media player=&lt;br /&gt;
Der VLC media player, oder anfangs VideoLAN client, ist ein mittlerweile bekannter freier Mediaplayer der die unterschiedlichsten Codecs und Dateiformate sowie DVD's und Video-CD's unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Geschichte==&lt;br /&gt;
Der VLC media player wird seit 1999 vom VideoLAN-Team entwickelt. Dieses besteht aus Studenten der französischen Ingenieurschule École centrale Paris in Châtenay-Malabry bei Paris und Entwicklern aus über 20 Ländern. Das Programm steht seit dem 1. Februar 2001 unter der GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Der Entwickler Antoine Cellerier kennt die Geschichte des Logos selbst nur vom Hörensagen: Eines Tages kamen Studenten eines der Netzwerk-Clubs der École centrale Paris betrunken mit einem Verkehrssicherungskegel nach Hause. Später ging aus diesem Club das VideoLAN-Projekt hervor. Als man ein Logo für das Programm suchte, fiel die Wahl auf den Kegel, aus dem zu diesem Zeitpunkt bereits eine beträchtliche Kegel-Sammlung hervorgegangen war.&lt;br /&gt;
&lt;br /&gt;
==Merkmale==&lt;br /&gt;
===Die Streaming Lösung===&lt;br /&gt;
Die ursprüngliche Streaming-Lösung besteht aus dem VideoLAN Server und dem VLC media player. Damit war das Streaming von digitalen TV-Inhalten, DVDs und MPEG- &amp;amp; DivX-Filmdateien über den Campus der École Centrale Paris möglich. Mittlerweile wurden beide Programme erweitert, sodass auch Streaming über das Internet realisierbar ist. VLC unterstützt mittlerweile auch Video on Demand, so dass es durchaus mit Streaminglösungen kommerzieller Anbieter konkurrieren kann. &lt;br /&gt;
&lt;br /&gt;
Durch die Weiterentwicklung des VLC media player zu einem eigenen Streaming-Server wurde das Konzept der Lösung seit Januar 2003 aufgeweicht. Eine mittelbare Folge davon ist, dass die Lösung auch von Benutzern ohne große Vorkenntnisse eingesetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
===Vielseitigkeit===&lt;br /&gt;
Besonders hervorzuheben ist die Vielseitigkeit des Programms, das nahezu jedes Format und jede Datei abspielt, auch unvollständige oder bruchstückhafte AVI-Dateien, was z. B. bei nicht vollständig heruntergeladenen Dateien der Fall sein kann. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich können über Filter verschiedene Effekte in Echtzeit angewandt werden. So kann z. B. ein Video, das im Hochformat aufgenommen wurde, um 90° gedreht, und Farbfilter etc. angewandt werden.&lt;br /&gt;
&lt;br /&gt;
===Portabilität===&lt;br /&gt;
Der VLC media player läuft unter GNU/Linux, Microsoft Windows, Mac OS X, BeOS, Syllable. Einige andere Betriebssysteme wie z. B. BSD werden auch unterstützt, für sie gibt es nur keine vorkompilierte Binär-Pakete.&lt;br /&gt;
Außerdem gibt es für Microsoft Windows eine portable (vom USB-Stick ohne Installation lauffähige) Version.&lt;br /&gt;
&lt;br /&gt;
== Einsatz ==&lt;br /&gt;
Der ''VLC media player'' kommt bei Privatnutzern, in Schulen und Universitäten, aber auch bei professionellen Anwendern zum Einsatz. Geschätzt wird vor allem die hohe Kompatibilität mit einer Vielzahl von Formaten und Codecs, wodurch er beinahe alles wiedergeben kann. Auch die im September 2007 vorgestellte ZDFmediathek unterstützt den VLC zur Wiedergabe ihres Video-on-Demand- und Livestream-Angebots (bei bestmöglicher Bildqualität dank Wiedergabe einer H.264-kodierten Videoquelle).&lt;br /&gt;
==Installation==&lt;br /&gt;
 root@zero:/etc# apt-get install vlc &lt;br /&gt;
 .....&lt;br /&gt;
&lt;br /&gt;
=Benutzung=&lt;br /&gt;
==Hilfe bekommen==&lt;br /&gt;
Alle Standard Operationen von VLC sollten über die Grafische Benutzeroberfläche verfügbar sein. Wie auch immer, manche komplexen Operationen können nur von der Kommandozeile aus benutzt werden  und es gibt Situationen in welchen man die Grafische Benutzeroberfläche nicht benötigt oder möchte.&lt;br /&gt;
&lt;br /&gt;
VLC hat eine Modulstruktur. Der Kern verwaltet haupsächlich die Kommunikation zwischen Modulen. Alle Multimediaprozesse werden von Modulen abgewickelt. Es gibt Input-Module, Demultiplexer, Decoder, Video Output Module und mehr...&lt;br /&gt;
&lt;br /&gt;
Dieses Kapitel wird nur die Kernoptionen erörtern. Jedes Modul erweitert VLC um neue Optionen. Zum Beispiel fügt das HTTP-Inputmodul Optionen für caching, proxy und Authentifikation hinzu.&lt;br /&gt;
&lt;br /&gt;
Einfachen Kernoptionen erfährt man mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --help'''&lt;br /&gt;
&lt;br /&gt;
Alle Grundoptionen des Kerns + der Module mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp'''&lt;br /&gt;
&lt;br /&gt;
Und wirklich alle Optionen mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp --advanced'''&lt;br /&gt;
&lt;br /&gt;
==Medien öffnen==&lt;br /&gt;
&lt;br /&gt;
Der folgende Befehl startet VLC mit &amp;quot;Datei&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc &amp;quot;Datei&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Öffnen von DVD's, Video- oder Audio CD's.&lt;br /&gt;
&lt;br /&gt;
DVD mit Menüs:&lt;br /&gt;
&lt;br /&gt;
  xinux@zero:~$ vlc '''dvd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DVD ohne Menüs:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$  vlc '''dvdsimple'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
VCD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''vcd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Audio CD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''cdda:'''//&amp;quot;device&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
==Stream senden (UDP)==&lt;br /&gt;
&lt;br /&gt;
Eine Datei kann man über VLC mit folgendem Befehl streamen:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc &amp;quot;Datei&amp;quot; '''--sout udp:&amp;quot;IP-Adresse&amp;quot; --ttl 12'''&lt;br /&gt;
Unicast&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:192.168.178.45 --ttl 12 &lt;br /&gt;
Multicast&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:224.0.0.224 &lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; muss entweder &lt;br /&gt;
&lt;br /&gt;
* ein Rechner an den man Unicast-Streamen will,&lt;br /&gt;
* der DNS Name eines Rechners an den man Unicast-Streamen will&lt;br /&gt;
* oder eine Multicast IP-Adresse sein (224.0.0.0 bis 239.255.255.255).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine DVD zu streamen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc dvdsimple://&amp;quot;/dev/dvd&amp;quot; '''--sout '#udp{mux=ts,dst=192.168.0.12}' --ttl 12 --sout-all'''&lt;br /&gt;
&lt;br /&gt;
Unicast&lt;br /&gt;
 cvlc dvd://&amp;quot;/dev/dvd&amp;quot; --sout udp:192.168.178.45&lt;br /&gt;
&lt;br /&gt;
Multicast&lt;br /&gt;
  cvlc dvd://&amp;quot;/dev/dvd&amp;quot; --sout udp:224.0.0.224&lt;br /&gt;
&lt;br /&gt;
Wobei &amp;quot;/dev/dvd&amp;quot; das DVD-Laufwerk sein muss, bei Windows z.B. ''D:''&lt;br /&gt;
&lt;br /&gt;
==Stream empfangen (UDP)==&lt;br /&gt;
&lt;br /&gt;
Um einen Unicast RTP/UDP Stream (Gesendet von VLC's Stream Output) zu empfangen muss man VLC mit folgenden Befehlen starten:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''udp://[@:server_port]'''&lt;br /&gt;
Beispiel &lt;br /&gt;
 cinema@receiver:~$ vlc udp://192.168.178.46 &lt;br /&gt;
&lt;br /&gt;
Wenn man den Standartport '''1234''' verwendet reicht '''vlc rtp://'''&lt;br /&gt;
&lt;br /&gt;
Um einen Multicast-Stream zu empfangen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''@multicast_address'''[@:server_port]&lt;br /&gt;
&lt;br /&gt;
Beispiel &lt;br /&gt;
 cinema@receiver:~$ vlc udp://@224.0.0.224 &lt;br /&gt;
&lt;br /&gt;
Um einen Stream von einer bestimmten Adresse zu empfangen ('''S'''ource'''S'''pecific'''M'''ulticast) braucht man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''server_address'''@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Dies funktioniert nur mit Betriebsystemen die SSM unterstützen (Windows XP und neueste Linux Kernels)&lt;br /&gt;
&lt;br /&gt;
Um einen HTTP-Stream zu empfangen startet man VLC mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc http://www.beispiel.org/Datei.mpg&lt;br /&gt;
&lt;br /&gt;
==Remote Control==&lt;br /&gt;
&lt;br /&gt;
VLC lässt sich nach belieben auch über Interfaces wie Telnet auf entfernten Rechnern steuern.&lt;br /&gt;
&lt;br /&gt;
Ein VLC mit Remote Control benutzbarkeit öffnet man mit:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# cvlc --rc-fake-tty --extraintf rc --rc-host &amp;quot;IP:PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
 &lt;br /&gt;
 root@zero:~# cvlc --rc-fake-tty --extraintf rc --rc-host 192.168.178.46:20000  \ &lt;br /&gt;
                 dvdsimple://&amp;quot;/dev/dvd&amp;quot; --sout udp:224.0.0.224 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; ist die des Rechners auf dem VLC ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Mann kann dann mit Tools wie ''Netcat'' darauf zugreifen mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# nc &amp;quot;IP-Adresse&amp;quot; &amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
&lt;br /&gt;
 thomas@lydia:~$ echo stop | netcat 192.168.178.46 20000&lt;br /&gt;
 stop: returned 0 (no error)&lt;br /&gt;
 status change: ( play state: 8 ): End&lt;br /&gt;
 ^C&lt;br /&gt;
 &lt;br /&gt;
 thomas@lydia:~$ &lt;br /&gt;
 thomas@lydia:~$ echo play | netcat 192.168.178.46 20000&lt;br /&gt;
 play: returned 0 (no error)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man sieht hierbei keine Bestätigung, aber mit '''help''' lassen sich die benutzbaren Befehle anzeigen.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VLC&amp;diff=362</id>
		<title>VLC</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VLC&amp;diff=362"/>
		<updated>2009-07-17T11:32:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Remote Control */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:vlc.jpg]]&lt;br /&gt;
&lt;br /&gt;
=VLC media player=&lt;br /&gt;
Der VLC media player, oder anfangs VideoLAN client, ist ein mittlerweile bekannter freier Mediaplayer der die unterschiedlichsten Codecs und Dateiformate sowie DVD's und Video-CD's unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Geschichte==&lt;br /&gt;
Der VLC media player wird seit 1999 vom VideoLAN-Team entwickelt. Dieses besteht aus Studenten der französischen Ingenieurschule École centrale Paris in Châtenay-Malabry bei Paris und Entwicklern aus über 20 Ländern. Das Programm steht seit dem 1. Februar 2001 unter der GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Der Entwickler Antoine Cellerier kennt die Geschichte des Logos selbst nur vom Hörensagen: Eines Tages kamen Studenten eines der Netzwerk-Clubs der École centrale Paris betrunken mit einem Verkehrssicherungskegel nach Hause. Später ging aus diesem Club das VideoLAN-Projekt hervor. Als man ein Logo für das Programm suchte, fiel die Wahl auf den Kegel, aus dem zu diesem Zeitpunkt bereits eine beträchtliche Kegel-Sammlung hervorgegangen war.&lt;br /&gt;
&lt;br /&gt;
==Merkmale==&lt;br /&gt;
===Die Streaming Lösung===&lt;br /&gt;
Die ursprüngliche Streaming-Lösung besteht aus dem VideoLAN Server und dem VLC media player. Damit war das Streaming von digitalen TV-Inhalten, DVDs und MPEG- &amp;amp; DivX-Filmdateien über den Campus der École Centrale Paris möglich. Mittlerweile wurden beide Programme erweitert, sodass auch Streaming über das Internet realisierbar ist. VLC unterstützt mittlerweile auch Video on Demand, so dass es durchaus mit Streaminglösungen kommerzieller Anbieter konkurrieren kann. &lt;br /&gt;
&lt;br /&gt;
Durch die Weiterentwicklung des VLC media player zu einem eigenen Streaming-Server wurde das Konzept der Lösung seit Januar 2003 aufgeweicht. Eine mittelbare Folge davon ist, dass die Lösung auch von Benutzern ohne große Vorkenntnisse eingesetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
===Vielseitigkeit===&lt;br /&gt;
Besonders hervorzuheben ist die Vielseitigkeit des Programms, das nahezu jedes Format und jede Datei abspielt, auch unvollständige oder bruchstückhafte AVI-Dateien, was z. B. bei nicht vollständig heruntergeladenen Dateien der Fall sein kann. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich können über Filter verschiedene Effekte in Echtzeit angewandt werden. So kann z. B. ein Video, das im Hochformat aufgenommen wurde, um 90° gedreht, und Farbfilter etc. angewandt werden.&lt;br /&gt;
&lt;br /&gt;
===Portabilität===&lt;br /&gt;
Der VLC media player läuft unter GNU/Linux, Microsoft Windows, Mac OS X, BeOS, Syllable. Einige andere Betriebssysteme wie z. B. BSD werden auch unterstützt, für sie gibt es nur keine vorkompilierte Binär-Pakete.&lt;br /&gt;
Außerdem gibt es für Microsoft Windows eine portable (vom USB-Stick ohne Installation lauffähige) Version.&lt;br /&gt;
&lt;br /&gt;
== Einsatz ==&lt;br /&gt;
Der ''VLC media player'' kommt bei Privatnutzern, in Schulen und Universitäten, aber auch bei professionellen Anwendern zum Einsatz. Geschätzt wird vor allem die hohe Kompatibilität mit einer Vielzahl von Formaten und Codecs, wodurch er beinahe alles wiedergeben kann. Auch die im September 2007 vorgestellte ZDFmediathek unterstützt den VLC zur Wiedergabe ihres Video-on-Demand- und Livestream-Angebots (bei bestmöglicher Bildqualität dank Wiedergabe einer H.264-kodierten Videoquelle).&lt;br /&gt;
==Installation==&lt;br /&gt;
 root@zero:/etc# apt-get install vlc &lt;br /&gt;
 .....&lt;br /&gt;
&lt;br /&gt;
=Benutzung=&lt;br /&gt;
==Hilfe bekommen==&lt;br /&gt;
Alle Standard Operationen von VLC sollten über die Grafische Benutzeroberfläche verfügbar sein. Wie auch immer, manche komplexen Operationen können nur von der Kommandozeile aus benutzt werden  und es gibt Situationen in welchen man die Grafische Benutzeroberfläche nicht benötigt oder möchte.&lt;br /&gt;
&lt;br /&gt;
VLC hat eine Modulstruktur. Der Kern verwaltet haupsächlich die Kommunikation zwischen Modulen. Alle Multimediaprozesse werden von Modulen abgewickelt. Es gibt Input-Module, Demultiplexer, Decoder, Video Output Module und mehr...&lt;br /&gt;
&lt;br /&gt;
Dieses Kapitel wird nur die Kernoptionen erörtern. Jedes Modul erweitert VLC um neue Optionen. Zum Beispiel fügt das HTTP-Inputmodul Optionen für caching, proxy und Authentifikation hinzu.&lt;br /&gt;
&lt;br /&gt;
Einfachen Kernoptionen erfährt man mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --help'''&lt;br /&gt;
&lt;br /&gt;
Alle Grundoptionen des Kerns + der Module mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp'''&lt;br /&gt;
&lt;br /&gt;
Und wirklich alle Optionen mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp --advanced'''&lt;br /&gt;
&lt;br /&gt;
==Medien öffnen==&lt;br /&gt;
&lt;br /&gt;
Der folgende Befehl startet VLC mit &amp;quot;Datei&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc &amp;quot;Datei&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Öffnen von DVD's, Video- oder Audio CD's.&lt;br /&gt;
&lt;br /&gt;
DVD mit Menüs:&lt;br /&gt;
&lt;br /&gt;
  xinux@zero:~$ vlc '''dvd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DVD ohne Menüs:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$  vlc '''dvdsimple'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
VCD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''vcd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Audio CD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''cdda:'''//&amp;quot;device&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
==Stream senden (UDP)==&lt;br /&gt;
&lt;br /&gt;
Eine Datei kann man über VLC mit folgendem Befehl streamen:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc &amp;quot;Datei&amp;quot; '''--sout udp:&amp;quot;IP-Adresse&amp;quot; --ttl 12'''&lt;br /&gt;
Unicast&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:192.168.178.45 --ttl 12 &lt;br /&gt;
Multicast&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:224.0.0.224 &lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; muss entweder &lt;br /&gt;
&lt;br /&gt;
* ein Rechner an den man Unicast-Streamen will,&lt;br /&gt;
* der DNS Name eines Rechners an den man Unicast-Streamen will&lt;br /&gt;
* oder eine Multicast IP-Adresse sein (224.0.0.0 bis 239.255.255.255).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine DVD zu streamen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc dvdsimple://&amp;quot;/dev/dvd&amp;quot; '''--sout '#udp{mux=ts,dst=192.168.0.12}' --ttl 12 --sout-all'''&lt;br /&gt;
&lt;br /&gt;
Unicast&lt;br /&gt;
 cvlc dvd://&amp;quot;/dev/dvd&amp;quot; --sout udp:192.168.178.45&lt;br /&gt;
&lt;br /&gt;
Multicast&lt;br /&gt;
  cvlc dvd://&amp;quot;/dev/dvd&amp;quot; --sout udp:224.0.0.224&lt;br /&gt;
&lt;br /&gt;
Wobei &amp;quot;/dev/dvd&amp;quot; das DVD-Laufwerk sein muss, bei Windows z.B. ''D:''&lt;br /&gt;
&lt;br /&gt;
==Stream empfangen (UDP)==&lt;br /&gt;
&lt;br /&gt;
Um einen Unicast RTP/UDP Stream (Gesendet von VLC's Stream Output) zu empfangen muss man VLC mit folgenden Befehlen starten:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''udp://[@:server_port]'''&lt;br /&gt;
Beispiel &lt;br /&gt;
 cinema@receiver:~$ vlc udp://192.168.178.46 &lt;br /&gt;
&lt;br /&gt;
Wenn man den Standartport '''1234''' verwendet reicht '''vlc rtp://'''&lt;br /&gt;
&lt;br /&gt;
Um einen Multicast-Stream zu empfangen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''@multicast_address'''[@:server_port]&lt;br /&gt;
&lt;br /&gt;
Beispiel &lt;br /&gt;
 cinema@receiver:~$ vlc udp://@224.0.0.224 &lt;br /&gt;
&lt;br /&gt;
Um einen Stream von einer bestimmten Adresse zu empfangen ('''S'''ource'''S'''pecific'''M'''ulticast) braucht man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''server_address'''@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Dies funktioniert nur mit Betriebsystemen die SSM unterstützen (Windows XP und neueste Linux Kernels)&lt;br /&gt;
&lt;br /&gt;
Um einen HTTP-Stream zu empfangen startet man VLC mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc http://www.beispiel.org/Datei.mpg&lt;br /&gt;
&lt;br /&gt;
==Remote Control==&lt;br /&gt;
&lt;br /&gt;
VLC lässt sich nach belieben auch über Interfaces wie Telnet auf entfernten Rechnern steuern.&lt;br /&gt;
&lt;br /&gt;
Ein VLC mit Remote Control benutzbarkeit öffnet man mit:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# cvlc --rc-fake-tty --extraintf rc --rc-host &amp;quot;IP:PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; ist die des Rechners auf dem VLC ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Mann kann dann mit Tools wie ''Netcat'' darauf zugreifen mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# nc &amp;quot;IP-Adresse&amp;quot; &amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Man sieht hierbei keine Bestätigung, aber mit '''help''' lassen sich die benutzbaren Befehle anzeigen.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VLC&amp;diff=361</id>
		<title>VLC</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VLC&amp;diff=361"/>
		<updated>2009-07-17T11:18:43Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Stream senden (UDP) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:vlc.jpg]]&lt;br /&gt;
&lt;br /&gt;
=VLC media player=&lt;br /&gt;
Der VLC media player, oder anfangs VideoLAN client, ist ein mittlerweile bekannter freier Mediaplayer der die unterschiedlichsten Codecs und Dateiformate sowie DVD's und Video-CD's unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Geschichte==&lt;br /&gt;
Der VLC media player wird seit 1999 vom VideoLAN-Team entwickelt. Dieses besteht aus Studenten der französischen Ingenieurschule École centrale Paris in Châtenay-Malabry bei Paris und Entwicklern aus über 20 Ländern. Das Programm steht seit dem 1. Februar 2001 unter der GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Der Entwickler Antoine Cellerier kennt die Geschichte des Logos selbst nur vom Hörensagen: Eines Tages kamen Studenten eines der Netzwerk-Clubs der École centrale Paris betrunken mit einem Verkehrssicherungskegel nach Hause. Später ging aus diesem Club das VideoLAN-Projekt hervor. Als man ein Logo für das Programm suchte, fiel die Wahl auf den Kegel, aus dem zu diesem Zeitpunkt bereits eine beträchtliche Kegel-Sammlung hervorgegangen war.&lt;br /&gt;
&lt;br /&gt;
==Merkmale==&lt;br /&gt;
===Die Streaming Lösung===&lt;br /&gt;
Die ursprüngliche Streaming-Lösung besteht aus dem VideoLAN Server und dem VLC media player. Damit war das Streaming von digitalen TV-Inhalten, DVDs und MPEG- &amp;amp; DivX-Filmdateien über den Campus der École Centrale Paris möglich. Mittlerweile wurden beide Programme erweitert, sodass auch Streaming über das Internet realisierbar ist. VLC unterstützt mittlerweile auch Video on Demand, so dass es durchaus mit Streaminglösungen kommerzieller Anbieter konkurrieren kann. &lt;br /&gt;
&lt;br /&gt;
Durch die Weiterentwicklung des VLC media player zu einem eigenen Streaming-Server wurde das Konzept der Lösung seit Januar 2003 aufgeweicht. Eine mittelbare Folge davon ist, dass die Lösung auch von Benutzern ohne große Vorkenntnisse eingesetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
===Vielseitigkeit===&lt;br /&gt;
Besonders hervorzuheben ist die Vielseitigkeit des Programms, das nahezu jedes Format und jede Datei abspielt, auch unvollständige oder bruchstückhafte AVI-Dateien, was z. B. bei nicht vollständig heruntergeladenen Dateien der Fall sein kann. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich können über Filter verschiedene Effekte in Echtzeit angewandt werden. So kann z. B. ein Video, das im Hochformat aufgenommen wurde, um 90° gedreht, und Farbfilter etc. angewandt werden.&lt;br /&gt;
&lt;br /&gt;
===Portabilität===&lt;br /&gt;
Der VLC media player läuft unter GNU/Linux, Microsoft Windows, Mac OS X, BeOS, Syllable. Einige andere Betriebssysteme wie z. B. BSD werden auch unterstützt, für sie gibt es nur keine vorkompilierte Binär-Pakete.&lt;br /&gt;
Außerdem gibt es für Microsoft Windows eine portable (vom USB-Stick ohne Installation lauffähige) Version.&lt;br /&gt;
&lt;br /&gt;
== Einsatz ==&lt;br /&gt;
Der ''VLC media player'' kommt bei Privatnutzern, in Schulen und Universitäten, aber auch bei professionellen Anwendern zum Einsatz. Geschätzt wird vor allem die hohe Kompatibilität mit einer Vielzahl von Formaten und Codecs, wodurch er beinahe alles wiedergeben kann. Auch die im September 2007 vorgestellte ZDFmediathek unterstützt den VLC zur Wiedergabe ihres Video-on-Demand- und Livestream-Angebots (bei bestmöglicher Bildqualität dank Wiedergabe einer H.264-kodierten Videoquelle).&lt;br /&gt;
==Installation==&lt;br /&gt;
 root@zero:/etc# apt-get install vlc &lt;br /&gt;
 .....&lt;br /&gt;
&lt;br /&gt;
=Benutzung=&lt;br /&gt;
==Hilfe bekommen==&lt;br /&gt;
Alle Standard Operationen von VLC sollten über die Grafische Benutzeroberfläche verfügbar sein. Wie auch immer, manche komplexen Operationen können nur von der Kommandozeile aus benutzt werden  und es gibt Situationen in welchen man die Grafische Benutzeroberfläche nicht benötigt oder möchte.&lt;br /&gt;
&lt;br /&gt;
VLC hat eine Modulstruktur. Der Kern verwaltet haupsächlich die Kommunikation zwischen Modulen. Alle Multimediaprozesse werden von Modulen abgewickelt. Es gibt Input-Module, Demultiplexer, Decoder, Video Output Module und mehr...&lt;br /&gt;
&lt;br /&gt;
Dieses Kapitel wird nur die Kernoptionen erörtern. Jedes Modul erweitert VLC um neue Optionen. Zum Beispiel fügt das HTTP-Inputmodul Optionen für caching, proxy und Authentifikation hinzu.&lt;br /&gt;
&lt;br /&gt;
Einfachen Kernoptionen erfährt man mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --help'''&lt;br /&gt;
&lt;br /&gt;
Alle Grundoptionen des Kerns + der Module mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp'''&lt;br /&gt;
&lt;br /&gt;
Und wirklich alle Optionen mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp --advanced'''&lt;br /&gt;
&lt;br /&gt;
==Medien öffnen==&lt;br /&gt;
&lt;br /&gt;
Der folgende Befehl startet VLC mit &amp;quot;Datei&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc &amp;quot;Datei&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Öffnen von DVD's, Video- oder Audio CD's.&lt;br /&gt;
&lt;br /&gt;
DVD mit Menüs:&lt;br /&gt;
&lt;br /&gt;
  xinux@zero:~$ vlc '''dvd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DVD ohne Menüs:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$  vlc '''dvdsimple'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
VCD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''vcd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Audio CD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''cdda:'''//&amp;quot;device&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
==Stream senden (UDP)==&lt;br /&gt;
&lt;br /&gt;
Eine Datei kann man über VLC mit folgendem Befehl streamen:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc &amp;quot;Datei&amp;quot; '''--sout udp:&amp;quot;IP-Adresse&amp;quot; --ttl 12'''&lt;br /&gt;
Unicast&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:192.168.178.45 --ttl 12 &lt;br /&gt;
Multicast&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:224.0.0.224 &lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; muss entweder &lt;br /&gt;
&lt;br /&gt;
* ein Rechner an den man Unicast-Streamen will,&lt;br /&gt;
* der DNS Name eines Rechners an den man Unicast-Streamen will&lt;br /&gt;
* oder eine Multicast IP-Adresse sein (224.0.0.0 bis 239.255.255.255).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine DVD zu streamen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc dvdsimple://&amp;quot;/dev/dvd&amp;quot; '''--sout '#udp{mux=ts,dst=192.168.0.12}' --ttl 12 --sout-all'''&lt;br /&gt;
&lt;br /&gt;
Unicast&lt;br /&gt;
 cvlc dvd://&amp;quot;/dev/dvd&amp;quot; --sout udp:192.168.178.45&lt;br /&gt;
&lt;br /&gt;
Multicast&lt;br /&gt;
  cvlc dvd://&amp;quot;/dev/dvd&amp;quot; --sout udp:224.0.0.224&lt;br /&gt;
&lt;br /&gt;
Wobei &amp;quot;/dev/dvd&amp;quot; das DVD-Laufwerk sein muss, bei Windows z.B. ''D:''&lt;br /&gt;
&lt;br /&gt;
==Stream empfangen (UDP)==&lt;br /&gt;
&lt;br /&gt;
Um einen Unicast RTP/UDP Stream (Gesendet von VLC's Stream Output) zu empfangen muss man VLC mit folgenden Befehlen starten:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''udp://[@:server_port]'''&lt;br /&gt;
Beispiel &lt;br /&gt;
 cinema@receiver:~$ vlc udp://192.168.178.46 &lt;br /&gt;
&lt;br /&gt;
Wenn man den Standartport '''1234''' verwendet reicht '''vlc rtp://'''&lt;br /&gt;
&lt;br /&gt;
Um einen Multicast-Stream zu empfangen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''@multicast_address'''[@:server_port]&lt;br /&gt;
&lt;br /&gt;
Beispiel &lt;br /&gt;
 cinema@receiver:~$ vlc udp://@224.0.0.224 &lt;br /&gt;
&lt;br /&gt;
Um einen Stream von einer bestimmten Adresse zu empfangen ('''S'''ource'''S'''pecific'''M'''ulticast) braucht man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''server_address'''@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Dies funktioniert nur mit Betriebsystemen die SSM unterstützen (Windows XP und neueste Linux Kernels)&lt;br /&gt;
&lt;br /&gt;
Um einen HTTP-Stream zu empfangen startet man VLC mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc http://www.beispiel.org/Datei.mpg&lt;br /&gt;
&lt;br /&gt;
==Remote Control==&lt;br /&gt;
&lt;br /&gt;
VLC lässt sich nach belieben auch über Interfaces wie Telnet auf entfernten Rechnern steuern.&lt;br /&gt;
&lt;br /&gt;
Ein VLC mit Remote Control benutzbarkeit öffnet man mit:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# vlc -I rc --rc-host &amp;quot;IP-Adresse&amp;quot;:&amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; ist die des Rechners auf dem VLC ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Mann kann dann mit Tools wie ''Netcat'' darauf zugreifen mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# nc &amp;quot;IP-Adresse&amp;quot; &amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Man sieht hierbei keine Bestätigung, aber mit '''help''' lassen sich die benutzbaren Befehle anzeigen.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VLC&amp;diff=360</id>
		<title>VLC</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VLC&amp;diff=360"/>
		<updated>2009-07-17T11:16:25Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Stream senden (UDP) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:vlc.jpg]]&lt;br /&gt;
&lt;br /&gt;
=VLC media player=&lt;br /&gt;
Der VLC media player, oder anfangs VideoLAN client, ist ein mittlerweile bekannter freier Mediaplayer der die unterschiedlichsten Codecs und Dateiformate sowie DVD's und Video-CD's unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Geschichte==&lt;br /&gt;
Der VLC media player wird seit 1999 vom VideoLAN-Team entwickelt. Dieses besteht aus Studenten der französischen Ingenieurschule École centrale Paris in Châtenay-Malabry bei Paris und Entwicklern aus über 20 Ländern. Das Programm steht seit dem 1. Februar 2001 unter der GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Der Entwickler Antoine Cellerier kennt die Geschichte des Logos selbst nur vom Hörensagen: Eines Tages kamen Studenten eines der Netzwerk-Clubs der École centrale Paris betrunken mit einem Verkehrssicherungskegel nach Hause. Später ging aus diesem Club das VideoLAN-Projekt hervor. Als man ein Logo für das Programm suchte, fiel die Wahl auf den Kegel, aus dem zu diesem Zeitpunkt bereits eine beträchtliche Kegel-Sammlung hervorgegangen war.&lt;br /&gt;
&lt;br /&gt;
==Merkmale==&lt;br /&gt;
===Die Streaming Lösung===&lt;br /&gt;
Die ursprüngliche Streaming-Lösung besteht aus dem VideoLAN Server und dem VLC media player. Damit war das Streaming von digitalen TV-Inhalten, DVDs und MPEG- &amp;amp; DivX-Filmdateien über den Campus der École Centrale Paris möglich. Mittlerweile wurden beide Programme erweitert, sodass auch Streaming über das Internet realisierbar ist. VLC unterstützt mittlerweile auch Video on Demand, so dass es durchaus mit Streaminglösungen kommerzieller Anbieter konkurrieren kann. &lt;br /&gt;
&lt;br /&gt;
Durch die Weiterentwicklung des VLC media player zu einem eigenen Streaming-Server wurde das Konzept der Lösung seit Januar 2003 aufgeweicht. Eine mittelbare Folge davon ist, dass die Lösung auch von Benutzern ohne große Vorkenntnisse eingesetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
===Vielseitigkeit===&lt;br /&gt;
Besonders hervorzuheben ist die Vielseitigkeit des Programms, das nahezu jedes Format und jede Datei abspielt, auch unvollständige oder bruchstückhafte AVI-Dateien, was z. B. bei nicht vollständig heruntergeladenen Dateien der Fall sein kann. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich können über Filter verschiedene Effekte in Echtzeit angewandt werden. So kann z. B. ein Video, das im Hochformat aufgenommen wurde, um 90° gedreht, und Farbfilter etc. angewandt werden.&lt;br /&gt;
&lt;br /&gt;
===Portabilität===&lt;br /&gt;
Der VLC media player läuft unter GNU/Linux, Microsoft Windows, Mac OS X, BeOS, Syllable. Einige andere Betriebssysteme wie z. B. BSD werden auch unterstützt, für sie gibt es nur keine vorkompilierte Binär-Pakete.&lt;br /&gt;
Außerdem gibt es für Microsoft Windows eine portable (vom USB-Stick ohne Installation lauffähige) Version.&lt;br /&gt;
&lt;br /&gt;
== Einsatz ==&lt;br /&gt;
Der ''VLC media player'' kommt bei Privatnutzern, in Schulen und Universitäten, aber auch bei professionellen Anwendern zum Einsatz. Geschätzt wird vor allem die hohe Kompatibilität mit einer Vielzahl von Formaten und Codecs, wodurch er beinahe alles wiedergeben kann. Auch die im September 2007 vorgestellte ZDFmediathek unterstützt den VLC zur Wiedergabe ihres Video-on-Demand- und Livestream-Angebots (bei bestmöglicher Bildqualität dank Wiedergabe einer H.264-kodierten Videoquelle).&lt;br /&gt;
==Installation==&lt;br /&gt;
 root@zero:/etc# apt-get install vlc &lt;br /&gt;
 .....&lt;br /&gt;
&lt;br /&gt;
=Benutzung=&lt;br /&gt;
==Hilfe bekommen==&lt;br /&gt;
Alle Standard Operationen von VLC sollten über die Grafische Benutzeroberfläche verfügbar sein. Wie auch immer, manche komplexen Operationen können nur von der Kommandozeile aus benutzt werden  und es gibt Situationen in welchen man die Grafische Benutzeroberfläche nicht benötigt oder möchte.&lt;br /&gt;
&lt;br /&gt;
VLC hat eine Modulstruktur. Der Kern verwaltet haupsächlich die Kommunikation zwischen Modulen. Alle Multimediaprozesse werden von Modulen abgewickelt. Es gibt Input-Module, Demultiplexer, Decoder, Video Output Module und mehr...&lt;br /&gt;
&lt;br /&gt;
Dieses Kapitel wird nur die Kernoptionen erörtern. Jedes Modul erweitert VLC um neue Optionen. Zum Beispiel fügt das HTTP-Inputmodul Optionen für caching, proxy und Authentifikation hinzu.&lt;br /&gt;
&lt;br /&gt;
Einfachen Kernoptionen erfährt man mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --help'''&lt;br /&gt;
&lt;br /&gt;
Alle Grundoptionen des Kerns + der Module mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp'''&lt;br /&gt;
&lt;br /&gt;
Und wirklich alle Optionen mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp --advanced'''&lt;br /&gt;
&lt;br /&gt;
==Medien öffnen==&lt;br /&gt;
&lt;br /&gt;
Der folgende Befehl startet VLC mit &amp;quot;Datei&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc &amp;quot;Datei&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Öffnen von DVD's, Video- oder Audio CD's.&lt;br /&gt;
&lt;br /&gt;
DVD mit Menüs:&lt;br /&gt;
&lt;br /&gt;
  xinux@zero:~$ vlc '''dvd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DVD ohne Menüs:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$  vlc '''dvdsimple'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
VCD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''vcd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Audio CD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''cdda:'''//&amp;quot;device&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
==Stream senden (UDP)==&lt;br /&gt;
&lt;br /&gt;
Eine Datei kann man über VLC mit folgendem Befehl streamen:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc &amp;quot;Datei&amp;quot; '''--sout udp:&amp;quot;IP-Adresse&amp;quot; --ttl 12'''&lt;br /&gt;
Unicast&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:192.168.178.45 --ttl 12 &lt;br /&gt;
Multicast&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:224.0.0.224 &lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; muss entweder &lt;br /&gt;
&lt;br /&gt;
* ein Rechner an den man Unicast-Streamen will,&lt;br /&gt;
* der DNS Name eines Rechners an den man Unicast-Streamen will&lt;br /&gt;
* oder eine Multicast IP-Adresse sein (224.0.0.0 bis 239.255.255.255).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine DVD zu streamen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc dvdsimple://&amp;quot;/dev/dvd&amp;quot; '''--sout '#udp{mux=ts,dst=192.168.0.12}' --ttl 12 --sout-all'''&lt;br /&gt;
&lt;br /&gt;
Wobei &amp;quot;/dev/dvd&amp;quot; das DVD-Laufwerk sein muss, bei Windows z.B. ''D:''&lt;br /&gt;
&lt;br /&gt;
==Stream empfangen (UDP)==&lt;br /&gt;
&lt;br /&gt;
Um einen Unicast RTP/UDP Stream (Gesendet von VLC's Stream Output) zu empfangen muss man VLC mit folgenden Befehlen starten:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''udp://[@:server_port]'''&lt;br /&gt;
Beispiel &lt;br /&gt;
 cinema@receiver:~$ vlc udp://192.168.178.46 &lt;br /&gt;
&lt;br /&gt;
Wenn man den Standartport '''1234''' verwendet reicht '''vlc rtp://'''&lt;br /&gt;
&lt;br /&gt;
Um einen Multicast-Stream zu empfangen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''@multicast_address'''[@:server_port]&lt;br /&gt;
&lt;br /&gt;
Beispiel &lt;br /&gt;
 cinema@receiver:~$ vlc udp://@224.0.0.224 &lt;br /&gt;
&lt;br /&gt;
Um einen Stream von einer bestimmten Adresse zu empfangen ('''S'''ource'''S'''pecific'''M'''ulticast) braucht man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''server_address'''@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Dies funktioniert nur mit Betriebsystemen die SSM unterstützen (Windows XP und neueste Linux Kernels)&lt;br /&gt;
&lt;br /&gt;
Um einen HTTP-Stream zu empfangen startet man VLC mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc http://www.beispiel.org/Datei.mpg&lt;br /&gt;
&lt;br /&gt;
==Remote Control==&lt;br /&gt;
&lt;br /&gt;
VLC lässt sich nach belieben auch über Interfaces wie Telnet auf entfernten Rechnern steuern.&lt;br /&gt;
&lt;br /&gt;
Ein VLC mit Remote Control benutzbarkeit öffnet man mit:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# vlc -I rc --rc-host &amp;quot;IP-Adresse&amp;quot;:&amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; ist die des Rechners auf dem VLC ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Mann kann dann mit Tools wie ''Netcat'' darauf zugreifen mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# nc &amp;quot;IP-Adresse&amp;quot; &amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Man sieht hierbei keine Bestätigung, aber mit '''help''' lassen sich die benutzbaren Befehle anzeigen.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VLC&amp;diff=359</id>
		<title>VLC</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VLC&amp;diff=359"/>
		<updated>2009-07-17T11:16:10Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Stream empfangen (UDP) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:vlc.jpg]]&lt;br /&gt;
&lt;br /&gt;
=VLC media player=&lt;br /&gt;
Der VLC media player, oder anfangs VideoLAN client, ist ein mittlerweile bekannter freier Mediaplayer der die unterschiedlichsten Codecs und Dateiformate sowie DVD's und Video-CD's unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Geschichte==&lt;br /&gt;
Der VLC media player wird seit 1999 vom VideoLAN-Team entwickelt. Dieses besteht aus Studenten der französischen Ingenieurschule École centrale Paris in Châtenay-Malabry bei Paris und Entwicklern aus über 20 Ländern. Das Programm steht seit dem 1. Februar 2001 unter der GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Der Entwickler Antoine Cellerier kennt die Geschichte des Logos selbst nur vom Hörensagen: Eines Tages kamen Studenten eines der Netzwerk-Clubs der École centrale Paris betrunken mit einem Verkehrssicherungskegel nach Hause. Später ging aus diesem Club das VideoLAN-Projekt hervor. Als man ein Logo für das Programm suchte, fiel die Wahl auf den Kegel, aus dem zu diesem Zeitpunkt bereits eine beträchtliche Kegel-Sammlung hervorgegangen war.&lt;br /&gt;
&lt;br /&gt;
==Merkmale==&lt;br /&gt;
===Die Streaming Lösung===&lt;br /&gt;
Die ursprüngliche Streaming-Lösung besteht aus dem VideoLAN Server und dem VLC media player. Damit war das Streaming von digitalen TV-Inhalten, DVDs und MPEG- &amp;amp; DivX-Filmdateien über den Campus der École Centrale Paris möglich. Mittlerweile wurden beide Programme erweitert, sodass auch Streaming über das Internet realisierbar ist. VLC unterstützt mittlerweile auch Video on Demand, so dass es durchaus mit Streaminglösungen kommerzieller Anbieter konkurrieren kann. &lt;br /&gt;
&lt;br /&gt;
Durch die Weiterentwicklung des VLC media player zu einem eigenen Streaming-Server wurde das Konzept der Lösung seit Januar 2003 aufgeweicht. Eine mittelbare Folge davon ist, dass die Lösung auch von Benutzern ohne große Vorkenntnisse eingesetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
===Vielseitigkeit===&lt;br /&gt;
Besonders hervorzuheben ist die Vielseitigkeit des Programms, das nahezu jedes Format und jede Datei abspielt, auch unvollständige oder bruchstückhafte AVI-Dateien, was z. B. bei nicht vollständig heruntergeladenen Dateien der Fall sein kann. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich können über Filter verschiedene Effekte in Echtzeit angewandt werden. So kann z. B. ein Video, das im Hochformat aufgenommen wurde, um 90° gedreht, und Farbfilter etc. angewandt werden.&lt;br /&gt;
&lt;br /&gt;
===Portabilität===&lt;br /&gt;
Der VLC media player läuft unter GNU/Linux, Microsoft Windows, Mac OS X, BeOS, Syllable. Einige andere Betriebssysteme wie z. B. BSD werden auch unterstützt, für sie gibt es nur keine vorkompilierte Binär-Pakete.&lt;br /&gt;
Außerdem gibt es für Microsoft Windows eine portable (vom USB-Stick ohne Installation lauffähige) Version.&lt;br /&gt;
&lt;br /&gt;
== Einsatz ==&lt;br /&gt;
Der ''VLC media player'' kommt bei Privatnutzern, in Schulen und Universitäten, aber auch bei professionellen Anwendern zum Einsatz. Geschätzt wird vor allem die hohe Kompatibilität mit einer Vielzahl von Formaten und Codecs, wodurch er beinahe alles wiedergeben kann. Auch die im September 2007 vorgestellte ZDFmediathek unterstützt den VLC zur Wiedergabe ihres Video-on-Demand- und Livestream-Angebots (bei bestmöglicher Bildqualität dank Wiedergabe einer H.264-kodierten Videoquelle).&lt;br /&gt;
==Installation==&lt;br /&gt;
 root@zero:/etc# apt-get install vlc &lt;br /&gt;
 .....&lt;br /&gt;
&lt;br /&gt;
=Benutzung=&lt;br /&gt;
==Hilfe bekommen==&lt;br /&gt;
Alle Standard Operationen von VLC sollten über die Grafische Benutzeroberfläche verfügbar sein. Wie auch immer, manche komplexen Operationen können nur von der Kommandozeile aus benutzt werden  und es gibt Situationen in welchen man die Grafische Benutzeroberfläche nicht benötigt oder möchte.&lt;br /&gt;
&lt;br /&gt;
VLC hat eine Modulstruktur. Der Kern verwaltet haupsächlich die Kommunikation zwischen Modulen. Alle Multimediaprozesse werden von Modulen abgewickelt. Es gibt Input-Module, Demultiplexer, Decoder, Video Output Module und mehr...&lt;br /&gt;
&lt;br /&gt;
Dieses Kapitel wird nur die Kernoptionen erörtern. Jedes Modul erweitert VLC um neue Optionen. Zum Beispiel fügt das HTTP-Inputmodul Optionen für caching, proxy und Authentifikation hinzu.&lt;br /&gt;
&lt;br /&gt;
Einfachen Kernoptionen erfährt man mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --help'''&lt;br /&gt;
&lt;br /&gt;
Alle Grundoptionen des Kerns + der Module mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp'''&lt;br /&gt;
&lt;br /&gt;
Und wirklich alle Optionen mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp --advanced'''&lt;br /&gt;
&lt;br /&gt;
==Medien öffnen==&lt;br /&gt;
&lt;br /&gt;
Der folgende Befehl startet VLC mit &amp;quot;Datei&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc &amp;quot;Datei&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Öffnen von DVD's, Video- oder Audio CD's.&lt;br /&gt;
&lt;br /&gt;
DVD mit Menüs:&lt;br /&gt;
&lt;br /&gt;
  xinux@zero:~$ vlc '''dvd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DVD ohne Menüs:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$  vlc '''dvdsimple'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
VCD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''vcd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Audio CD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''cdda:'''//&amp;quot;device&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
==Stream senden (UDP)==&lt;br /&gt;
&lt;br /&gt;
Eine Datei kann man über VLC mit folgendem Befehl streamen:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc &amp;quot;Datei&amp;quot; '''--sout udp:&amp;quot;IP-Adresse&amp;quot; --ttl 12'''&lt;br /&gt;
&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:192.168.178.45 --ttl 12 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; muss entweder &lt;br /&gt;
&lt;br /&gt;
* ein Rechner an den man Unicast-Streamen will,&lt;br /&gt;
* der DNS Name eines Rechners an den man Unicast-Streamen will&lt;br /&gt;
* oder eine Multicast IP-Adresse sein (224.0.0.0 bis 239.255.255.255).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine DVD zu streamen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc dvdsimple://&amp;quot;/dev/dvd&amp;quot; '''--sout '#udp{mux=ts,dst=192.168.0.12}' --ttl 12 --sout-all'''&lt;br /&gt;
&lt;br /&gt;
Wobei &amp;quot;/dev/dvd&amp;quot; das DVD-Laufwerk sein muss, bei Windows z.B. ''D:''&lt;br /&gt;
&lt;br /&gt;
==Stream empfangen (UDP)==&lt;br /&gt;
&lt;br /&gt;
Um einen Unicast RTP/UDP Stream (Gesendet von VLC's Stream Output) zu empfangen muss man VLC mit folgenden Befehlen starten:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''udp://[@:server_port]'''&lt;br /&gt;
Beispiel &lt;br /&gt;
 cinema@receiver:~$ vlc udp://192.168.178.46 &lt;br /&gt;
&lt;br /&gt;
Wenn man den Standartport '''1234''' verwendet reicht '''vlc rtp://'''&lt;br /&gt;
&lt;br /&gt;
Um einen Multicast-Stream zu empfangen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''@multicast_address'''[@:server_port]&lt;br /&gt;
&lt;br /&gt;
Beispiel &lt;br /&gt;
 cinema@receiver:~$ vlc udp://@224.0.0.224 &lt;br /&gt;
&lt;br /&gt;
Um einen Stream von einer bestimmten Adresse zu empfangen ('''S'''ource'''S'''pecific'''M'''ulticast) braucht man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''server_address'''@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Dies funktioniert nur mit Betriebsystemen die SSM unterstützen (Windows XP und neueste Linux Kernels)&lt;br /&gt;
&lt;br /&gt;
Um einen HTTP-Stream zu empfangen startet man VLC mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc http://www.beispiel.org/Datei.mpg&lt;br /&gt;
&lt;br /&gt;
==Remote Control==&lt;br /&gt;
&lt;br /&gt;
VLC lässt sich nach belieben auch über Interfaces wie Telnet auf entfernten Rechnern steuern.&lt;br /&gt;
&lt;br /&gt;
Ein VLC mit Remote Control benutzbarkeit öffnet man mit:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# vlc -I rc --rc-host &amp;quot;IP-Adresse&amp;quot;:&amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; ist die des Rechners auf dem VLC ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Mann kann dann mit Tools wie ''Netcat'' darauf zugreifen mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# nc &amp;quot;IP-Adresse&amp;quot; &amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Man sieht hierbei keine Bestätigung, aber mit '''help''' lassen sich die benutzbaren Befehle anzeigen.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VLC&amp;diff=358</id>
		<title>VLC</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VLC&amp;diff=358"/>
		<updated>2009-07-17T11:15:49Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Stream empfangen (UDP) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:vlc.jpg]]&lt;br /&gt;
&lt;br /&gt;
=VLC media player=&lt;br /&gt;
Der VLC media player, oder anfangs VideoLAN client, ist ein mittlerweile bekannter freier Mediaplayer der die unterschiedlichsten Codecs und Dateiformate sowie DVD's und Video-CD's unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Geschichte==&lt;br /&gt;
Der VLC media player wird seit 1999 vom VideoLAN-Team entwickelt. Dieses besteht aus Studenten der französischen Ingenieurschule École centrale Paris in Châtenay-Malabry bei Paris und Entwicklern aus über 20 Ländern. Das Programm steht seit dem 1. Februar 2001 unter der GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Der Entwickler Antoine Cellerier kennt die Geschichte des Logos selbst nur vom Hörensagen: Eines Tages kamen Studenten eines der Netzwerk-Clubs der École centrale Paris betrunken mit einem Verkehrssicherungskegel nach Hause. Später ging aus diesem Club das VideoLAN-Projekt hervor. Als man ein Logo für das Programm suchte, fiel die Wahl auf den Kegel, aus dem zu diesem Zeitpunkt bereits eine beträchtliche Kegel-Sammlung hervorgegangen war.&lt;br /&gt;
&lt;br /&gt;
==Merkmale==&lt;br /&gt;
===Die Streaming Lösung===&lt;br /&gt;
Die ursprüngliche Streaming-Lösung besteht aus dem VideoLAN Server und dem VLC media player. Damit war das Streaming von digitalen TV-Inhalten, DVDs und MPEG- &amp;amp; DivX-Filmdateien über den Campus der École Centrale Paris möglich. Mittlerweile wurden beide Programme erweitert, sodass auch Streaming über das Internet realisierbar ist. VLC unterstützt mittlerweile auch Video on Demand, so dass es durchaus mit Streaminglösungen kommerzieller Anbieter konkurrieren kann. &lt;br /&gt;
&lt;br /&gt;
Durch die Weiterentwicklung des VLC media player zu einem eigenen Streaming-Server wurde das Konzept der Lösung seit Januar 2003 aufgeweicht. Eine mittelbare Folge davon ist, dass die Lösung auch von Benutzern ohne große Vorkenntnisse eingesetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
===Vielseitigkeit===&lt;br /&gt;
Besonders hervorzuheben ist die Vielseitigkeit des Programms, das nahezu jedes Format und jede Datei abspielt, auch unvollständige oder bruchstückhafte AVI-Dateien, was z. B. bei nicht vollständig heruntergeladenen Dateien der Fall sein kann. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich können über Filter verschiedene Effekte in Echtzeit angewandt werden. So kann z. B. ein Video, das im Hochformat aufgenommen wurde, um 90° gedreht, und Farbfilter etc. angewandt werden.&lt;br /&gt;
&lt;br /&gt;
===Portabilität===&lt;br /&gt;
Der VLC media player läuft unter GNU/Linux, Microsoft Windows, Mac OS X, BeOS, Syllable. Einige andere Betriebssysteme wie z. B. BSD werden auch unterstützt, für sie gibt es nur keine vorkompilierte Binär-Pakete.&lt;br /&gt;
Außerdem gibt es für Microsoft Windows eine portable (vom USB-Stick ohne Installation lauffähige) Version.&lt;br /&gt;
&lt;br /&gt;
== Einsatz ==&lt;br /&gt;
Der ''VLC media player'' kommt bei Privatnutzern, in Schulen und Universitäten, aber auch bei professionellen Anwendern zum Einsatz. Geschätzt wird vor allem die hohe Kompatibilität mit einer Vielzahl von Formaten und Codecs, wodurch er beinahe alles wiedergeben kann. Auch die im September 2007 vorgestellte ZDFmediathek unterstützt den VLC zur Wiedergabe ihres Video-on-Demand- und Livestream-Angebots (bei bestmöglicher Bildqualität dank Wiedergabe einer H.264-kodierten Videoquelle).&lt;br /&gt;
==Installation==&lt;br /&gt;
 root@zero:/etc# apt-get install vlc &lt;br /&gt;
 .....&lt;br /&gt;
&lt;br /&gt;
=Benutzung=&lt;br /&gt;
==Hilfe bekommen==&lt;br /&gt;
Alle Standard Operationen von VLC sollten über die Grafische Benutzeroberfläche verfügbar sein. Wie auch immer, manche komplexen Operationen können nur von der Kommandozeile aus benutzt werden  und es gibt Situationen in welchen man die Grafische Benutzeroberfläche nicht benötigt oder möchte.&lt;br /&gt;
&lt;br /&gt;
VLC hat eine Modulstruktur. Der Kern verwaltet haupsächlich die Kommunikation zwischen Modulen. Alle Multimediaprozesse werden von Modulen abgewickelt. Es gibt Input-Module, Demultiplexer, Decoder, Video Output Module und mehr...&lt;br /&gt;
&lt;br /&gt;
Dieses Kapitel wird nur die Kernoptionen erörtern. Jedes Modul erweitert VLC um neue Optionen. Zum Beispiel fügt das HTTP-Inputmodul Optionen für caching, proxy und Authentifikation hinzu.&lt;br /&gt;
&lt;br /&gt;
Einfachen Kernoptionen erfährt man mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --help'''&lt;br /&gt;
&lt;br /&gt;
Alle Grundoptionen des Kerns + der Module mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp'''&lt;br /&gt;
&lt;br /&gt;
Und wirklich alle Optionen mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp --advanced'''&lt;br /&gt;
&lt;br /&gt;
==Medien öffnen==&lt;br /&gt;
&lt;br /&gt;
Der folgende Befehl startet VLC mit &amp;quot;Datei&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc &amp;quot;Datei&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Öffnen von DVD's, Video- oder Audio CD's.&lt;br /&gt;
&lt;br /&gt;
DVD mit Menüs:&lt;br /&gt;
&lt;br /&gt;
  xinux@zero:~$ vlc '''dvd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DVD ohne Menüs:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$  vlc '''dvdsimple'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
VCD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''vcd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Audio CD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''cdda:'''//&amp;quot;device&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
==Stream senden (UDP)==&lt;br /&gt;
&lt;br /&gt;
Eine Datei kann man über VLC mit folgendem Befehl streamen:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc &amp;quot;Datei&amp;quot; '''--sout udp:&amp;quot;IP-Adresse&amp;quot; --ttl 12'''&lt;br /&gt;
&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:192.168.178.45 --ttl 12 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; muss entweder &lt;br /&gt;
&lt;br /&gt;
* ein Rechner an den man Unicast-Streamen will,&lt;br /&gt;
* der DNS Name eines Rechners an den man Unicast-Streamen will&lt;br /&gt;
* oder eine Multicast IP-Adresse sein (224.0.0.0 bis 239.255.255.255).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine DVD zu streamen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc dvdsimple://&amp;quot;/dev/dvd&amp;quot; '''--sout '#udp{mux=ts,dst=192.168.0.12}' --ttl 12 --sout-all'''&lt;br /&gt;
&lt;br /&gt;
Wobei &amp;quot;/dev/dvd&amp;quot; das DVD-Laufwerk sein muss, bei Windows z.B. ''D:''&lt;br /&gt;
&lt;br /&gt;
==Stream empfangen (UDP)==&lt;br /&gt;
&lt;br /&gt;
Um einen Unicast RTP/UDP Stream (Gesendet von VLC's Stream Output) zu empfangen muss man VLC mit folgenden Befehlen starten:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''udp://[@:server_port]'''&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wenn man den Standartport '''1234''' verwendet reicht '''vlc rtp://'''&lt;br /&gt;
&lt;br /&gt;
Um einen Multicast-Stream zu empfangen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''@multicast_address'''[@:server_port]&lt;br /&gt;
&lt;br /&gt;
Um einen Stream von einer bestimmten Adresse zu empfangen ('''S'''ource'''S'''pecific'''M'''ulticast) braucht man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''server_address'''@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Dies funktioniert nur mit Betriebsystemen die SSM unterstützen (Windows XP und neueste Linux Kernels)&lt;br /&gt;
&lt;br /&gt;
Um einen HTTP-Stream zu empfangen startet man VLC mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc http://www.beispiel.org/Datei.mpg&lt;br /&gt;
&lt;br /&gt;
==Remote Control==&lt;br /&gt;
&lt;br /&gt;
VLC lässt sich nach belieben auch über Interfaces wie Telnet auf entfernten Rechnern steuern.&lt;br /&gt;
&lt;br /&gt;
Ein VLC mit Remote Control benutzbarkeit öffnet man mit:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# vlc -I rc --rc-host &amp;quot;IP-Adresse&amp;quot;:&amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; ist die des Rechners auf dem VLC ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Mann kann dann mit Tools wie ''Netcat'' darauf zugreifen mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# nc &amp;quot;IP-Adresse&amp;quot; &amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Man sieht hierbei keine Bestätigung, aber mit '''help''' lassen sich die benutzbaren Befehle anzeigen.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VLC&amp;diff=357</id>
		<title>VLC</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VLC&amp;diff=357"/>
		<updated>2009-07-17T11:15:44Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Stream senden (UDP) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:vlc.jpg]]&lt;br /&gt;
&lt;br /&gt;
=VLC media player=&lt;br /&gt;
Der VLC media player, oder anfangs VideoLAN client, ist ein mittlerweile bekannter freier Mediaplayer der die unterschiedlichsten Codecs und Dateiformate sowie DVD's und Video-CD's unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Geschichte==&lt;br /&gt;
Der VLC media player wird seit 1999 vom VideoLAN-Team entwickelt. Dieses besteht aus Studenten der französischen Ingenieurschule École centrale Paris in Châtenay-Malabry bei Paris und Entwicklern aus über 20 Ländern. Das Programm steht seit dem 1. Februar 2001 unter der GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Der Entwickler Antoine Cellerier kennt die Geschichte des Logos selbst nur vom Hörensagen: Eines Tages kamen Studenten eines der Netzwerk-Clubs der École centrale Paris betrunken mit einem Verkehrssicherungskegel nach Hause. Später ging aus diesem Club das VideoLAN-Projekt hervor. Als man ein Logo für das Programm suchte, fiel die Wahl auf den Kegel, aus dem zu diesem Zeitpunkt bereits eine beträchtliche Kegel-Sammlung hervorgegangen war.&lt;br /&gt;
&lt;br /&gt;
==Merkmale==&lt;br /&gt;
===Die Streaming Lösung===&lt;br /&gt;
Die ursprüngliche Streaming-Lösung besteht aus dem VideoLAN Server und dem VLC media player. Damit war das Streaming von digitalen TV-Inhalten, DVDs und MPEG- &amp;amp; DivX-Filmdateien über den Campus der École Centrale Paris möglich. Mittlerweile wurden beide Programme erweitert, sodass auch Streaming über das Internet realisierbar ist. VLC unterstützt mittlerweile auch Video on Demand, so dass es durchaus mit Streaminglösungen kommerzieller Anbieter konkurrieren kann. &lt;br /&gt;
&lt;br /&gt;
Durch die Weiterentwicklung des VLC media player zu einem eigenen Streaming-Server wurde das Konzept der Lösung seit Januar 2003 aufgeweicht. Eine mittelbare Folge davon ist, dass die Lösung auch von Benutzern ohne große Vorkenntnisse eingesetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
===Vielseitigkeit===&lt;br /&gt;
Besonders hervorzuheben ist die Vielseitigkeit des Programms, das nahezu jedes Format und jede Datei abspielt, auch unvollständige oder bruchstückhafte AVI-Dateien, was z. B. bei nicht vollständig heruntergeladenen Dateien der Fall sein kann. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich können über Filter verschiedene Effekte in Echtzeit angewandt werden. So kann z. B. ein Video, das im Hochformat aufgenommen wurde, um 90° gedreht, und Farbfilter etc. angewandt werden.&lt;br /&gt;
&lt;br /&gt;
===Portabilität===&lt;br /&gt;
Der VLC media player läuft unter GNU/Linux, Microsoft Windows, Mac OS X, BeOS, Syllable. Einige andere Betriebssysteme wie z. B. BSD werden auch unterstützt, für sie gibt es nur keine vorkompilierte Binär-Pakete.&lt;br /&gt;
Außerdem gibt es für Microsoft Windows eine portable (vom USB-Stick ohne Installation lauffähige) Version.&lt;br /&gt;
&lt;br /&gt;
== Einsatz ==&lt;br /&gt;
Der ''VLC media player'' kommt bei Privatnutzern, in Schulen und Universitäten, aber auch bei professionellen Anwendern zum Einsatz. Geschätzt wird vor allem die hohe Kompatibilität mit einer Vielzahl von Formaten und Codecs, wodurch er beinahe alles wiedergeben kann. Auch die im September 2007 vorgestellte ZDFmediathek unterstützt den VLC zur Wiedergabe ihres Video-on-Demand- und Livestream-Angebots (bei bestmöglicher Bildqualität dank Wiedergabe einer H.264-kodierten Videoquelle).&lt;br /&gt;
==Installation==&lt;br /&gt;
 root@zero:/etc# apt-get install vlc &lt;br /&gt;
 .....&lt;br /&gt;
&lt;br /&gt;
=Benutzung=&lt;br /&gt;
==Hilfe bekommen==&lt;br /&gt;
Alle Standard Operationen von VLC sollten über die Grafische Benutzeroberfläche verfügbar sein. Wie auch immer, manche komplexen Operationen können nur von der Kommandozeile aus benutzt werden  und es gibt Situationen in welchen man die Grafische Benutzeroberfläche nicht benötigt oder möchte.&lt;br /&gt;
&lt;br /&gt;
VLC hat eine Modulstruktur. Der Kern verwaltet haupsächlich die Kommunikation zwischen Modulen. Alle Multimediaprozesse werden von Modulen abgewickelt. Es gibt Input-Module, Demultiplexer, Decoder, Video Output Module und mehr...&lt;br /&gt;
&lt;br /&gt;
Dieses Kapitel wird nur die Kernoptionen erörtern. Jedes Modul erweitert VLC um neue Optionen. Zum Beispiel fügt das HTTP-Inputmodul Optionen für caching, proxy und Authentifikation hinzu.&lt;br /&gt;
&lt;br /&gt;
Einfachen Kernoptionen erfährt man mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --help'''&lt;br /&gt;
&lt;br /&gt;
Alle Grundoptionen des Kerns + der Module mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp'''&lt;br /&gt;
&lt;br /&gt;
Und wirklich alle Optionen mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp --advanced'''&lt;br /&gt;
&lt;br /&gt;
==Medien öffnen==&lt;br /&gt;
&lt;br /&gt;
Der folgende Befehl startet VLC mit &amp;quot;Datei&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc &amp;quot;Datei&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Öffnen von DVD's, Video- oder Audio CD's.&lt;br /&gt;
&lt;br /&gt;
DVD mit Menüs:&lt;br /&gt;
&lt;br /&gt;
  xinux@zero:~$ vlc '''dvd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DVD ohne Menüs:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$  vlc '''dvdsimple'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
VCD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''vcd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Audio CD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''cdda:'''//&amp;quot;device&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
==Stream senden (UDP)==&lt;br /&gt;
&lt;br /&gt;
Eine Datei kann man über VLC mit folgendem Befehl streamen:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc &amp;quot;Datei&amp;quot; '''--sout udp:&amp;quot;IP-Adresse&amp;quot; --ttl 12'''&lt;br /&gt;
&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:192.168.178.45 --ttl 12 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; muss entweder &lt;br /&gt;
&lt;br /&gt;
* ein Rechner an den man Unicast-Streamen will,&lt;br /&gt;
* der DNS Name eines Rechners an den man Unicast-Streamen will&lt;br /&gt;
* oder eine Multicast IP-Adresse sein (224.0.0.0 bis 239.255.255.255).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine DVD zu streamen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc dvdsimple://&amp;quot;/dev/dvd&amp;quot; '''--sout '#udp{mux=ts,dst=192.168.0.12}' --ttl 12 --sout-all'''&lt;br /&gt;
&lt;br /&gt;
Wobei &amp;quot;/dev/dvd&amp;quot; das DVD-Laufwerk sein muss, bei Windows z.B. ''D:''&lt;br /&gt;
&lt;br /&gt;
==Stream empfangen (UDP)==&lt;br /&gt;
&lt;br /&gt;
Um einen Unicast RTP/UDP Stream (Gesendet von VLC's Stream Output) zu empfangen muss man VLC mit folgenden Befehlen starten:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''udp://[@:server_port]'''&lt;br /&gt;
&lt;br /&gt;
Wenn man den Standartport '''1234''' verwendet reicht '''vlc rtp://'''&lt;br /&gt;
&lt;br /&gt;
Um einen Multicast-Stream zu empfangen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''@multicast_address'''[@:server_port]&lt;br /&gt;
&lt;br /&gt;
Um einen Stream von einer bestimmten Adresse zu empfangen ('''S'''ource'''S'''pecific'''M'''ulticast) braucht man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''server_address'''@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Dies funktioniert nur mit Betriebsystemen die SSM unterstützen (Windows XP und neueste Linux Kernels)&lt;br /&gt;
&lt;br /&gt;
Um einen HTTP-Stream zu empfangen startet man VLC mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc http://www.beispiel.org/Datei.mpg&lt;br /&gt;
&lt;br /&gt;
==Remote Control==&lt;br /&gt;
&lt;br /&gt;
VLC lässt sich nach belieben auch über Interfaces wie Telnet auf entfernten Rechnern steuern.&lt;br /&gt;
&lt;br /&gt;
Ein VLC mit Remote Control benutzbarkeit öffnet man mit:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# vlc -I rc --rc-host &amp;quot;IP-Adresse&amp;quot;:&amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; ist die des Rechners auf dem VLC ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Mann kann dann mit Tools wie ''Netcat'' darauf zugreifen mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# nc &amp;quot;IP-Adresse&amp;quot; &amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Man sieht hierbei keine Bestätigung, aber mit '''help''' lassen sich die benutzbaren Befehle anzeigen.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VLC&amp;diff=356</id>
		<title>VLC</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VLC&amp;diff=356"/>
		<updated>2009-07-17T11:15:36Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Stream senden (UDP) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:vlc.jpg]]&lt;br /&gt;
&lt;br /&gt;
=VLC media player=&lt;br /&gt;
Der VLC media player, oder anfangs VideoLAN client, ist ein mittlerweile bekannter freier Mediaplayer der die unterschiedlichsten Codecs und Dateiformate sowie DVD's und Video-CD's unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Geschichte==&lt;br /&gt;
Der VLC media player wird seit 1999 vom VideoLAN-Team entwickelt. Dieses besteht aus Studenten der französischen Ingenieurschule École centrale Paris in Châtenay-Malabry bei Paris und Entwicklern aus über 20 Ländern. Das Programm steht seit dem 1. Februar 2001 unter der GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Der Entwickler Antoine Cellerier kennt die Geschichte des Logos selbst nur vom Hörensagen: Eines Tages kamen Studenten eines der Netzwerk-Clubs der École centrale Paris betrunken mit einem Verkehrssicherungskegel nach Hause. Später ging aus diesem Club das VideoLAN-Projekt hervor. Als man ein Logo für das Programm suchte, fiel die Wahl auf den Kegel, aus dem zu diesem Zeitpunkt bereits eine beträchtliche Kegel-Sammlung hervorgegangen war.&lt;br /&gt;
&lt;br /&gt;
==Merkmale==&lt;br /&gt;
===Die Streaming Lösung===&lt;br /&gt;
Die ursprüngliche Streaming-Lösung besteht aus dem VideoLAN Server und dem VLC media player. Damit war das Streaming von digitalen TV-Inhalten, DVDs und MPEG- &amp;amp; DivX-Filmdateien über den Campus der École Centrale Paris möglich. Mittlerweile wurden beide Programme erweitert, sodass auch Streaming über das Internet realisierbar ist. VLC unterstützt mittlerweile auch Video on Demand, so dass es durchaus mit Streaminglösungen kommerzieller Anbieter konkurrieren kann. &lt;br /&gt;
&lt;br /&gt;
Durch die Weiterentwicklung des VLC media player zu einem eigenen Streaming-Server wurde das Konzept der Lösung seit Januar 2003 aufgeweicht. Eine mittelbare Folge davon ist, dass die Lösung auch von Benutzern ohne große Vorkenntnisse eingesetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
===Vielseitigkeit===&lt;br /&gt;
Besonders hervorzuheben ist die Vielseitigkeit des Programms, das nahezu jedes Format und jede Datei abspielt, auch unvollständige oder bruchstückhafte AVI-Dateien, was z. B. bei nicht vollständig heruntergeladenen Dateien der Fall sein kann. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich können über Filter verschiedene Effekte in Echtzeit angewandt werden. So kann z. B. ein Video, das im Hochformat aufgenommen wurde, um 90° gedreht, und Farbfilter etc. angewandt werden.&lt;br /&gt;
&lt;br /&gt;
===Portabilität===&lt;br /&gt;
Der VLC media player läuft unter GNU/Linux, Microsoft Windows, Mac OS X, BeOS, Syllable. Einige andere Betriebssysteme wie z. B. BSD werden auch unterstützt, für sie gibt es nur keine vorkompilierte Binär-Pakete.&lt;br /&gt;
Außerdem gibt es für Microsoft Windows eine portable (vom USB-Stick ohne Installation lauffähige) Version.&lt;br /&gt;
&lt;br /&gt;
== Einsatz ==&lt;br /&gt;
Der ''VLC media player'' kommt bei Privatnutzern, in Schulen und Universitäten, aber auch bei professionellen Anwendern zum Einsatz. Geschätzt wird vor allem die hohe Kompatibilität mit einer Vielzahl von Formaten und Codecs, wodurch er beinahe alles wiedergeben kann. Auch die im September 2007 vorgestellte ZDFmediathek unterstützt den VLC zur Wiedergabe ihres Video-on-Demand- und Livestream-Angebots (bei bestmöglicher Bildqualität dank Wiedergabe einer H.264-kodierten Videoquelle).&lt;br /&gt;
==Installation==&lt;br /&gt;
 root@zero:/etc# apt-get install vlc &lt;br /&gt;
 .....&lt;br /&gt;
&lt;br /&gt;
=Benutzung=&lt;br /&gt;
==Hilfe bekommen==&lt;br /&gt;
Alle Standard Operationen von VLC sollten über die Grafische Benutzeroberfläche verfügbar sein. Wie auch immer, manche komplexen Operationen können nur von der Kommandozeile aus benutzt werden  und es gibt Situationen in welchen man die Grafische Benutzeroberfläche nicht benötigt oder möchte.&lt;br /&gt;
&lt;br /&gt;
VLC hat eine Modulstruktur. Der Kern verwaltet haupsächlich die Kommunikation zwischen Modulen. Alle Multimediaprozesse werden von Modulen abgewickelt. Es gibt Input-Module, Demultiplexer, Decoder, Video Output Module und mehr...&lt;br /&gt;
&lt;br /&gt;
Dieses Kapitel wird nur die Kernoptionen erörtern. Jedes Modul erweitert VLC um neue Optionen. Zum Beispiel fügt das HTTP-Inputmodul Optionen für caching, proxy und Authentifikation hinzu.&lt;br /&gt;
&lt;br /&gt;
Einfachen Kernoptionen erfährt man mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --help'''&lt;br /&gt;
&lt;br /&gt;
Alle Grundoptionen des Kerns + der Module mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp'''&lt;br /&gt;
&lt;br /&gt;
Und wirklich alle Optionen mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp --advanced'''&lt;br /&gt;
&lt;br /&gt;
==Medien öffnen==&lt;br /&gt;
&lt;br /&gt;
Der folgende Befehl startet VLC mit &amp;quot;Datei&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc &amp;quot;Datei&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Öffnen von DVD's, Video- oder Audio CD's.&lt;br /&gt;
&lt;br /&gt;
DVD mit Menüs:&lt;br /&gt;
&lt;br /&gt;
  xinux@zero:~$ vlc '''dvd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DVD ohne Menüs:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$  vlc '''dvdsimple'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
VCD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''vcd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Audio CD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''cdda:'''//&amp;quot;device&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
==Stream senden (UDP)==&lt;br /&gt;
&lt;br /&gt;
Eine Datei kann man über VLC mit folgendem Befehl streamen:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc &amp;quot;Datei&amp;quot; '''--sout udp:&amp;quot;IP-Adresse&amp;quot; --ttl 12'''&lt;br /&gt;
&lt;br /&gt;
 director@sender:~$ vlc the.collective.avi --sout udp:192.168.178.45 --ttl 12 &lt;br /&gt;
 cinema@receiver:~$ vlc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; muss entweder &lt;br /&gt;
&lt;br /&gt;
* ein Rechner an den man Unicast-Streamen will,&lt;br /&gt;
* der DNS Name eines Rechners an den man Unicast-Streamen will&lt;br /&gt;
* oder eine Multicast IP-Adresse sein (224.0.0.0 bis 239.255.255.255).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine DVD zu streamen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc dvdsimple://&amp;quot;/dev/dvd&amp;quot; '''--sout '#udp{mux=ts,dst=192.168.0.12}' --ttl 12 --sout-all'''&lt;br /&gt;
&lt;br /&gt;
Wobei &amp;quot;/dev/dvd&amp;quot; das DVD-Laufwerk sein muss, bei Windows z.B. ''D:''&lt;br /&gt;
&lt;br /&gt;
==Stream empfangen (UDP)==&lt;br /&gt;
&lt;br /&gt;
Um einen Unicast RTP/UDP Stream (Gesendet von VLC's Stream Output) zu empfangen muss man VLC mit folgenden Befehlen starten:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''udp://[@:server_port]'''&lt;br /&gt;
&lt;br /&gt;
Wenn man den Standartport '''1234''' verwendet reicht '''vlc rtp://'''&lt;br /&gt;
&lt;br /&gt;
Um einen Multicast-Stream zu empfangen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''@multicast_address'''[@:server_port]&lt;br /&gt;
&lt;br /&gt;
Um einen Stream von einer bestimmten Adresse zu empfangen ('''S'''ource'''S'''pecific'''M'''ulticast) braucht man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''server_address'''@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Dies funktioniert nur mit Betriebsystemen die SSM unterstützen (Windows XP und neueste Linux Kernels)&lt;br /&gt;
&lt;br /&gt;
Um einen HTTP-Stream zu empfangen startet man VLC mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc http://www.beispiel.org/Datei.mpg&lt;br /&gt;
&lt;br /&gt;
==Remote Control==&lt;br /&gt;
&lt;br /&gt;
VLC lässt sich nach belieben auch über Interfaces wie Telnet auf entfernten Rechnern steuern.&lt;br /&gt;
&lt;br /&gt;
Ein VLC mit Remote Control benutzbarkeit öffnet man mit:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# vlc -I rc --rc-host &amp;quot;IP-Adresse&amp;quot;:&amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; ist die des Rechners auf dem VLC ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Mann kann dann mit Tools wie ''Netcat'' darauf zugreifen mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# nc &amp;quot;IP-Adresse&amp;quot; &amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Man sieht hierbei keine Bestätigung, aber mit '''help''' lassen sich die benutzbaren Befehle anzeigen.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VLC&amp;diff=355</id>
		<title>VLC</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VLC&amp;diff=355"/>
		<updated>2009-07-17T11:15:23Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Stream senden (UDP) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:vlc.jpg]]&lt;br /&gt;
&lt;br /&gt;
=VLC media player=&lt;br /&gt;
Der VLC media player, oder anfangs VideoLAN client, ist ein mittlerweile bekannter freier Mediaplayer der die unterschiedlichsten Codecs und Dateiformate sowie DVD's und Video-CD's unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Geschichte==&lt;br /&gt;
Der VLC media player wird seit 1999 vom VideoLAN-Team entwickelt. Dieses besteht aus Studenten der französischen Ingenieurschule École centrale Paris in Châtenay-Malabry bei Paris und Entwicklern aus über 20 Ländern. Das Programm steht seit dem 1. Februar 2001 unter der GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Der Entwickler Antoine Cellerier kennt die Geschichte des Logos selbst nur vom Hörensagen: Eines Tages kamen Studenten eines der Netzwerk-Clubs der École centrale Paris betrunken mit einem Verkehrssicherungskegel nach Hause. Später ging aus diesem Club das VideoLAN-Projekt hervor. Als man ein Logo für das Programm suchte, fiel die Wahl auf den Kegel, aus dem zu diesem Zeitpunkt bereits eine beträchtliche Kegel-Sammlung hervorgegangen war.&lt;br /&gt;
&lt;br /&gt;
==Merkmale==&lt;br /&gt;
===Die Streaming Lösung===&lt;br /&gt;
Die ursprüngliche Streaming-Lösung besteht aus dem VideoLAN Server und dem VLC media player. Damit war das Streaming von digitalen TV-Inhalten, DVDs und MPEG- &amp;amp; DivX-Filmdateien über den Campus der École Centrale Paris möglich. Mittlerweile wurden beide Programme erweitert, sodass auch Streaming über das Internet realisierbar ist. VLC unterstützt mittlerweile auch Video on Demand, so dass es durchaus mit Streaminglösungen kommerzieller Anbieter konkurrieren kann. &lt;br /&gt;
&lt;br /&gt;
Durch die Weiterentwicklung des VLC media player zu einem eigenen Streaming-Server wurde das Konzept der Lösung seit Januar 2003 aufgeweicht. Eine mittelbare Folge davon ist, dass die Lösung auch von Benutzern ohne große Vorkenntnisse eingesetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
===Vielseitigkeit===&lt;br /&gt;
Besonders hervorzuheben ist die Vielseitigkeit des Programms, das nahezu jedes Format und jede Datei abspielt, auch unvollständige oder bruchstückhafte AVI-Dateien, was z. B. bei nicht vollständig heruntergeladenen Dateien der Fall sein kann. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich können über Filter verschiedene Effekte in Echtzeit angewandt werden. So kann z. B. ein Video, das im Hochformat aufgenommen wurde, um 90° gedreht, und Farbfilter etc. angewandt werden.&lt;br /&gt;
&lt;br /&gt;
===Portabilität===&lt;br /&gt;
Der VLC media player läuft unter GNU/Linux, Microsoft Windows, Mac OS X, BeOS, Syllable. Einige andere Betriebssysteme wie z. B. BSD werden auch unterstützt, für sie gibt es nur keine vorkompilierte Binär-Pakete.&lt;br /&gt;
Außerdem gibt es für Microsoft Windows eine portable (vom USB-Stick ohne Installation lauffähige) Version.&lt;br /&gt;
&lt;br /&gt;
== Einsatz ==&lt;br /&gt;
Der ''VLC media player'' kommt bei Privatnutzern, in Schulen und Universitäten, aber auch bei professionellen Anwendern zum Einsatz. Geschätzt wird vor allem die hohe Kompatibilität mit einer Vielzahl von Formaten und Codecs, wodurch er beinahe alles wiedergeben kann. Auch die im September 2007 vorgestellte ZDFmediathek unterstützt den VLC zur Wiedergabe ihres Video-on-Demand- und Livestream-Angebots (bei bestmöglicher Bildqualität dank Wiedergabe einer H.264-kodierten Videoquelle).&lt;br /&gt;
==Installation==&lt;br /&gt;
 root@zero:/etc# apt-get install vlc &lt;br /&gt;
 .....&lt;br /&gt;
&lt;br /&gt;
=Benutzung=&lt;br /&gt;
==Hilfe bekommen==&lt;br /&gt;
Alle Standard Operationen von VLC sollten über die Grafische Benutzeroberfläche verfügbar sein. Wie auch immer, manche komplexen Operationen können nur von der Kommandozeile aus benutzt werden  und es gibt Situationen in welchen man die Grafische Benutzeroberfläche nicht benötigt oder möchte.&lt;br /&gt;
&lt;br /&gt;
VLC hat eine Modulstruktur. Der Kern verwaltet haupsächlich die Kommunikation zwischen Modulen. Alle Multimediaprozesse werden von Modulen abgewickelt. Es gibt Input-Module, Demultiplexer, Decoder, Video Output Module und mehr...&lt;br /&gt;
&lt;br /&gt;
Dieses Kapitel wird nur die Kernoptionen erörtern. Jedes Modul erweitert VLC um neue Optionen. Zum Beispiel fügt das HTTP-Inputmodul Optionen für caching, proxy und Authentifikation hinzu.&lt;br /&gt;
&lt;br /&gt;
Einfachen Kernoptionen erfährt man mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --help'''&lt;br /&gt;
&lt;br /&gt;
Alle Grundoptionen des Kerns + der Module mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp'''&lt;br /&gt;
&lt;br /&gt;
Und wirklich alle Optionen mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp --advanced'''&lt;br /&gt;
&lt;br /&gt;
==Medien öffnen==&lt;br /&gt;
&lt;br /&gt;
Der folgende Befehl startet VLC mit &amp;quot;Datei&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc &amp;quot;Datei&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Öffnen von DVD's, Video- oder Audio CD's.&lt;br /&gt;
&lt;br /&gt;
DVD mit Menüs:&lt;br /&gt;
&lt;br /&gt;
  xinux@zero:~$ vlc '''dvd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DVD ohne Menüs:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$  vlc '''dvdsimple'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
VCD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''vcd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Audio CD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''cdda:'''//&amp;quot;device&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
==Stream senden (UDP)==&lt;br /&gt;
&lt;br /&gt;
Eine Datei kann man über VLC mit folgendem Befehl streamen:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc &amp;quot;Datei&amp;quot; '''--sout udp:&amp;quot;IP-Adresse&amp;quot; --ttl 12'''&lt;br /&gt;
&lt;br /&gt;
 chef@sender:~$ vlc the.collective.avi --sout udp:192.168.178.45 --ttl 12 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; muss entweder &lt;br /&gt;
&lt;br /&gt;
* ein Rechner an den man Unicast-Streamen will,&lt;br /&gt;
* der DNS Name eines Rechners an den man Unicast-Streamen will&lt;br /&gt;
* oder eine Multicast IP-Adresse sein (224.0.0.0 bis 239.255.255.255).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine DVD zu streamen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc dvdsimple://&amp;quot;/dev/dvd&amp;quot; '''--sout '#udp{mux=ts,dst=192.168.0.12}' --ttl 12 --sout-all'''&lt;br /&gt;
&lt;br /&gt;
Wobei &amp;quot;/dev/dvd&amp;quot; das DVD-Laufwerk sein muss, bei Windows z.B. ''D:''&lt;br /&gt;
&lt;br /&gt;
==Stream empfangen (UDP)==&lt;br /&gt;
&lt;br /&gt;
Um einen Unicast RTP/UDP Stream (Gesendet von VLC's Stream Output) zu empfangen muss man VLC mit folgenden Befehlen starten:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''udp://[@:server_port]'''&lt;br /&gt;
&lt;br /&gt;
Wenn man den Standartport '''1234''' verwendet reicht '''vlc rtp://'''&lt;br /&gt;
&lt;br /&gt;
Um einen Multicast-Stream zu empfangen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''@multicast_address'''[@:server_port]&lt;br /&gt;
&lt;br /&gt;
Um einen Stream von einer bestimmten Adresse zu empfangen ('''S'''ource'''S'''pecific'''M'''ulticast) braucht man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''server_address'''@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Dies funktioniert nur mit Betriebsystemen die SSM unterstützen (Windows XP und neueste Linux Kernels)&lt;br /&gt;
&lt;br /&gt;
Um einen HTTP-Stream zu empfangen startet man VLC mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc http://www.beispiel.org/Datei.mpg&lt;br /&gt;
&lt;br /&gt;
==Remote Control==&lt;br /&gt;
&lt;br /&gt;
VLC lässt sich nach belieben auch über Interfaces wie Telnet auf entfernten Rechnern steuern.&lt;br /&gt;
&lt;br /&gt;
Ein VLC mit Remote Control benutzbarkeit öffnet man mit:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# vlc -I rc --rc-host &amp;quot;IP-Adresse&amp;quot;:&amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; ist die des Rechners auf dem VLC ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Mann kann dann mit Tools wie ''Netcat'' darauf zugreifen mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# nc &amp;quot;IP-Adresse&amp;quot; &amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Man sieht hierbei keine Bestätigung, aber mit '''help''' lassen sich die benutzbaren Befehle anzeigen.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VLC&amp;diff=354</id>
		<title>VLC</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VLC&amp;diff=354"/>
		<updated>2009-07-17T11:09:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Einsatz */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:vlc.jpg]]&lt;br /&gt;
&lt;br /&gt;
=VLC media player=&lt;br /&gt;
Der VLC media player, oder anfangs VideoLAN client, ist ein mittlerweile bekannter freier Mediaplayer der die unterschiedlichsten Codecs und Dateiformate sowie DVD's und Video-CD's unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Geschichte==&lt;br /&gt;
Der VLC media player wird seit 1999 vom VideoLAN-Team entwickelt. Dieses besteht aus Studenten der französischen Ingenieurschule École centrale Paris in Châtenay-Malabry bei Paris und Entwicklern aus über 20 Ländern. Das Programm steht seit dem 1. Februar 2001 unter der GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Der Entwickler Antoine Cellerier kennt die Geschichte des Logos selbst nur vom Hörensagen: Eines Tages kamen Studenten eines der Netzwerk-Clubs der École centrale Paris betrunken mit einem Verkehrssicherungskegel nach Hause. Später ging aus diesem Club das VideoLAN-Projekt hervor. Als man ein Logo für das Programm suchte, fiel die Wahl auf den Kegel, aus dem zu diesem Zeitpunkt bereits eine beträchtliche Kegel-Sammlung hervorgegangen war.&lt;br /&gt;
&lt;br /&gt;
==Merkmale==&lt;br /&gt;
===Die Streaming Lösung===&lt;br /&gt;
Die ursprüngliche Streaming-Lösung besteht aus dem VideoLAN Server und dem VLC media player. Damit war das Streaming von digitalen TV-Inhalten, DVDs und MPEG- &amp;amp; DivX-Filmdateien über den Campus der École Centrale Paris möglich. Mittlerweile wurden beide Programme erweitert, sodass auch Streaming über das Internet realisierbar ist. VLC unterstützt mittlerweile auch Video on Demand, so dass es durchaus mit Streaminglösungen kommerzieller Anbieter konkurrieren kann. &lt;br /&gt;
&lt;br /&gt;
Durch die Weiterentwicklung des VLC media player zu einem eigenen Streaming-Server wurde das Konzept der Lösung seit Januar 2003 aufgeweicht. Eine mittelbare Folge davon ist, dass die Lösung auch von Benutzern ohne große Vorkenntnisse eingesetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
===Vielseitigkeit===&lt;br /&gt;
Besonders hervorzuheben ist die Vielseitigkeit des Programms, das nahezu jedes Format und jede Datei abspielt, auch unvollständige oder bruchstückhafte AVI-Dateien, was z. B. bei nicht vollständig heruntergeladenen Dateien der Fall sein kann. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich können über Filter verschiedene Effekte in Echtzeit angewandt werden. So kann z. B. ein Video, das im Hochformat aufgenommen wurde, um 90° gedreht, und Farbfilter etc. angewandt werden.&lt;br /&gt;
&lt;br /&gt;
===Portabilität===&lt;br /&gt;
Der VLC media player läuft unter GNU/Linux, Microsoft Windows, Mac OS X, BeOS, Syllable. Einige andere Betriebssysteme wie z. B. BSD werden auch unterstützt, für sie gibt es nur keine vorkompilierte Binär-Pakete.&lt;br /&gt;
Außerdem gibt es für Microsoft Windows eine portable (vom USB-Stick ohne Installation lauffähige) Version.&lt;br /&gt;
&lt;br /&gt;
== Einsatz ==&lt;br /&gt;
Der ''VLC media player'' kommt bei Privatnutzern, in Schulen und Universitäten, aber auch bei professionellen Anwendern zum Einsatz. Geschätzt wird vor allem die hohe Kompatibilität mit einer Vielzahl von Formaten und Codecs, wodurch er beinahe alles wiedergeben kann. Auch die im September 2007 vorgestellte ZDFmediathek unterstützt den VLC zur Wiedergabe ihres Video-on-Demand- und Livestream-Angebots (bei bestmöglicher Bildqualität dank Wiedergabe einer H.264-kodierten Videoquelle).&lt;br /&gt;
==Installation==&lt;br /&gt;
 root@zero:/etc# apt-get install vlc &lt;br /&gt;
 .....&lt;br /&gt;
&lt;br /&gt;
=Benutzung=&lt;br /&gt;
==Hilfe bekommen==&lt;br /&gt;
Alle Standard Operationen von VLC sollten über die Grafische Benutzeroberfläche verfügbar sein. Wie auch immer, manche komplexen Operationen können nur von der Kommandozeile aus benutzt werden  und es gibt Situationen in welchen man die Grafische Benutzeroberfläche nicht benötigt oder möchte.&lt;br /&gt;
&lt;br /&gt;
VLC hat eine Modulstruktur. Der Kern verwaltet haupsächlich die Kommunikation zwischen Modulen. Alle Multimediaprozesse werden von Modulen abgewickelt. Es gibt Input-Module, Demultiplexer, Decoder, Video Output Module und mehr...&lt;br /&gt;
&lt;br /&gt;
Dieses Kapitel wird nur die Kernoptionen erörtern. Jedes Modul erweitert VLC um neue Optionen. Zum Beispiel fügt das HTTP-Inputmodul Optionen für caching, proxy und Authentifikation hinzu.&lt;br /&gt;
&lt;br /&gt;
Einfachen Kernoptionen erfährt man mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --help'''&lt;br /&gt;
&lt;br /&gt;
Alle Grundoptionen des Kerns + der Module mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp'''&lt;br /&gt;
&lt;br /&gt;
Und wirklich alle Optionen mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp --advanced'''&lt;br /&gt;
&lt;br /&gt;
==Medien öffnen==&lt;br /&gt;
&lt;br /&gt;
Der folgende Befehl startet VLC mit &amp;quot;Datei&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc &amp;quot;Datei&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Öffnen von DVD's, Video- oder Audio CD's.&lt;br /&gt;
&lt;br /&gt;
DVD mit Menüs:&lt;br /&gt;
&lt;br /&gt;
  xinux@zero:~$ vlc '''dvd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DVD ohne Menüs:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$  vlc '''dvdsimple'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
VCD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''vcd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Audio CD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''cdda:'''//&amp;quot;device&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
==Stream senden (UDP)==&lt;br /&gt;
&lt;br /&gt;
Eine Datei kann man über VLC mit folgendem Befehl streamen:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc &amp;quot;Datei&amp;quot; '''--sout udp:&amp;quot;IP-Adresse&amp;quot; --ttl 12'''&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; muss entweder &lt;br /&gt;
&lt;br /&gt;
* ein Rechner an den man Unicast-Streamen will,&lt;br /&gt;
* der DNS Name eines Rechners an den man Unicast-Streamen will&lt;br /&gt;
* oder eine Multicast IP-Adresse sein (224.0.0.0 bis 239.255.255.255).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine DVD zu streamen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc dvdsimple://&amp;quot;/dev/dvd&amp;quot; '''--sout '#udp{mux=ts,dst=192.168.0.12}' --ttl 12 --sout-all'''&lt;br /&gt;
&lt;br /&gt;
Wobei &amp;quot;/dev/dvd&amp;quot; das DVD-Laufwerk sein muss, bei Windows z.B. ''D:''&lt;br /&gt;
&lt;br /&gt;
==Stream empfangen (UDP)==&lt;br /&gt;
&lt;br /&gt;
Um einen Unicast RTP/UDP Stream (Gesendet von VLC's Stream Output) zu empfangen muss man VLC mit folgenden Befehlen starten:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''udp://[@:server_port]'''&lt;br /&gt;
&lt;br /&gt;
Wenn man den Standartport '''1234''' verwendet reicht '''vlc rtp://'''&lt;br /&gt;
&lt;br /&gt;
Um einen Multicast-Stream zu empfangen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''@multicast_address'''[@:server_port]&lt;br /&gt;
&lt;br /&gt;
Um einen Stream von einer bestimmten Adresse zu empfangen ('''S'''ource'''S'''pecific'''M'''ulticast) braucht man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''server_address'''@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Dies funktioniert nur mit Betriebsystemen die SSM unterstützen (Windows XP und neueste Linux Kernels)&lt;br /&gt;
&lt;br /&gt;
Um einen HTTP-Stream zu empfangen startet man VLC mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc http://www.beispiel.org/Datei.mpg&lt;br /&gt;
&lt;br /&gt;
==Remote Control==&lt;br /&gt;
&lt;br /&gt;
VLC lässt sich nach belieben auch über Interfaces wie Telnet auf entfernten Rechnern steuern.&lt;br /&gt;
&lt;br /&gt;
Ein VLC mit Remote Control benutzbarkeit öffnet man mit:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# vlc -I rc --rc-host &amp;quot;IP-Adresse&amp;quot;:&amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; ist die des Rechners auf dem VLC ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Mann kann dann mit Tools wie ''Netcat'' darauf zugreifen mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# nc &amp;quot;IP-Adresse&amp;quot; &amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Man sieht hierbei keine Bestätigung, aber mit '''help''' lassen sich die benutzbaren Befehle anzeigen.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=NTP&amp;diff=353</id>
		<title>NTP</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=NTP&amp;diff=353"/>
		<updated>2009-07-17T11:05:49Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Manuelle Synchronisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das Network Time Protocol (NTP) ist ein Standard zur Synchronisierung von Uhren in Computersystemen über &lt;br /&gt;
paketbasierte Kommunikationsnetze. NTP verwendet das verbindungslose Transportprotokoll UDP (Port 123). &lt;br /&gt;
&lt;br /&gt;
==Installation des Clients==&lt;br /&gt;
 root@zero:~# apt-get install ntp&lt;br /&gt;
 Paketlisten werden gelesen... Fertig&lt;br /&gt;
 Abhängigkeitsbaum wird aufgebaut&lt;br /&gt;
 Lese Status-Informationen ein... Fertig&lt;br /&gt;
 Vorgeschlagene Pakete:&lt;br /&gt;
   ntp-doc&lt;br /&gt;
 Die folgenden NEUEN Pakete werden installiert:&lt;br /&gt;
   ntp&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==Konfiguration==&lt;br /&gt;
Nach der Installation ist keine weitere Konfiguration notwendig. Unter Ubuntu ist standardmäßig als NTP-Server &lt;br /&gt;
ntp.ubuntu.com eingetragen. Die Konfigurationsdatei liegt unter /etc/ntp.conf&lt;br /&gt;
 # /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help&lt;br /&gt;
 &lt;br /&gt;
 driftfile /var/lib/ntp/ntp.drift &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Enable this if you want statistics to be logged.&lt;br /&gt;
 #statsdir /var/log/ntpstats/&lt;br /&gt;
 &lt;br /&gt;
 statistics loopstats peerstats clockstats&lt;br /&gt;
 filegen loopstats file loopstats type day enable&lt;br /&gt;
 filegen peerstats file peerstats type day enable&lt;br /&gt;
 filegen clockstats file clockstats type day enable&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 server ntp.ubuntu.com&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Weitere Server können hinzugefügt werden.&lt;br /&gt;
 server pool.ntp.org             Serverpool ntp.org&lt;br /&gt;
 server ptbtime1.ptb.de 	 Physikalisch-Technische Bundesanstalt (Braunschweig) &lt;br /&gt;
 server ptbtime2.ptb.de 	 Physikalisch-Technische Bundesanstalt, alternativer Server&lt;br /&gt;
 server time.windows.com         Windows Zeitserver&lt;br /&gt;
&lt;br /&gt;
==Manuelle Synchronisation==&lt;br /&gt;
 ntpdate [NTP-Server] &lt;br /&gt;
/etc/init.d/ntp muss dazu gestoppt sein &lt;br /&gt;
Die Systemzeit kann manuell mit ntpdate synchronisiert werden. Wenn der NTP Daemon läuft sollte dies nicht erforderlich&lt;br /&gt;
sein.&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
 root@zero:~# ntpdate pool.ntp.org&lt;br /&gt;
 6 Jul 14:53:12 ntpdate[8959]: adjust time server 78.46.73.8 offset -0.018683 sec&lt;br /&gt;
&lt;br /&gt;
==Lokaler NTP Server==&lt;br /&gt;
Für ein LAN kann ein Unix-Rechner mit einem NTP Client die Zeit weitergeben, die er selbst von einem NTP Server bezogen hat. &lt;br /&gt;
Dazu muss in /etc/ntp.conf der Zugriff für das entsprechende Netz erlaubt werden. Es dauert einige Zeit, bis der Server als&lt;br /&gt;
&amp;quot;suitable&amp;quot; (dt. geeignet) gelistet wird. &lt;br /&gt;
&lt;br /&gt;
/etc/ntp.conf&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 server ntp.ubuntu.com&lt;br /&gt;
 ...&lt;br /&gt;
 # Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for&lt;br /&gt;
 # details.  The web page &amp;lt;http://support.ntp.org/bin/view/Support/AccessRestrictions&amp;gt;&lt;br /&gt;
 # might also be helpful.&lt;br /&gt;
 #&lt;br /&gt;
 # Note that &amp;quot;restrict&amp;quot; applies to both servers and clients, so a configuration&lt;br /&gt;
 # that might be intended to block requests from certain clients could also end&lt;br /&gt;
 # up blocking replies from your own upstream servers.&lt;br /&gt;
 &lt;br /&gt;
 # By default, exchange time with everybody, but don't allow configuration.&lt;br /&gt;
 #restrict -4 default kod notrap nomodify nopeer noquery&lt;br /&gt;
 #restrict -6 default kod notrap nomodify nopeer noquery&lt;br /&gt;
 restrict 192.168.240.0 netmask 255.255.240.0 nomodify&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
 root@zero:~# ntpdate 192.168.242.1&lt;br /&gt;
 7 Jul 09:57:54 ntpdate[1519]: step time server 192.168.242.1 offset -328.693068 sec&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VMware_installation_auf_Ubuntu&amp;diff=352</id>
		<title>VMware installation auf Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VMware_installation_auf_Ubuntu&amp;diff=352"/>
		<updated>2009-07-17T07:08:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=VMwareserver auf Jaunty=&lt;br /&gt;
==Benötigte Ubuntu Pakete==&lt;br /&gt;
 aptitude install build-essential linux-kernel-headers xinetd&lt;br /&gt;
==Benötigte Vmware Pakete==&lt;br /&gt;
 VMware-server-1.0.9-156507.tar.gz&lt;br /&gt;
 VMware-server-console-1.0.9-156507.tar.gz&lt;br /&gt;
==Patch==&lt;br /&gt;
 vmware-update-2.6.27-5.5.7-2.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
===Enpacken des Servers===&lt;br /&gt;
 tar -xvzf VMware-server-1.0.9-156507.tar.gz&lt;br /&gt;
 cd /usr/src/vmware-server-distrib#&lt;br /&gt;
===Installation===&lt;br /&gt;
*Part1  &lt;br /&gt;
 /usr/src/vmware-server-distrib# ./vmware-install.pl&lt;br /&gt;
 ...&lt;br /&gt;
 alles bestätigen bis &lt;br /&gt;
 ---------------------&lt;br /&gt;
 Before running VMware Server for the first time, you need to configure it by &lt;br /&gt;
 invoking the following command: &amp;quot;/usr/bin/vmware-config.pl&amp;quot;. Do you want this &lt;br /&gt;
 program to invoke the command for you now? [yes] &lt;br /&gt;
 ---------------------&lt;br /&gt;
 Hier ''no'' eingeben&lt;br /&gt;
*Part2(Patch entpacken)&lt;br /&gt;
 cd ..&lt;br /&gt;
 tar -xvzf /share/vmware-update-2.6.27-5.5.7-2.tar.gz &lt;br /&gt;
 cd vmware-update&lt;br /&gt;
 ./runme.pl&lt;br /&gt;
 dann normal weiter&lt;br /&gt;
*Konsole installieren&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 tar -xvzf VMware-server-console-1.0.9-156507.tar.gz&lt;br /&gt;
 cd vmware-server-console-distrib/&lt;br /&gt;
 ./vmware-install.pl&lt;br /&gt;
==Tastaturprobleme==&lt;br /&gt;
folgendes in die Datei /etc/vmware/config anfügen&lt;br /&gt;
 xkeymap.keycode.108 = 0x138 # Alt_R&lt;br /&gt;
 xkeymap.keycode.106 = 0x135 # KP_Divide&lt;br /&gt;
 xkeymap.keycode.104 = 0x11c # KP_Enter&lt;br /&gt;
 xkeymap.keycode.111 = 0x148 # Up&lt;br /&gt;
 xkeymap.keycode.116 = 0x150 # Down&lt;br /&gt;
 xkeymap.keycode.113 = 0x14b # Left&lt;br /&gt;
 xkeymap.keycode.114 = 0x14d # Right&lt;br /&gt;
 xkeymap.keycode.105 = 0x11d # Control_R&lt;br /&gt;
 xkeymap.keycode.118 = 0x152 # Insert&lt;br /&gt;
 xkeymap.keycode.119 = 0x153 # Delete&lt;br /&gt;
 xkeymap.keycode.110 = 0x147 # Home&lt;br /&gt;
 xkeymap.keycode.115 = 0x14f # End&lt;br /&gt;
 xkeymap.keycode.112 = 0x149 # Prior&lt;br /&gt;
 xkeymap.keycode.117 = 0x151 # Next&lt;br /&gt;
 xkeymap.keycode.78 = 0x46 # Scroll_Lock&lt;br /&gt;
 xkeymap.keycode.127 = 0x100 # Pause&lt;br /&gt;
 xkeymap.keycode.133 = 0x15b # Meta_L&lt;br /&gt;
 xkeymap.keycode.134 = 0x15c # Meta_R&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VMware_installation_auf_Ubuntu&amp;diff=351</id>
		<title>VMware installation auf Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VMware_installation_auf_Ubuntu&amp;diff=351"/>
		<updated>2009-07-17T07:08:05Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=VMwareserver auf Jaunty=&lt;br /&gt;
==Benötigte Ubuntu Pakete==&lt;br /&gt;
 aptitude install build-essential linux-kernel-headers xinetd&lt;br /&gt;
==Benötigte Vmware Pakete==&lt;br /&gt;
 VMware-server-1.0.9-156507.tar.gz&lt;br /&gt;
 VMware-server-console-1.0.9-156507.tar.gz&lt;br /&gt;
==Patch==&lt;br /&gt;
 vmware-update-2.6.27-5.5.7-2.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
===Enpacken des Servers===&lt;br /&gt;
 tar -xvzf VMware-server-1.0.9-156507.tar.gz&lt;br /&gt;
 cd /usr/src/vmware-server-distrib#&lt;br /&gt;
===Installation===&lt;br /&gt;
*Part1  &lt;br /&gt;
 /usr/src/vmware-server-distrib# ./vmware-install.pl&lt;br /&gt;
 ...&lt;br /&gt;
 alles bestätigen bis &lt;br /&gt;
 ---------------------&lt;br /&gt;
 Before running VMware Server for the first time, you need to configure it by &lt;br /&gt;
 invoking the following command: &amp;quot;/usr/bin/vmware-config.pl&amp;quot;. Do you want this &lt;br /&gt;
 program to invoke the command for you now? [yes] &lt;br /&gt;
 ---------------------&lt;br /&gt;
 Hier ''no'' eingeben&lt;br /&gt;
*Part2(Patch entpacken)&lt;br /&gt;
 cd ..&lt;br /&gt;
 tar -xvzf /share/vmware-update-2.6.27-5.5.7-2.tar.gz &lt;br /&gt;
 cd vmware-update&lt;br /&gt;
 ./runme.pl&lt;br /&gt;
 dann normal weiter&lt;br /&gt;
*Konsole installieren&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 tar -xvzf VMware-server-console-1.0.9-156507.tar.gz&lt;br /&gt;
 cd vmware-server-console-distrib/&lt;br /&gt;
 ./vmware-install.pl&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VMware_installation_auf_Ubuntu&amp;diff=346</id>
		<title>VMware installation auf Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VMware_installation_auf_Ubuntu&amp;diff=346"/>
		<updated>2009-07-17T07:05:26Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=VMwareserver auf Jaunty=&lt;br /&gt;
==Benötigte Ubuntu Pakete==&lt;br /&gt;
 aptitude install build-essential linux-kernel-headers xinetd&lt;br /&gt;
==Benötigte Vmware Pakete==&lt;br /&gt;
 VMware-server-1.0.9-156507.tar.gz&lt;br /&gt;
 VMware-server-console-1.0.9-156507.tar.gz&lt;br /&gt;
==Patch==&lt;br /&gt;
 vmware-update-2.6.27-5.5.7-2.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
===Enpacken des Servers===&lt;br /&gt;
 tar -xvzf VMware-server-1.0.9-156507.tar.gz&lt;br /&gt;
 cd /usr/src/vmware-server-distrib#&lt;br /&gt;
===Installation===&lt;br /&gt;
 /usr/src/vmware-server-distrib# ./vmware-install.pl&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Squid&amp;diff=345</id>
		<title>Squid</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Squid&amp;diff=345"/>
		<updated>2009-07-17T06:43:58Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Begriffe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einleitung=&lt;br /&gt;
Der Einsatz von Computernetzwerken in Firmen jeglicher Größe hat in den letzten&lt;br /&gt;
Jahren stark zugenommen. Dabei haben viele Firmen neben dem&lt;br /&gt;
lokalen Netz auch eine Anbindung an ein öffentliches Netz und damit meist&lt;br /&gt;
auch Zugang zum Internet.&lt;br /&gt;
&lt;br /&gt;
Damit verbindet sich ein weltweiter Ausbau dieses Netzes und ein steigendes&lt;br /&gt;
Angebot an Serviceleistungen, die über das Internet angeboten werden. Als&lt;br /&gt;
neuere Technologie sei hier nur die Internettelefonie genannt. Dies bedeutet&lt;br /&gt;
allerdings auch, daß die zu übertragenden Datenmengen ständig zunehmen,&lt;br /&gt;
was zu Engpässen und langen Übertragungszeiten führt.&lt;br /&gt;
&lt;br /&gt;
Für die Unternehmen bedeuten die zunehmenden Datenmengen aber auch&lt;br /&gt;
in erheblichem Maße zunehmende Kosten. Deshalb sind Technologien&lt;br /&gt;
gefragt, die dabei helfen können, diese Datenmengen und damit auch die&lt;br /&gt;
Kosten entsprechend einzuschränken.&lt;br /&gt;
&lt;br /&gt;
Die Anbindung an öffentliche Netze bedeutet aber auch immer ein Risiko, da&lt;br /&gt;
es selten möglich ist, eine Verbindung nur in eine Richtung aufzubauen.&lt;br /&gt;
Dadurch bieten sich Angriffspunkte, die von einigen Leuten ausgenutzt&lt;br /&gt;
werden, um an Daten zu kommen oder Schaden in dem Netz anzurichten.&lt;br /&gt;
Auch hier herrscht großer Bedarf an neuen Lösungen, um einen Kom-promiß&lt;br /&gt;
zwischen Sicherheit und Kommunikation zu finden.&lt;br /&gt;
&lt;br /&gt;
Im Internetbereich bietet sich für beide Gebiete der Einsatz von Proxy-&lt;br /&gt;
Agenten an. Proxy ist das englische Wort für Stellvertreter. Und genau diese&lt;br /&gt;
Aufgabe soll ein Proxy-Agent übernehmen.&lt;br /&gt;
&lt;br /&gt;
Gerade bei großen Netzwerken macht sich der Einsatz eines solchen Proxy-&lt;br /&gt;
Agenten positiv bemerkbar, da er neben einer Verringerung der Netzlast im&lt;br /&gt;
und zum öffentlichen Netz auch einen Performancegewinn innerhalb des&lt;br /&gt;
lokalen Netzes bewirkt.&lt;br /&gt;
&lt;br /&gt;
=Einsatz von Proxy-Servern=&lt;br /&gt;
==Einsatzgebiete und Funktionalität==&lt;br /&gt;
Mit der immer größer werdenden Vernetzung und Globalisierung wachsen&lt;br /&gt;
auch immer mehr die Probleme der Betreiber von lokalen Netzen.&lt;br /&gt;
Einerseits müssen die Kosten für den Datentransfer mit dem Internet&lt;br /&gt;
gering gehalten werden und zum anderen stellt die Anbindung an ein&lt;br /&gt;
öffentliches Netz auch immer einen Angriffspunkt dar.&lt;br /&gt;
&lt;br /&gt;
Die Gefahren sind dabei recht vielfältig. Zum einen ist es in größeren&lt;br /&gt;
Netzwerken dem Administrator meist nicht möglich, die Konfiguration aller&lt;br /&gt;
Computer ständig zu überwachen und nach Sicherheitslücken zu suchen,&lt;br /&gt;
zumal oft auch die notwendige Software recht teuer ist oder vorhandene&lt;br /&gt;
sich nicht so verhält, wie man es gerne hätte. Zweitens ist eine Verbindung&lt;br /&gt;
ins Internet auch immer mit Datentransfer in beiden Richtungen&lt;br /&gt;
verbunden, wodurch von außen ein Angreifer durch getarnte Datenpakete&lt;br /&gt;
in das lokale Netz eindringen und dort Schaden anrichten kann. Hier seien&lt;br /&gt;
Computerviren in ihren vielen Erscheinungsformen erwähnt. Zum Dritten&lt;br /&gt;
stellen die Anwender selber eine gewisse Gefahr dar, indem sie den&lt;br /&gt;
Zugang zum Internet mißbräuchlich oder unbeabsichtigt nutzen, was sehr&lt;br /&gt;
hohe Kosten verursachen kann.&lt;br /&gt;
&lt;br /&gt;
Dieses Problem läßt sich im Internet mit Hilfe eines Proxy-Servers lösen.&lt;br /&gt;
Proxy ist das englische Wort für Stellvertreter. Wie der Name schon&lt;br /&gt;
vermuten läßt, tritt ein Proxy-Server als Stellvertreter auf. Will nun ein&lt;br /&gt;
Client im lokalen Netz ein Dokument aus dem Internet anfordern, muß er&lt;br /&gt;
die Anfrage an den Proxy-Server leiten, der dann die Anfrage an den&lt;br /&gt;
Server weiterleitet. Daraus wird ersichtlich, daß ein Proxy-Server zwei&lt;br /&gt;
Gesichter haben muß. Nach innen zum Client muß er den Internetserver&lt;br /&gt;
vertreten und nach außen wiederum stellt er sich als Client dar. Dies hat&lt;br /&gt;
aus Sicht der Sicherheit noch den weiteren Vorteil, daß nach außen hin nur&lt;br /&gt;
der Proxy-Server sichtbar ist und das Netz dahinter für einen möglichen&lt;br /&gt;
Angreifer unsichtbar bleibt. Ein Proxy muß daher beide Seiten der&lt;br /&gt;
Kommunikation beherrschen. Wie so eine Kommunikation aussieht, ist in&lt;br /&gt;
 [[Image:squid1.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Caching==&lt;br /&gt;
Die Übertragungsraten im Internet sind oft sehr gering, da bestimmte Leitungen, insbesondere transkontinentale, stark belastet sind. Dadurch kann es wiederum vorkommen, daß die Leitung nach außen ausgelastet ist und durch lange Wartezeiten die Kosten der Übertragung in die Höhe gehen.&lt;br /&gt;
&lt;br /&gt;
Ein Ansatzpunkt, die Auslastung und Performance zu optimieren, ist das Zwischenspeichern von Objekten. Dies macht im Internet Sinn, da es oft vorkommt, daß ein Dokument in einem lokalen Netz mehrmals von verschiedenen Clients angefordert wird. Dieses Zwischenspeichern oder Caching von Dokumenten übernimmt ebenfalls der Proxy-Server, der deshalb auch oft als Proxy-Cache bezeichnet wird. Fordert ein Client ein Dokument von einem Server an, so leitet der Proxy die Anfrage an den Server weiter. Dieser liefert das angeforderte Dokument an den Proxy, der es dann an den Client weiter reicht und eine Kopie in seinem Speicher behält. Kommt nun von einem zweiten Client die Anfrage auf dasselbe Dokument, leitet der Proxy diese nicht an den Server weiter, sondern liefert das Dokument aus seinem Speicher direkt an den Client &lt;br /&gt;
 [[Image:squid2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Dies macht deutlich, welche Vorteile ein Proxy-Cache bietet. Zum einen wird die externe Leitung nicht unnötig mit dem mehrmaligen Holen desselben Objektes belastet, es fallen also für die Übertragung keine Kosten an, und außerdem wird die Performance für die Clients im LAN deutlich erhöht. Untersuchungen haben gezeigt, daß die Trefferquoten beim Einsatz eines Proxy-Caches bis zu 50% sind, also fast jede zweite Anfrage nach außen einspart.&lt;br /&gt;
==Sinnvolles Caching==&lt;br /&gt;
Um ein sinnvolles Caching zu erreichen, müssen gewisse Voraussetzungen gegeben sein. Diese fangen damit an, daß die Maschine, auf der ein solcher Proxy-Server läuft von der Hardware entsprechend ausgestattet sein muß. Je nach der Anzahl der Clients, die den Proxy benutzen muß die Leistungsfähigkeit des Rechners ausgelegt sein, damit auch genügend Anfragen gleichzeitig bearbeitet werden können. Um die Trefferquote auf die im Cache abgelegten Objekte zu erhöhen, sollte auch entsprechende Speicherkapazität vorhanden sein. Diese sollte auf jeden Fall mehrere Gigabyte umfassen. Da aber in der letzten Zeit die Preise für Festplattenspeicher enorm nach unten gegangen sind, sollte dies heute kein größeres Problem mehr darstellen. &lt;br /&gt;
Die Hardwarevoraussetzungen alleine machen aber noch keinen guten Proxy-Cache aus, sondern bilden nur eine solide Grundlage. Ein viel größeres Problem ist es, daß die Lebensdauer von Web-Seiten sehr unterschiedlich ist. Dadurch kann nie mit Sicherheit bestimmt werden, wann sich eine Seite ändert und dadurch veraltet ist und aus dem Cache gelöscht, bzw. beim Server neu angefordert werden soll. Es kann also immer vorkommen, daß der Cache ein veraltetes Dokument an den Client liefert. Durch verschiedene Strategien wird versucht, dieses Manko so weit wie möglich auszugleichen. &lt;br /&gt;
HTTP bietet dazu zwei Möglichkeiten: Last-Modified und Expires. Mit der Antwort des Servers werden diese Information an den Proxy mitgeteilt. Mit Last-Modified wird angezeigt, wann das Dokument das letzte mal geändert wurde. Mit der Angabe Expires erhält der Client (in diesem Falle der Proxy) Informationen, wann er das Dokument als veraltet ansehen soll und vom Server neu anfordern muß. In einem HTML-Dokument werden diese Angaben im Header generiert. Dazu wird das META-Element benutzt. Die Informationen sehen dann wie im folgenden Beispiel aus: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;META HTTP-EQUIV=“Last-Modified“ CONTENT=“Thu Jan 1 12:00:00 GMT DST 1998“&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;META HTTP-EQUIV=“Expires“ CONTENT=“Thu Dec 31 12:00:00 GMT DST 1998“&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Allein die Expires-Angabe würde reichen, um den Cache in dieser Hinsicht zu optimieren. Jedoch sind diese Angaben optional und werden sehr selten eingesetzt. Außerdem ist es oft schwierig die Lebensdauer einer Web-Seite vorauszusagen. Daher sind die meisten Web-Seiten einfach so lange gültig, bis der Autor eine neue Version erstellt. Anders sieht es bei Last-Modified aus. Diese Angabe findet sich zwar selten explizit in HTML-Dokumenten, jedoch trägt jedes Dokument als Datei einen Zeitstempel, welcher vom Server dann als Last-Modified-Header mitgeliefert wird.&lt;br /&gt;
&lt;br /&gt;
Die Proxy-Server wenden damit ein einfaches Verfahren ein, um die Lebensdauer eines Dokumentes zu „erraten“. Dabei wird zugrunde gelegt, daß die Wahrscheinlichkeit recht gering ist, daß ein recht altes Dokument in den nächsten Stunden geändert wird. Bei einem Dokument, welches dagegen erst vor kurzem geändert wurde, ist die Möglichkeit einer baldigen Aktualisierung eher vorhanden.Sofern ein Objekt keinen Expires-Header aufweist, erzeugt der Proxy-Server mit Hilfe des Last-Modified-Headers ein künstliches Verfallsdatum. Dazu bestimmt er das Alter der Datei und schlägt einen Prozentsatz dazu, der bei der Konfiguration des Proxy-Servers eingetragen wird (Direktive refresh_pattern), und holt frühestens nach Ablauf dieser Zeit von sich aus das Dokument erneut vom Server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ist beispielsweise ein Dokument zum Zeitpunkt der ersten Anfrage des Proxies bereits 150 Tage alt und der Prozentsatz aus der Konfiguration ist 20%, so vergehen weitere 30 Tage, bis der Proxy-Server eine erneute Anfrage an den Originalserver stellt. &lt;br /&gt;
&lt;br /&gt;
Um dies weiter zu optimieren wird das Dokument nur dann übertragen, wenn die Version auf dem Originalserver wirklich neuer ist, als die im Cache gespeicherte. Dazu schickt der Proxy eine Anfrage an den Originalserver, in der nur der Zeitstempel der Datei enthalten ist. Der Server vergleicht nun den empfangenen Zeitstempel der angeforderten Datei und sendet diese nur dann vollständig zurück, wenn sie jünger ist, als die im Proxy-Cache hinterlegte Kopie. Im anderen Falle erhält der Proxy nur eine kurze, aus HTTP-Headern bestehende Antwort, die signalisiert, daß keine Änderung stattgefunden hat. Der Proxy registriert dies und errechnet ein neues Verfallsdatum. &lt;br /&gt;
&lt;br /&gt;
Neben diesen statischen Objekten, die eine gewisse Lebensdauer haben, gibt es aber auch dynamische Objekte, bei denen eine Zwischenspeicherung nicht angebracht ist. Dies sind beispielsweise HTML-Seiten, die ein CGI-Skript für Datenbankabfragen enthalten oder Seiten, die eine Berechtigung verlangen.&lt;br /&gt;
&lt;br /&gt;
Es kann von beiden Seiten erzwungen werden, daß ein Objekt nicht im Cache gespeichert wird. Auf Seiten des Proxy-Servers erfolgt dies durch eine Einstellung in der Konfiguration. Damit ist es möglich, daß Seiten, die bestimmte Elemente (z.B. cgi-bin, ?, o.ä.) im URL enthalten nicht gespeichert werden. Dies kann man auch für ausgewählte Domänen angeben, was dann sinnvoll ist, wenn sich der Cache in einem Netz befindet, in dem selbst Web-Seiten angeboten werden. &lt;br /&gt;
&lt;br /&gt;
Befindet sich beispielsweise der Proxy-Cache in dem Netz der Domäne testdomain.de, womöglich sogar auf dem selben Rechner wie der Web-Server, so wäre es Unsinn, die Seiten, die dort angeboten werden in den Cache zu legen, da dies unnötig Speicher verbraucht. Von Seiten des Anbieters kann dies über den Einbau einer Authentisierung erfolgen. Dadurch wird bei der Abfrage eines Objektes nach einer Benutzerkennung und einem Paßwort gefragt. Diese Informationen und auch Seiten, die eine Identifikation verlangen, werden standardmäßig nicht vom Proxy gespeichert und müssen jedesmal neu vom Originalserver geholt werden. &lt;br /&gt;
&lt;br /&gt;
==Hierarchisches Caching==&lt;br /&gt;
Bei einigen Proxy-Servern ist es möglich, die Größe des Caches anzugeben, welcher im Hauptspeicher des Rechners liegt. Übertragene Objekte werden dort eine gewisse Zeit gehalten, um schnellere Antwortzeiten zu erreichen, falls ein Objekt innerhalb kurzer Zeit von zwei verschiedenen Clients angefordert wird. Dabei kann meist über den Parameter TTL (Time-to-Live) die Zeitdauer angegeben werden, die ein Objekt maximal in diesem Cache gehalten wird. &lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit, die Performance zu erhöhen und geringere Antwortzeiten zu erhalten, ist das hierarchische Caching. Banal gesagt setzt man einen Proxy für den Proxy ein. Dadurch kann die Trefferquote auf Objekte nochmals verbessert werden. Dies macht besonders deshalb Sinn, da die Datenmengen, die über die bestehenden Leitungen übertragen werden, immer größer werden und es immer wieder zu Engpässen kommt, die lange Übertragungszeiten verursachen. Das hierarchische Caching führt dabei zu einer Entlastung. Damit die Proxy-Caches miteinander kommunizieren können, wurde ein spezielles Protokoll entwickelt, das ICP (Internet Caching Protocol). Dabei schicken Proxy-Caches für das gewünschte Objekt Anfragen an benachbarte und in der Hierarchie höher stehende Proxy-Caches. Ist das Objekt in einem dieser Caches vorhanden, wird es übertragen, andernfalls wird es vom Originalserver geholt. Da das ICP auf UDP basiert, ist es sehr schnell und bedeutet somit einen vertretbaren Performanceverlust, der durch eine erhöhte Trefferquote mehr als ausgeglichen wird.&lt;br /&gt;
 [[Image:squid3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Begriffe===&lt;br /&gt;
&lt;br /&gt;
{|Border=1 Cellpadding=3&lt;br /&gt;
|Neighbours	&lt;br /&gt;
|Dies sind alle Proxies, die ein Proxy kennt und mit denen er kommuniziert.&lt;br /&gt;
|-&lt;br /&gt;
|Siblings&lt;br /&gt;
|Die Geschwisterproxies. Sie liegen mit dem Proxy-Server auf einer Ebene. Siblings liefern in der Regel nur Objekte, die sie selbst im Cache haben,&lt;br /&gt;
|-&lt;br /&gt;
|Parents&lt;br /&gt;
|Übergeordnete Proxies. Sie liefern Objekte die sie selbst im Cache haben und leiten Anfragen an den Originalserver weiter.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Was ist Squid=&lt;br /&gt;
&lt;br /&gt;
Quelle: http://squid.nlanr.net/Squid/  bzw. http://www.squid-cache.org&lt;br /&gt;
&lt;br /&gt;
Squid, ein Beispiel für einen Proxy-Server mit Cache-Mechanismus, ist aus der cached Software des Harvest Forschungsprojektes hervorgegangen. Informationen über Harvest sind auf folgender Webseite zu finden: &lt;br /&gt;
&lt;br /&gt;
http://harvest.cs.colorado.edu/ &lt;br /&gt;
&lt;br /&gt;
Proxy-Systeme mit Cache-Mechanismen dienen meist der Performancesteigerung von Datentransfers, die bei langsamer Internet-Anbindung sehr groß sein kann, wenn Daten wiederholt angefordert werden. &lt;br /&gt;
&lt;br /&gt;
=Funktionsbeschreibung=&lt;br /&gt;
Squid, der Internet Object Cache, ist jedoch mehr als ein einfacher Cache-Proxy. Durch die Unterstützung von Neighbor-Caches, die entweder als parent oder sibling verwendet werden, kann man einen Cache-Verbund aufbauen, der einen hohen Prozentsatz von Anfragen beantworten kann, ohne langwierige Internet-Zugriffe zu erfordern. Dieses Verfahren verwenden zum Beispiel einige der großen Internet-Provider (wie ECRC in München), um den Datentransfer wenn möglich auf der eigenen Netzwerkstruktur abzuwickeln und damit Kosten für externe Zugriffe zu umgehen. &lt;br /&gt;
&lt;br /&gt;
Die Arbeitsweise von Squid ist einfach: &lt;br /&gt;
&lt;br /&gt;
Eine Anfrage eines Clients wird zuerst auf die Zugriffsberechtigung untersucht, so kann man z.B. gewissen Rechnern einen Zugriff auf den Proxy ganz verbieten (siehe Konfiguration). &lt;br /&gt;
&lt;br /&gt;
Es wird versucht, die gewünschten Daten im lokalen Cache zu finden. Sollte dies fehlschlagen, werden andere Proxies im Cache-Verbund (sofern vorhanden),&lt;br /&gt;
abgefragt.&lt;br /&gt;
&lt;br /&gt;
Sind die Daten vorhanden, wird ihre Aktualität geprüft. Sind die Daten veraltet, werden neue in den Cache geholt und an den Client weitergegeben. Bei aktuellen Daten wird das Neuladen übersprungen.&lt;br /&gt;
&lt;br /&gt;
Sind die Daten nicht vorhanden, werden sie in den Cache geladen und an den Client weiter-gereicht. Wie lange Daten im Cache verbleiben, ist abhängig von der Konfiguration (siehe dort)&lt;br /&gt;
&lt;br /&gt;
Eine Beschreibung der internen Abläufe wurde im Sinne der Übersichtlichkeit weggelassen.&lt;br /&gt;
&lt;br /&gt;
=Hilfe und Dokumentation zu Squid=&lt;br /&gt;
&lt;br /&gt;
Hilfe und Dokumentation im Internet:&lt;br /&gt;
{|Border=1 Cellpadding=3&lt;br /&gt;
|Die squid Website&lt;br /&gt;
|http://www.squid-cache.org/Doc/&lt;br /&gt;
|-&lt;br /&gt;
|squid IRC Channel&lt;br /&gt;
|Server: irc.freenode.de -Channel: #squid&lt;br /&gt;
|-&lt;br /&gt;
|Mailingliste&lt;br /&gt;
|squid-users@squid-cache.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hilfe und Dokumentation im System&lt;br /&gt;
{|Border=1 Cellpadding=3&lt;br /&gt;
|Speziell zur Konfiguration&lt;br /&gt;
|/etc/squid/squid.conf.default&lt;br /&gt;
|-&lt;br /&gt;
|Manualpage&lt;br /&gt;
|man squid&lt;br /&gt;
|-&lt;br /&gt;
|Mitgelieferte Dokumentation&lt;br /&gt;
|/usr/share/doc/squid/&lt;br /&gt;
|}&lt;br /&gt;
=Squid unter Ubuntu=&lt;br /&gt;
==Installation==&lt;br /&gt;
 root@zero:~# apt-get install squid3 squid3-common&lt;br /&gt;
Testen ob Squid läuft &lt;br /&gt;
 root@zero:~# netstat -lntp | grep 3128&lt;br /&gt;
 tcp        0      0 0.0.0.0:3128            0.0.0.0:*               LISTEN      10743/(squid)&lt;br /&gt;
&lt;br /&gt;
==Start Skript==&lt;br /&gt;
Das Startskript /etc/init.d/squid3 hat folgende Parameter&lt;br /&gt;
&lt;br /&gt;
{|Border=1 Cellpadding=3&lt;br /&gt;
|start&lt;br /&gt;
|Startet den Squid-Daemon&lt;br /&gt;
|-&lt;br /&gt;
|stop&lt;br /&gt;
|Stoppt den Squid-Daemon&lt;br /&gt;
|-&lt;br /&gt;
|reload&lt;br /&gt;
|Liest die Konfigurationsdatei neu ein&lt;br /&gt;
|-&lt;br /&gt;
|force-reload&lt;br /&gt;
|das gleiche wie reload&lt;br /&gt;
|-&lt;br /&gt;
|restart&lt;br /&gt;
|Stoppt den Deamon, falls er gestartet war und startet ihn wieder (synonym für stop und start)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Squid Parameter==&lt;br /&gt;
Gestartet werden kann Squid auch ohne das Startskript mit &lt;br /&gt;
 /usr/sbin/squid3 [-cdhvzCDFNRVYX] [-s | -l facility] [-f config-file] [-[au] port] [-k signal]&lt;br /&gt;
Flogende Parameter können eingestellt werden:&lt;br /&gt;
&lt;br /&gt;
{|Border=1 Cellpadding=3&lt;br /&gt;
| -a port&lt;br /&gt;
|verändert die Portnummer für HTTP-Anfragen&lt;br /&gt;
|-&lt;br /&gt;
| -d level&lt;br /&gt;
|Debug Output auf stderr ausgeben&lt;br /&gt;
|-&lt;br /&gt;
| -f file&lt;br /&gt;
|gibt eine alternative Konfigurationsdatei zu /etc/squid3/squid.conf an&lt;br /&gt;
|-&lt;br /&gt;
| -k&lt;br /&gt;
|mit dieser option können dem laufenden Squid verschiedene Steuersignale übergeben werden&lt;br /&gt;
|-&lt;br /&gt;
| -k reconfigure&lt;br /&gt;
|die Konfigurationsdatei wird nochmals eingelesen&lt;br /&gt;
|-&lt;br /&gt;
| -k rotatate&lt;br /&gt;
|schliesst und öffnet Dateien z.B. log_files&lt;br /&gt;
|-&lt;br /&gt;
| -k shutdown&lt;br /&gt;
|squid wartet kurz und beendet die Verbindung und sich selbst.Mit shutdown_zeit wird Squid nach einer angegebenen Zeit beendet.&lt;br /&gt;
|-&lt;br /&gt;
| -k interrupt&lt;br /&gt;
|sendet einen Interrupt worauf squid sofort abgebrochen wird ohne auf den Verlauf der Verbindungen zu achten.&lt;br /&gt;
|-&lt;br /&gt;
| -k kill&lt;br /&gt;
|bricht squid sofort ab, die Verbindung und die log_files bleiben geöffnet&lt;br /&gt;
|-&lt;br /&gt;
| -k check&lt;br /&gt;
|kontrolliert ob squid läuft&lt;br /&gt;
|-&lt;br /&gt;
| -s&lt;br /&gt;
|erlaubt das Aufnehmen in die syslog&lt;br /&gt;
|-&lt;br /&gt;
| -u port&lt;br /&gt;
|verändert die Portnummer des Internet Cache Protokoll ICP bzw. deaktiviert den Cache-Verbund mit der Portnummer 0&lt;br /&gt;
|-&lt;br /&gt;
| -v&lt;br /&gt;
|zeigt die aktuelle Squid Version&lt;br /&gt;
|-&lt;br /&gt;
| -z&lt;br /&gt;
|richtet cache Verzeichnisse ein&lt;br /&gt;
|-&lt;br /&gt;
| -D&lt;br /&gt;
|Squid führt normalerweise DNS Tests durch die hiermit abgestellt werden können&lt;br /&gt;
|-&lt;br /&gt;
| -F&lt;br /&gt;
|wenn die swap.logs leer sind nützt squid die vollen Systemresourcen um sich um die Anfragen zu kümmern.Dies beschleunigt den Verarbeitungsvorgang&lt;br /&gt;
|-&lt;br /&gt;
| -N&lt;br /&gt;
|der Serverprozess läuft nicht im Hintergrund&lt;br /&gt;
|-&lt;br /&gt;
| -V&lt;br /&gt;
|Aktivierung des httpd Beschleunigungsmodus&lt;br /&gt;
|-&lt;br /&gt;
| -X&lt;br /&gt;
|Full-Debug-Modus&lt;br /&gt;
|-&lt;br /&gt;
| -Y&lt;br /&gt;
|Beschleunigt den ICP austausch bei niederwertigeren Caches&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Konfiguration==&lt;br /&gt;
Squid wird mittels einer normalen Textdatei konfiguriert, die logisch in&lt;br /&gt;
mehrere Teilbereiche unterteilt werden kann. Sie ist unter&lt;br /&gt;
/etc/squid/squid.conf bzw. unter &amp;lt;prefix&amp;gt;/etc/squid.conf zu finden.&lt;br /&gt;
Bei der Installation von Squid wird eine Default-Konfiguration erzeugt, die&lt;br /&gt;
mit minimalen Änderungen bereits einen ersten Testlauf ermöglicht. Für&lt;br /&gt;
die Ausnutzung der vollen Leistung von Squid sollte jedoch eine&lt;br /&gt;
individuelle Anpassung erfolgen.&lt;br /&gt;
&lt;br /&gt;
Alle Zeilen von squid.conf, die mit # beginnen, sind Kommentare bzw.&lt;br /&gt;
nicht aktivierte Optionen. Als Minimalkonfiguration genügen die in Schnellstart beschriebenen&lt;br /&gt;
Einstellungen. Für die genaue Syntax von Optionen sei ebenfalls auf&lt;br /&gt;
squid.conf verwiesen, die folgenden Kapitel geben einen groben Überblick&lt;br /&gt;
über die Möglichkeiten von Squid.&lt;br /&gt;
&lt;br /&gt;
Da die Konfigurationsdatei in Ihrer Fülle und den ganzen Kommentaren&lt;br /&gt;
sehr verwirrend ist kann man sie zunächst einmal auf das Wichtigste reduzieren. Vorher sollte&lt;br /&gt;
die originale squid.conf gesichert werden:&lt;br /&gt;
&lt;br /&gt;
 cp squid.conf squid.conf.org&lt;br /&gt;
 grep  &amp;quot;^[^#]&amp;quot; squid.conf.org &amp;gt; squid.conf&lt;br /&gt;
&lt;br /&gt;
 acl manager proto cache_object&lt;br /&gt;
 acl localhost src 127.0.0.1/32&lt;br /&gt;
 acl to_localhost dst 127.0.0.0/8&lt;br /&gt;
 acl SSL_ports port 443&lt;br /&gt;
 acl Safe_ports port 80		# http&lt;br /&gt;
 acl Safe_ports port 21		# ftp&lt;br /&gt;
 acl Safe_ports port 443	# https&lt;br /&gt;
 acl Safe_ports port 70		# gopher &lt;br /&gt;
 acl Safe_ports port 210		# wais&lt;br /&gt;
 acl Safe_ports port 1025-65535	# unregistered ports&lt;br /&gt;
 acl Safe_ports port 280		# http-mgmt&lt;br /&gt;
 acl Safe_ports port 488		# gss-http&lt;br /&gt;
 acl Safe_ports port 591		# filemaker&lt;br /&gt;
 acl Safe_ports port 777		# multiling http&lt;br /&gt;
 acl CONNECT method CONNECT&lt;br /&gt;
 http_access allow manager localhost&lt;br /&gt;
 http_access deny manager&lt;br /&gt;
 http_access deny !Safe_ports&lt;br /&gt;
 http_access deny CONNECT !SSL_ports&lt;br /&gt;
 http_access allow localhost&lt;br /&gt;
 http_access deny all&lt;br /&gt;
 icp_access deny all&lt;br /&gt;
 htcp_access deny all&lt;br /&gt;
 http_port 3128&lt;br /&gt;
 hierarchy_stoplist cgi-bin ?&lt;br /&gt;
 access_log /var/log/squid3/access.log squid&lt;br /&gt;
 refresh_pattern ^ftp:		1440	20%	10080&lt;br /&gt;
 refresh_pattern ^gopher:	1440	0%	1440&lt;br /&gt;
 refresh_pattern (cgi-bin|\?)	0	0%	0&lt;br /&gt;
 refresh_pattern .		0	20%	4320&lt;br /&gt;
 icp_port 3130&lt;br /&gt;
 coredump_dir /var/spool/squid3&lt;br /&gt;
&lt;br /&gt;
Zur besseren Übersicht unterteilen wir die Konfigdatei&lt;br /&gt;
&lt;br /&gt;
 #allgemeine sektion&lt;br /&gt;
 http_port 3128&lt;br /&gt;
 access_log /var/log/squid3/access.log squid&lt;br /&gt;
 icp_port 3130&lt;br /&gt;
 coredump_dir /var/spool/squid3&lt;br /&gt;
 hierarchy_stoplist cgi-bin ?&lt;br /&gt;
 &lt;br /&gt;
 #refresh&lt;br /&gt;
 refresh_pattern ^ftp:           1440    20%     10080&lt;br /&gt;
 refresh_pattern ^gopher:        1440    0%      1440&lt;br /&gt;
 refresh_pattern (cgi-bin|\?)    0       0%      0&lt;br /&gt;
 refresh_pattern .               0       20%     4320&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #acl-sektion&lt;br /&gt;
 acl manager proto cache_object&lt;br /&gt;
 acl localhost src 127.0.0.1/32&lt;br /&gt;
 acl to_localhost dst 127.0.0.0/8&lt;br /&gt;
 acl SSL_ports port 443&lt;br /&gt;
 acl Safe_ports port 21 80  443 70 210 280 488 591 777 1025-65535&lt;br /&gt;
 acl CONNECT method CONNECT&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #access-sektion&lt;br /&gt;
 http_access allow manager localhost&lt;br /&gt;
 http_access deny manager&lt;br /&gt;
 http_access deny !Safe_ports&lt;br /&gt;
 http_access deny CONNECT !SSL_ports&lt;br /&gt;
 http_access allow localhost&lt;br /&gt;
 http_access deny all&lt;br /&gt;
 icp_access deny all&lt;br /&gt;
 htcp_access deny all&lt;br /&gt;
&lt;br /&gt;
===Allgemein===&lt;br /&gt;
 http_port 3128&lt;br /&gt;
Auf diesem Port lauscht der Squid auf eingehende http-Anfragen der Clients.&lt;br /&gt;
 icp_port 3130&lt;br /&gt;
Auf diesem Port lauscht Squid auf eingehende Anfragen von Nachbar-Proxys&lt;br /&gt;
 access_log /var/log/squid3/access.log squid&lt;br /&gt;
Legt Ort und Art des Loggings für eingehende Requests fest.&lt;br /&gt;
 coredump_dir /var/spool/squid3&lt;br /&gt;
Standardmäßig schreibt Squid corefiles in das Verzeichnis aus dem er gestartet wurden. Wenn mit dieser Option ein Pfad angegeben ist, wechselt Squid nach dem Start in dieses Verzeichnis und legt die corefiles in dieses Verzeichnis ab.&lt;br /&gt;
 hierarchy_stoplist cgi-bin ?&lt;br /&gt;
Hiermit wird eine Liste von Ausdrücken festgelegt, die - wenn sie in dem angefragen URL corkommen - Squid veranlassen, die Anfrage direkt auszuführen und keine Nachbar-Proxys zu befragen&lt;br /&gt;
&lt;br /&gt;
===Refresh_pattern===&lt;br /&gt;
&lt;br /&gt;
 #refresh_pattern Suchmuster      Min     Prozent Max&lt;br /&gt;
  refresh_pattern ^ftp:           1440    20%     10080&lt;br /&gt;
  refresh_pattern ^gopher:        1440    0%      1440&lt;br /&gt;
  refresh_pattern (cgi-bin|\?)    0       0%      0&lt;br /&gt;
  refresh_pattern .               0       20%     4320&lt;br /&gt;
&lt;br /&gt;
Hier kann der Refresh-Algorithmus von squid für die eigenen Bedürfnisse optimiert werden. &lt;br /&gt;
&lt;br /&gt;
MIN ist die Zeit in Minuten,die ein Objekt ohne explizite Ablaufzeit als Aktuell betrachtet wird. Der ermpfohlene Wert ist 0, jeder höhere Wert könnte dazu führen, dass dynmaische Anwendungen irrtümlich gecachtt&lt;br /&gt;
werden, wenn der Webdesigner keine entsprechenden Gegenaktionen getroffen hat. &lt;br /&gt;
&lt;br /&gt;
PROZENT ist der Prozentsatz eines Objektalters (Zeit seit der letzten&lt;br /&gt;
Modifikation) wo ein Objekt ohne explizite Ablaufzeit als aktuell betrachtet&lt;br /&gt;
wird. &lt;br /&gt;
&lt;br /&gt;
MAX ist ein oberes Limit wie lange Objekte ohne explizite Ablaufzeiten als aktuell betrachtet werden.&lt;br /&gt;
&lt;br /&gt;
 refresh_pattern -i&lt;br /&gt;
Wie refresh_pattern, nur, daß Musterangaben die Groß-/Kleinschreibung&lt;br /&gt;
ignorieren.&lt;br /&gt;
&lt;br /&gt;
===ACL===&lt;br /&gt;
Unter ACL versteht man access control lists, also Filter, die den Zugriff auf den Proxy regeln. Eine ACL muss immer zuerst definiert werden und ein Name gegeben werden. ACLs werden in der Form&lt;br /&gt;
 acl ''aclname acltyp argument'' ...&lt;br /&gt;
 acl ''aclname acltyp &amp;quot;datei&amp;quot;''&lt;br /&gt;
definiert. &lt;br /&gt;
&lt;br /&gt;
====Beispielkonfiguration====&lt;br /&gt;
In der Standardkonfiguration sind 6 ACLs definiert:&lt;br /&gt;
&lt;br /&gt;
Standard- acl für Management-Dienste&lt;br /&gt;
 acl manager proto cache_object &lt;br /&gt;
&lt;br /&gt;
Alles was von localhost (also lokal über das loopback-device) kommt&lt;br /&gt;
 acl localhost src 127.0.0.1/32&lt;br /&gt;
&lt;br /&gt;
Alles was an localhost geht&lt;br /&gt;
 acl to_localhost dst 127.0.0.0/8&lt;br /&gt;
&lt;br /&gt;
acl für SSL_ports (Standard https-port)&lt;br /&gt;
 acl SSL_ports port 443&lt;br /&gt;
&lt;br /&gt;
acl für &amp;quot;sichere Ports&amp;quot;&lt;br /&gt;
 acl Safe_ports port 80 (21,443,70,...)&lt;br /&gt;
&lt;br /&gt;
 acl CONNECT method CONNECT&lt;br /&gt;
&lt;br /&gt;
Nachdem die ACLs definiert sind, müssen diese in Regeln angewendet werden. Die Syntax lautet:&lt;br /&gt;
 ''regeltyp'' allow|deny [!''acl1''] [!''acl2'']&lt;br /&gt;
Eine Regel besagt also, dass ein Zugriff, der auf eine bestimmte Access-List zutrifft, entweder erlaubt (allow) oder verboten wird (deny).&lt;br /&gt;
&lt;br /&gt;
In der Beispielkonfiguration werden http_access und icp-, htcp_access als Regeltyp angewendet, zB. &lt;br /&gt;
 http_access allow localhost&lt;br /&gt;
wendet die Access-Liste 'localhost' an, um den lokalen Zugriff vom Proxy-Server auf http-seiten zu regeln.&lt;br /&gt;
icp_access und htcp_access bzw. icp und htcp sind Protokolle für den Datenaustausch zwischen zwei Servern.&lt;br /&gt;
&lt;br /&gt;
====Eigene Erweiterungen====&lt;br /&gt;
&lt;br /&gt;
Die Konfiguration können wir jetzt erweitern und auf die Bedürfnisse des jeweiligen Netzwerks anpassen. Als Beispiel verwenden wir ein Netzwerk, welches 2 Subnetze enthält, die über einen Proxy, welcher in einer DMZ steht, Verbindungen zum Internet aufbaut. Das 192.168.241.0/24-Netz soll ein privilegiertes Netz sein, d.h Die Clients haben generell mehr Rechte um auf das Internet zuzugreifen, als das andere Netz (192.168.242.0/24).&lt;br /&gt;
&lt;br /&gt;
Als Erstes wollen wir das eine Netz vorläufig komplett für den HTTP-Verkehr freischalten:&lt;br /&gt;
&lt;br /&gt;
ACL für das Netz aufstellen:&lt;br /&gt;
 #acl-sektion&lt;br /&gt;
 acl privilegiert src 192.168.241.0/24&lt;br /&gt;
ACL anwenden und das Netz freischalten:&lt;br /&gt;
 #access-sektion&lt;br /&gt;
 http_access allow privilegiert&lt;br /&gt;
Die beiden Konfigurationsanweisungen müssen nun an korrekter Stelle in die squid.conf eingetragen werden. Bei der ACL ist das nicht so relevant, jedoch zur Übersichtlichkeit wird man sie in den Block mit den anderen ACLs einfügen. Bei der Access-Regel dagegen ist es dagegen von entscheidender Bedeutung, wo die Anweisung steht, da die Konfigurationsdatei von oben nach unten abgearbeitet wird und die erste Regel auf die eine Anfrage passt, wird ausgeführt.&lt;br /&gt;
 #access-sektion&lt;br /&gt;
 http_access allow manager localhost&lt;br /&gt;
 http_access deny manager&lt;br /&gt;
 http_access deny !Safe_ports&lt;br /&gt;
 http_access deny CONNECT !SSL_ports&lt;br /&gt;
 http_access allow localhost&lt;br /&gt;
 http_access deny all&lt;br /&gt;
 '''http_access allow privilegiert'''&lt;br /&gt;
Wird die Regel wie hier angezeigt eingefügt, hat das keine Auswirkung auf den Zugriff, da die Regel &amp;quot;http_access deny all&amp;quot; vorher steht, welche auf alles zutrifft und so die Anfrage abweist. Also müssen wir die Regel weiter oben einfügen.&lt;br /&gt;
 #access-sektion&lt;br /&gt;
 http_access allow manager localhost&lt;br /&gt;
 http_access deny manager&lt;br /&gt;
 http_access deny !Safe_ports&lt;br /&gt;
 http_access deny CONNECT !SSL_ports&lt;br /&gt;
 http_access allow localhost&lt;br /&gt;
 '''http_access allow privilegiert'''&lt;br /&gt;
 http_access deny all&lt;br /&gt;
&lt;br /&gt;
Das unprivilegierte Netz soll nun auch Zugriff auf das Internet erhalten, jedoch nur in eingeschränktem Maße. Es soll nur auf den für den Arbeitsablauf notwendigen Webseiten Zugriff erhalten. Dies wird so realisiert, dass eine Datei mit Regex-URLs eingerichtet wird, auf die zugegriffen werden darf.&lt;br /&gt;
 #acl-sektion&lt;br /&gt;
 acl unprivilegiert src 192.168.242.0/24&lt;br /&gt;
 acl gute_domains url_regex -i &amp;quot;/etc/squid3/gute_domains&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #access-sektion&lt;br /&gt;
 http_access allow unprivilegiert gute_domains&lt;br /&gt;
Diese Regel hat 2 acls als Argumente. Diese werden in den Access-Regeln durch ein UND verknüpft, d.h. die Regel matcht nur wenn beide acls zutreffen.&lt;br /&gt;
&lt;br /&gt;
Nun wird eine Regel erstellt, damit URLs, auf die niemand zugreifen darf, im gesamten Netzwerk, also in den beiden Subnetzen, verboten wird.&lt;br /&gt;
 #acl-sektion&lt;br /&gt;
 acl lan src 192.168.241.0/24 192.168.242.0/24&lt;br /&gt;
 acl schlechte_domains url_regex -i &amp;quot;/etc/squid3/schlechte_domains&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #access-sektion&lt;br /&gt;
 http_access deny lan schlechte_domains&lt;br /&gt;
&lt;br /&gt;
 root@zero:/etc/squid3# cat schlechte_domains &lt;br /&gt;
 ^http://(www.)?pornographische-seite1.de&lt;br /&gt;
 ^http://(www.)?boese-seite2.com&lt;br /&gt;
 root@zero:/etc/squid3# &lt;br /&gt;
&lt;br /&gt;
Hier wird eine ACL erstellt, die 2 Argumente besitzt. Diese werden, im Gegensatz zu den Access-Regeln, mit einem ODER verknüpft, sodass diese Regel matcht, falls eine Anfrage der beiden Subnetze als Source mit einer URL aus der Datei &amp;quot;schlechte_domains&amp;quot; kommt. In Aussagenlogikform:&lt;br /&gt;
&lt;br /&gt;
lan = ( privilegiert ODER unprivilegiert )&lt;br /&gt;
acl = lan UND schlechte_domains&lt;br /&gt;
&lt;br /&gt;
Jetzt wollen wir z.B den Nutzern im unprivilegierten Netz auch die Möglichkeit geben, während der Mittagspause frei im Internet surfen zu können. Dazu benutzt man den acl-Typ &amp;quot;time&amp;quot;:&lt;br /&gt;
 #acl-sektion&lt;br /&gt;
 acl mittag time 12:00-12:30&lt;br /&gt;
 &lt;br /&gt;
 #access-sektion&lt;br /&gt;
 http_access allow unprivilegiert mittag&lt;br /&gt;
Hier wird eine acl mittag definiert, die einen Zeitbereich annimmt. Diese wird mit der acl unprivilegiert in einer Regel verknüpft.&lt;br /&gt;
&lt;br /&gt;
===Authentifizierung===&lt;br /&gt;
&lt;br /&gt;
====Passwortdatei====&lt;br /&gt;
Mit dem Programm htpasswd (ruft Systemfunktion crypt auf )das bei jeder Distribution dabei sein sollte können ein Passwortdatei erzeugen. &lt;br /&gt;
 root@zero:/etc/squid3# htpasswd -c passwd xinux&lt;br /&gt;
 New password: &lt;br /&gt;
 Re-type new password: &lt;br /&gt;
 Adding password for user xinux&lt;br /&gt;
 root@zero:/etc/squid3# cat passwd &lt;br /&gt;
 xinux:5AZTQ/gAwdlOU&lt;br /&gt;
 root@zero:/etc/squid3#&lt;br /&gt;
&lt;br /&gt;
====Konfigurationsdatei====&lt;br /&gt;
 #auth-sektion&lt;br /&gt;
 auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd&lt;br /&gt;
 auth_param basic children 5&lt;br /&gt;
 auth_param basic concurrency 0&lt;br /&gt;
 auth_param basic realm Squid proxy-caching web server&lt;br /&gt;
 auth_param basic casesensitive off&lt;br /&gt;
 &lt;br /&gt;
 #acl-sektion&lt;br /&gt;
 acl autorisiert proxy_auth REQUIRED&lt;br /&gt;
 &lt;br /&gt;
 #access-sektion&lt;br /&gt;
 http_access allow unprivilegiert autorisiert&lt;br /&gt;
In der Konfigurationsdatei wird nun ein Programm angegeben, das für die Authentifizierung aufgerufen wird. Dieses liest Daten aus der zuvor angefertigten Passwortdatei. Dann muss eine acl mit dem typ &amp;quot;proxy_auth&amp;quot; erstellt werden, welche in einer Regel angewendet wird. So kann hier auch ein Nutzer aus dem unprivilegierten Netz Zugang zum Internet bekommen, sollte er sich authentifizieren können.&lt;br /&gt;
&lt;br /&gt;
===Caching===&lt;br /&gt;
Squid benutzt den Hauptspeicher und ein Verzeichnis, um Anfragen zu cachen und diese bei erneuten Anfragen direkt auszuliefern.&lt;br /&gt;
====Anlegen des Caches====&lt;br /&gt;
 root@zero:/etc/squid3# cd /var/cache/&lt;br /&gt;
 root@zero:/var/cache# mkdir squid&lt;br /&gt;
 root@zero:/var/cache# chown proxy:proxy squid/&lt;br /&gt;
 root@zero:/var/cache# ls -l | grep squid&lt;br /&gt;
 drwxr-xr-x  2 proxy    proxy    4096 2009-07-10 09:53 squid&lt;br /&gt;
Hier wird ein Verzeichnis angelegt, welches dem Benutzer proxy beschreibbar sein, da der Squid nicht unter root, sondern unter einem unprivilegierten Benutzer läuft.&lt;br /&gt;
 #cache-sektion&lt;br /&gt;
 cache_dir ufs /var/cache/squid 100 16 256&lt;br /&gt;
cache_dir ''typ verzeichnis MB L1 L2''&lt;br /&gt;
&lt;br /&gt;
In der Konfigurationsdatei wird dieses Verzeichnis angegeben. Der Typ &amp;quot;ufs&amp;quot; ist das Standardspeichersystem des Squid. Es können aber auch andere Typen wie aufs oder diskd benutzt werden. Die Optionen hinter dem Verzeichnisnamen, geben Speicherplatz und Verzeichnisstruktur an. MB gibt an, wieviel Speicherplatz Squid in diesem Verzeichnis benutzt (es können auch mehrere Verzeichnisse zur Speicherverteilung auf verschiedene Partitionen angegeben werden), L1 gibt an wieviele First-Level-Unterverzeichnisse angelegt werden, L2 gibt an, wieviele Second-Level-Unterverzeichnisse in jedem First-Level-Verzeichnis angelegt werden (Baum-Struktur).&lt;br /&gt;
 root@zero:/var/cache# /etc/init.d/squid3 restart&lt;br /&gt;
 * Restarting Squid HTTP Proxy 3.0 squid3&lt;br /&gt;
 *   Waiting...                                                                  &lt;br /&gt;
 * ...                                                                          &lt;br /&gt;
 * ...                                                                          &lt;br /&gt;
 * ...                                                                          &lt;br /&gt;
 * ...                                                                          &lt;br /&gt;
 * ...                                                                         &lt;br /&gt;
 * ...                                                                  [ OK ] &lt;br /&gt;
 * Creating Squid HTTP Proxy 3.0 cache structure&lt;br /&gt;
 2009/07/10 09:59:24| Creating Swap Directories&lt;br /&gt;
 2009/07/10 09:59:24| /var/cache/squid exists&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/00&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/01&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/02&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/03&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/04&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/05&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/06&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/07&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/08&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/09&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/0A&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/0B&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/0C &lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/0D&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/0E&lt;br /&gt;
 2009/07/10 09:59:24| Making directories in /var/cache/squid/0F&lt;br /&gt;
                                                                        [ OK ]&lt;br /&gt;
 root@zero:/var/cache/squid# ls&lt;br /&gt;
 00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  swap.state&lt;br /&gt;
 root@zero:/var/cache/squid# cd 00&lt;br /&gt;
 root@zero:/var/cache/squid/00# ls&lt;br /&gt;
 00  0E  1C  2A  38  46  54  62  70  7E  8C  9A  A8  B6  C4  D2  E0  EE  FC&lt;br /&gt;
 01  0F  1D  2B  39  47  55  63  71  7F  8D  9B  A9  B7  C5  D3  E1  EF  FD&lt;br /&gt;
 02  10  1E  2C  3A  48  56  64  72  80  8E  9C  AA  B8  C6  D4  E2  F0  FE&lt;br /&gt;
 03  11  1F  2D  3B  49  57  65  73  81  8F  9D  AB  B9  C7  D5  E3  F1  FF&lt;br /&gt;
 04  12  20  2E  3C  4A  58  66  74  82  90  9E  AC  BA  C8  D6  E4  F2&lt;br /&gt;
 05  13  21  2F  3D  4B  59  67  75  83  91  9F  AD  BB  C9  D7  E5  F3&lt;br /&gt;
 06  14  22  30  3E  4C  5A  68  76  84  92  A0  AE  BC  CA  D8  E6  F4&lt;br /&gt;
 07  15  23  31  3F  4D  5B  69  77  85  93  A1  AF  BD  CB  D9  E7  F5&lt;br /&gt;
 08  16  24  32  40  4E  5C  6A  78  86  94  A2  B0  BE  CC  DA  E8  F6&lt;br /&gt;
 09  17  25  33  41  4F  5D  6B  79  87  95  A3  B1  BF  CD  DB  E9  F7&lt;br /&gt;
 0A  18  26  34  42  50  5E  6C  7A  88  96  A4  B2  C0  CE  DC  EA  F8&lt;br /&gt;
 0B  19  27  35  43  51  5F  6D  7B  89  97  A5  B3  C1  CF  DD  EB  F9&lt;br /&gt;
 0C  1A  28  36  44  52  60  6E  7C  8A  98  A6  B4  C2  D0  DE  EC  FA&lt;br /&gt;
 0D  1B  29  37  45  53  61  6F  7D  8B  99  A7  B5  C3  D1  DF  ED  FB&lt;br /&gt;
 root@zero:/var/cache/squid/00#&lt;br /&gt;
Hier sieht man, das Squid im Verzeichnis /var/cache/squid 16 Verzeichnisse von 00-0F und in jedem Unterverzeichnis weitere 256 Verzeichnisse 00-FF angelegt hat.&lt;br /&gt;
&lt;br /&gt;
====Konfiguration====&lt;br /&gt;
Nun können weitere Optionen in der Konfigurationsdatei angegeben werden.&lt;br /&gt;
 cache_mem 32 MB&lt;br /&gt;
Gibt an, wieviel Hauptspeicher zum Cachen für Squid verwendet wird&lt;br /&gt;
 cache_swap_low 90&lt;br /&gt;
 cache_swap_high 95&lt;br /&gt;
Diese beiden Optionen geben den unteren und oberen Threshold für die Füllung des Caches an in % an. Wird die untere Marke überschritten, beginnt Squid entsprechend der cache_replacement_policy Objekte aus dem Cache zu entfernen. Wird die obere Marke erreicht, erfolgt die Räumung aggressiver. Wird die untere Marke unterschritten, wird der Prozess beendet.&lt;br /&gt;
 minimum_object_size 0 KB&lt;br /&gt;
 maximum_object_size 8192 KB&lt;br /&gt;
minimum_object_size gibt an, wie groß ein Objekt mindestens sein muss, um im Cache gespeichert zu werden, maximum_object_size die maximale Größe.&lt;br /&gt;
 maximum_object_size_in_memory 64 KB&lt;br /&gt;
maximum_object_size_in_memory gibt an, wie groß ein Objekt höchstens sein darf, um im Hauptspeicher gecacht zu werden.&lt;br /&gt;
 ipcache_size 1024&lt;br /&gt;
Hier wird die maximale Anzahl der IP-Cache Einträge bestimmt.&lt;br /&gt;
 ipcache_low 90&lt;br /&gt;
 ipcache_high 95&lt;br /&gt;
Thresholds der IP-Cache-Einträge, entsprechend zu cache_swap_low und _high.&lt;br /&gt;
 fqdncache_size 1024&lt;br /&gt;
Maximale Anzahl der FQDN-Cache-Einträge.&lt;br /&gt;
 cache_replacement_policy lru&lt;br /&gt;
 memory_replacement_policy lru&lt;br /&gt;
Diese Einträge bestimmen, mit welchem Verfahren Objekte aus dem Cache entfernt werden. lru steht für least recently used, d.h. Squid löscht bei diesem Verfahren die Einträge, die am längsten nicht mehr angefragt wurden. Es gibt außerdem:&lt;br /&gt;
&lt;br /&gt;
heap GDFS (Greed-Dual Size Frequency): Optimiert die Objekt-Hitrate. Kleine häufig angefragte Objekte werden auf Kosten großer, weniger häufig angefragter Objekte im Cache gehalten. Damit wird die Warscheinlichkeit eines Objekt-Hits gesteigert.&lt;br /&gt;
&lt;br /&gt;
heap LFUDA (Least frequently used with dynamic aging): Optimiert die Byte-Hitragte. Häufig angefrage Objekte werden im Cache gehalten, slten angefragte Objekte werden freigegeben, unabhängig von deren Größe. Damit wird ein häufiger angefrages, großes Objekt ggf. auf Kosten vieler kleiner Objekte im Cache gehalten.&lt;br /&gt;
&lt;br /&gt;
heap lru (erweitertes lru-Verfahren).&lt;br /&gt;
&lt;br /&gt;
===Delay-Pools===&lt;br /&gt;
Mit Delay-Pools kann man eine Bandbreitensteuerung über Squid implementieren.&lt;br /&gt;
 #delay_pools-sektion&lt;br /&gt;
 delay_pools 2&lt;br /&gt;
Hier wird die Anzahl der Pools angegeben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #delay_claas ''pool'' ''class''&lt;br /&gt;
 delay_class 1 1&lt;br /&gt;
 delay_class 2 2&lt;br /&gt;
Jeder der Pools wird einer Klasse zugeordnet. Es gibt insgesamt 5 Klassen, die verschiedene Methoden zur Bandbreitensteuerung anbieten.&lt;br /&gt;
&lt;br /&gt;
Klasse 1: Die gesamte Bandbreite wird über ein Parameterpaar gesteuert.&lt;br /&gt;
&lt;br /&gt;
Klasse 2: Es werden 2 Parameterpaare angegeben. Das erste bestimmt die gesamte Bandbreite, das zweite bestimmt die individuelle Bandbreite eines Hosts anhand des letzten Bytes der IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
Klasse 3: Zusätzlich zu den 2 Parametepaaren in Klasse 2 gibt es noch ein drittes Paar, welches die Bandbreite eines ganzen Klasse-C-Netzes beschränkt.&lt;br /&gt;
&lt;br /&gt;
Klasse 4: Wie Klasse 3, jedoch gibt es noch ein zusätzliches Parameterpaar, welches anhand des Benutzernamens die Bandbreite beschränkt. Diese Limitierung tritt nur in Kraft, sollte ein Request eine Benutzerauthentifizierung erfordert haben (siehe Authentifizerung).&lt;br /&gt;
&lt;br /&gt;
Klasse 5: Die Bandbreitenregulierung erfolgt nicht wie in Klasse 2-4 über IP-Adressen oder Benutzer, sondern über ein Tag, welches angegeben wird und einen Request identifiziert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 delay_parameters 1 10000/20000&lt;br /&gt;
 delay_parameters 2 20000/40000 1000/2000&lt;br /&gt;
 delay_access 1 allow privilegiert&lt;br /&gt;
 delay_access 2 allow unprivilegiert&lt;br /&gt;
 delay_access 1 deny all&lt;br /&gt;
 delay_access 2 deny all&lt;br /&gt;
&lt;br /&gt;
Nun müssen den Delay-Pools noch die Parameter übergeben werden. Der Delay-Pool mit Klasse 1 erhält ein Parameterpaar. Dieses Parameterpaar setzt sich zusammen aus restore- und einem maximum-Wert. Der restore-Wert bestimmt die eigentliche Bandbreite in Byte/Sekunde, der maximum-Wert bestimmt die maximale Datenmenge in Byte, die auf einmal übertragen wird.&lt;br /&gt;
&lt;br /&gt;
Die mit maximum definierte Datenmenge wird ganz normal über das Netz übertragen, ggf. mit der vollen zur Verfügung stehenden Bandbreite und ohne weitere Begrenzung. Anhand des eigentlichen Bandbreitenwertes restore berechnet Squid, wie lange er das nächste Paket verzögern muss, um auf die durchschnittliche, mit restore vorgegebene Bandbreite zu kommen. So wird die vorgegebene Nettobandbreite im Mittel durchaus gehalten, ein einzelnes Datenpaket kann jedoch deutlich schneller zum Client transportiert werden.&lt;br /&gt;
&lt;br /&gt;
Mit delay-access wird nun festelegt, welche Pools auf welche acl angewendet werden.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Squid3.jpg&amp;diff=344</id>
		<title>Datei:Squid3.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Squid3.jpg&amp;diff=344"/>
		<updated>2009-07-17T06:43:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Squid2.jpg&amp;diff=343</id>
		<title>Datei:Squid2.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Squid2.jpg&amp;diff=343"/>
		<updated>2009-07-17T06:43:05Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Squid1.jpg&amp;diff=342</id>
		<title>Datei:Squid1.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Squid1.jpg&amp;diff=342"/>
		<updated>2009-07-17T06:42:57Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Hauptseite&amp;diff=339</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Hauptseite&amp;diff=339"/>
		<updated>2009-07-16T20:12:17Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dokumentation&lt;br /&gt;
&lt;br /&gt;
* [[Installation von Mediawiki unter Ubuntu]]&lt;br /&gt;
* [[Linux Grundlagen]]&lt;br /&gt;
* [[Administration]]&lt;br /&gt;
* [[Bash]]&lt;br /&gt;
* [[Netzwerkkonfiguration unter Ubuntu]]&lt;br /&gt;
* [[Paketmanagement]]&lt;br /&gt;
* [[LVM]]&lt;br /&gt;
* [[RAID]]&lt;br /&gt;
* [[SSH]]&lt;br /&gt;
* [[Bootprozess]]&lt;br /&gt;
* [[NTP]]&lt;br /&gt;
* [[Ssh-tunnel]]&lt;br /&gt;
* [[Screen]]&lt;br /&gt;
* [[Nützliche Tools]]&lt;br /&gt;
* [[RPM]]&lt;br /&gt;
* [[Yum howto]]&lt;br /&gt;
* [[Runit]]&lt;br /&gt;
* [[Rsync]]&lt;br /&gt;
* [[NET]]&lt;br /&gt;
* [[Kernelmodule]]&lt;br /&gt;
* [[Udpcast]]&lt;br /&gt;
* [[Ungeschütztes Linux Hacken]]&lt;br /&gt;
* [[apache2]]&lt;br /&gt;
* [[PostgreSQL]]&lt;br /&gt;
* [[Tomcat 5.5]]&lt;br /&gt;
* [[PXELinux]]&lt;br /&gt;
* [[Squid]]&lt;br /&gt;
* [[VLC]]&lt;br /&gt;
* [[Dynamic Host Configuration Protocol]]&lt;br /&gt;
* [[Ramdisk entpacken]]&lt;br /&gt;
* [[VMware installation auf Ubuntu]]&lt;br /&gt;
* [[Apache SSL]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VMware_installation_auf_Ubuntu&amp;diff=338</id>
		<title>VMware installation auf Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VMware_installation_auf_Ubuntu&amp;diff=338"/>
		<updated>2009-07-16T20:03:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: Die Seite wurde neu angelegt: =VMwareserver auf Jaunty= ==Benötigte Ubuntu Pakete==  aptitude install build-essential linux-kernel-headers xinetd ==Benötigte Vmware Pakete==  VMware-server-1.0.9-1...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=VMwareserver auf Jaunty=&lt;br /&gt;
==Benötigte Ubuntu Pakete==&lt;br /&gt;
 aptitude install build-essential linux-kernel-headers xinetd&lt;br /&gt;
==Benötigte Vmware Pakete==&lt;br /&gt;
 VMware-server-1.0.9-156507.tar.gz&lt;br /&gt;
 VMware-server-console-1.0.9-156507.tar.gz&lt;br /&gt;
==Patch==&lt;br /&gt;
 vmware-update-2.6.27-5.5.7-2.tar.gz&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Hauptseite&amp;diff=337</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Hauptseite&amp;diff=337"/>
		<updated>2009-07-16T20:02:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dokumentation&lt;br /&gt;
&lt;br /&gt;
* [[Installation von Mediawiki unter Ubuntu]]&lt;br /&gt;
* [[Linux Grundlagen]]&lt;br /&gt;
* [[Administration]]&lt;br /&gt;
* [[Bash]]&lt;br /&gt;
* [[Netzwerkkonfiguration unter Ubuntu]]&lt;br /&gt;
* [[Paketmanagement]]&lt;br /&gt;
* [[LVM]]&lt;br /&gt;
* [[RAID]]&lt;br /&gt;
* [[SSH]]&lt;br /&gt;
* [[Bootprozess]]&lt;br /&gt;
* [[NTP]]&lt;br /&gt;
* [[Ssh-tunnel]]&lt;br /&gt;
* [[Screen]]&lt;br /&gt;
* [[Nützliche Tools]]&lt;br /&gt;
* [[RPM]]&lt;br /&gt;
* [[Yum howto]]&lt;br /&gt;
* [[Runit]]&lt;br /&gt;
* [[Rsync]]&lt;br /&gt;
* [[NET]]&lt;br /&gt;
* [[Kernelmodule]]&lt;br /&gt;
* [[Udpcast]]&lt;br /&gt;
* [[Ungeschütztes Linux Hacken]]&lt;br /&gt;
* [[apache2]]&lt;br /&gt;
* [[PostgreSQL]]&lt;br /&gt;
* [[Tomcat 5.5]]&lt;br /&gt;
* [[PXELinux]]&lt;br /&gt;
* [[Squid]]&lt;br /&gt;
* [[VLC]]&lt;br /&gt;
* [[Dynamic Host Configuration Protocol]]&lt;br /&gt;
* [[Ramdisk entpacken]]&lt;br /&gt;
* [[VMware installation auf Ubuntu]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Kernelmodule&amp;diff=336</id>
		<title>Kernelmodule</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Kernelmodule&amp;diff=336"/>
		<updated>2009-07-16T12:09:49Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Optionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grundsätzlich besitzt der Linux-Kernel einen monolithischen Aufbau; allerdings bietet er auch die Möglichkeit, Module &lt;br /&gt;
zur Laufzeit zu laden und entladen. Unter einem Kernelmodul versteht man im Allgemeinen einen Teil bzw. eine Erweiterung &lt;br /&gt;
des Kernels. So sind z.B. alle Hardwaretreiber (z.B. WLAN-Karte, Soundkarte...) als Modul angelegt.&lt;br /&gt;
&lt;br /&gt;
Die meisten Linux-Distributionen inklusive Ubuntu machen starken Gebrauch von Kernelmodulen, da so die bestmögliche &lt;br /&gt;
Hardwarekompatibilität mit nur einem &amp;quot;allgemeinen&amp;quot; Kernel erreicht werden kann.&lt;br /&gt;
&lt;br /&gt;
In der Regel werden alle notwendigen Module beim Systemstart und falls nötig zur Laufzeit geladen, so dass der Nutzer sich &lt;br /&gt;
nicht weiter darum kümmern muss (bzw. es oft noch nicht einmal mitbekommt).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die Programme zum Umgang mit den Modulen sollten in der Standardinstallation enthalten sein, können aber ansonsten über &lt;br /&gt;
das Paket &lt;br /&gt;
* module-init-tools&lt;br /&gt;
installiert werden.&lt;br /&gt;
==Tools==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=2&lt;br /&gt;
!Kommando&lt;br /&gt;
!Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
|lsmod&lt;br /&gt;
|Zeigt geladene Module an&lt;br /&gt;
|-&lt;br /&gt;
|modprobe&lt;br /&gt;
|universales und mächtiges Werkzeug zum Entladen und Laden von Modulen&lt;br /&gt;
|-&lt;br /&gt;
|rmmod&lt;br /&gt;
|Einfaches Tool zum entfernen von Module&lt;br /&gt;
|-&lt;br /&gt;
|insmod&lt;br /&gt;
|Einfaches Tool zum installieren von Module&lt;br /&gt;
|-&lt;br /&gt;
|depmod&lt;br /&gt;
|Erstellt Dateien zur Auflösung von Modulabhängigkeit&lt;br /&gt;
|-&lt;br /&gt;
|modinfo&lt;br /&gt;
|Informationen über Modules&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ort wo die Module des laufenden Kernels liegen ==&lt;br /&gt;
 root@zero:~# cd /lib/modules/$(uname -r)&lt;br /&gt;
&lt;br /&gt;
== Geladene Module anzeigen ==&lt;br /&gt;
 root@zero:~# lsmod&lt;br /&gt;
 Module                  Size  Used by&lt;br /&gt;
 binfmt_misc            16776  1&lt;br /&gt;
 bridge                 56340  0&lt;br /&gt;
 stp                    10500  1 bridge&lt;br /&gt;
 bnep                   20224  2&lt;br /&gt;
 nfs                   266344  1&lt;br /&gt;
 lockd                  74156  1 nfs&lt;br /&gt;
 nfs_acl                11136  1 nfs&lt;br /&gt;
 input_polldev          11912  0&lt;br /&gt;
 video                  25360  0&lt;br /&gt;
 output                 11008  1 video&lt;br /&gt;
 sunrpc                195424  10 nfs,lockd,nfs_acl&lt;br /&gt;
 lp                     17156  0&lt;br /&gt;
 psmouse                61972  0&lt;br /&gt;
 ppdev                  15620  0&lt;br /&gt;
 intel_agp              34108  1&lt;br /&gt;
 pcspkr                 10496  0&lt;br /&gt;
 i2c_piix4              18448  0&lt;br /&gt;
 serio_raw              13316  0&lt;br /&gt;
 parport_pc             40100  1&lt;br /&gt;
 agpgart                42696  1 intel_agp&lt;br /&gt;
 parport                42220  3 lp,ppdev,parport_pc&lt;br /&gt;
 shpchp                 40212  0&lt;br /&gt;
 pcnet32                41092  0&lt;br /&gt;
 mii                    13312  1 pcnet32&lt;br /&gt;
 mptspi                 25864  2&lt;br /&gt;
 mptscsih               43520  1 mptspi&lt;br /&gt;
 mptbase                88420  2 mptspi,mptscsih&lt;br /&gt;
 scsi_transport_spi     30080  1 mptspi&lt;br /&gt;
 floppy                 64324  0&lt;br /&gt;
 fbcon                  46112  0&lt;br /&gt;
 tileblit               10752  1 fbcon&lt;br /&gt;
 font                   16384  1 fbcon&lt;br /&gt;
 bitblit                13824  1 fbcon&lt;br /&gt;
 softcursor              9984  1 bitblit&lt;br /&gt;
&lt;br /&gt;
== Information anzeigen ==&lt;br /&gt;
 root@zero:~# modinfo nfs&lt;br /&gt;
 filename:       /lib/modules/2.6.28-13-generic/kernel/fs/nfs/nfs.ko&lt;br /&gt;
 license:        GPL&lt;br /&gt;
 author:         Olaf Kirch &amp;lt;okir@monad.swb.de&amp;gt;&lt;br /&gt;
 srcversion:     CB761B4E8A05FF8B3FD74F8&lt;br /&gt;
 depends:        sunrpc,lockd,nfs_acl&lt;br /&gt;
 vermagic:       2.6.28-13-generic SMP mod_unload modversions 586&lt;br /&gt;
 parm:           enable_ino64:bool&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# modinfo -F filename nfs&lt;br /&gt;
 /lib/modules/2.6.28-13-generic/kernel/fs/nfs/nfs.ko&lt;br /&gt;
&lt;br /&gt;
um Werte aus einzelnen Kategorien anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Übersicht über alle Module==&lt;br /&gt;
 root@zero:~# modprobe -l | more&lt;br /&gt;
&lt;br /&gt;
==Module laden/entladen==&lt;br /&gt;
===modprobe===&lt;br /&gt;
Mit modprobe können Module zur Laufzeit des Systems ge- und entladen werden. modprobe löst dabei automatisch Abhängigkeiten&lt;br /&gt;
auf, d.h. wenn das zu ladende Modul andere Module voraussetzt, werden diese automatisch in der richtigen Reihenfolge &lt;br /&gt;
mitgeladen bzw. werden Module automatisch mit entfernt, welche nur aus Abhänigkeitsgründen geladen wurden.&lt;br /&gt;
&lt;br /&gt;
 modprobe [Optionen] Modulname(n)&lt;br /&gt;
&lt;br /&gt;
===Optionen===&lt;br /&gt;
* -v : ausführliche Ausgabe&lt;br /&gt;
 root@zero:~# modprobe -v vfat&lt;br /&gt;
 insmod /lib/modules/2.6.27-7-generic/kernel/fs/fat/fat.ko &lt;br /&gt;
 insmod /lib/modules/2.6.27-7-generic/kernel/fs/vfat/vfat.ko &lt;br /&gt;
&lt;br /&gt;
* -n : simuliert das Laden des Moduls, lädt es aber nicht&lt;br /&gt;
 root@zero:~# modprobe -v -n wlan&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/volatile/wlan.ko&lt;br /&gt;
&lt;br /&gt;
* -a : Es werden alle in der Kommandozeile angegebenen Module geladen. Diese Option muss immer dann verwendet werden, wenn mehrere Module auf einmal geladen werden sollen.&lt;br /&gt;
* --show-depends : zeigt Abhängigkeiten an&lt;br /&gt;
 root@zero:~# modprobe --show-depends lp&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/parport/parport.ko&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/char/lp.ko&lt;br /&gt;
&lt;br /&gt;
* -r : entlädt Module&lt;br /&gt;
 root@zero:~# modprobe -r lp&lt;br /&gt;
&lt;br /&gt;
===Dateien===&lt;br /&gt;
modprobe durchsucht '''/lib/modules/$(uname -r)''' nach den Modulen. uname -r gibt die Versionsnummer des installierten Kernel &lt;br /&gt;
aus.&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# modprobe -v btusb&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/bluetooth/btusb.ko&lt;br /&gt;
&lt;br /&gt;
==Abhängigkeiten von Modulen==&lt;br /&gt;
Manche Module können erst genutzt bzw. geladen werden, wenn andere Module geladen sind, da sie von diesen abhängen. Diese &lt;br /&gt;
Abhängigkeiten sind in der Datei '''/lib/module/&amp;lt;Kernelversion&amp;gt;/modules.dep''' hinterlegt. Diese Datei mit korrekt angelegten &lt;br /&gt;
Abhängigkeiten wird bei der Installation von Ubuntu hinterlegt, so dass keine Änderungen vorgenommen werden müssen. &lt;br /&gt;
Installiert man zusätzliche eigene Module, so sollte die Datei modules.dep neu erstellt werden. Dies geschieht über den &lt;br /&gt;
Befehl depmod.&lt;br /&gt;
&lt;br /&gt;
 depmod [Optionen]&lt;br /&gt;
&lt;br /&gt;
===Optionen===&lt;br /&gt;
* -A : Es wird zuerst geprüft, ob neue Module hinzugekommen sind. Wenn nicht wird keine neue modules.dep erstellt.&lt;br /&gt;
* -n : Das Erstellen der neuen modules.dep wird simuliert, ohne die Aktionen wirklich durchzuführen.&lt;br /&gt;
&lt;br /&gt;
==Module automatisch laden==&lt;br /&gt;
Möchte man ein Modul, welches der Kernel nicht automatisch mit lädt, beim Systemstart automatisch laden, so trägt man &lt;br /&gt;
den Modulnamen einfach in die Datei /etc/modules ein. Ab dem nächsten Systemstart werden alle Module (zusätzlich) &lt;br /&gt;
geladen, die dort eingetragen sind.&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# cat /etc/modules&lt;br /&gt;
 # /etc/modules: kernel modules to load at boot time.&lt;br /&gt;
 #&lt;br /&gt;
 # This file contains the names of kernel modules that should be loaded&lt;br /&gt;
 # at boot time, one per line. Lines beginning with &amp;quot;#&amp;quot; are ignored.&lt;br /&gt;
 &lt;br /&gt;
 lp&lt;br /&gt;
 wlan&lt;br /&gt;
&lt;br /&gt;
==Automatisches Laden verhindern - Blacklisting==&lt;br /&gt;
Unter bestimmten Umständen kann es sinnvoll sein, das Laden von bestimmten Modulen explizit zu verbieten. Dies geschieht &lt;br /&gt;
durch den Eintrag des entsprechenden Moduls in eine so genannte Blacklist-Datei. Diese Dateien befinden sich im Verzeichnis &lt;br /&gt;
/etc/modprobe.d. In der Regel sind hier schon einige Einträge zu finden. Die Datei legt man mit einem Editor mit Root-Rechten &lt;br /&gt;
an bzw. öffnet eine vorhandene Datei) und fügt einen Dateieintrag nach folgendem Schema hinzu, je ein Eintrag pro Zeile:&lt;br /&gt;
   &lt;br /&gt;
 root@zero:/etc/modprobe.d# cat blacklist.conf &lt;br /&gt;
 # This file lists those modules which we don't want to be loaded by&lt;br /&gt;
 # alias expansion, usually so some other driver will be loaded for the&lt;br /&gt;
 # device instead.&lt;br /&gt;
 &lt;br /&gt;
 # evbug is a debug tool that should be loaded explicitly&lt;br /&gt;
 blacklist evbug&lt;br /&gt;
 &lt;br /&gt;
 # these drivers are very simple, the HID drivers are usually preferred&lt;br /&gt;
 blacklist usbmouse&lt;br /&gt;
 blacklist usbkbd&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Man kann auch neue Dateien anlegen. Diese müssen lediglich mit '''blacklist-''' beginnen.&lt;br /&gt;
 root@zero:/etc/modprobe.d# cat &amp;gt; '''blacklist-'''wlan.conf&lt;br /&gt;
 blacklist wlan&lt;br /&gt;
 (Strg+C)&lt;br /&gt;
&lt;br /&gt;
==Aliases==&lt;br /&gt;
Mit der Direktive alias kann man Module einem Gerät zuordnen&lt;br /&gt;
 root@zero:~$ cat /etc/modprobe.d/aliases &lt;br /&gt;
 ...&lt;br /&gt;
 # character devices ##########################################################&lt;br /&gt;
 alias char-major-9-* st&lt;br /&gt;
 alias char-major-10-1 psmouse&lt;br /&gt;
 ....&lt;br /&gt;
 # block devices ##############################################################&lt;br /&gt;
 alias block-major-3-*  ide_generic&lt;br /&gt;
 alias block-major-8-*  sd_mod&lt;br /&gt;
 ....&lt;br /&gt;
&lt;br /&gt;
=Option=&lt;br /&gt;
Mit der Direktive options kann man Module mit gewissen Optionen laden&lt;br /&gt;
 root@zero:~$ cat  /etc/modprobe.d/options &lt;br /&gt;
 # Enable double-buffering so gstreamer et. al. work&lt;br /&gt;
 options quickcam compatible=2&lt;br /&gt;
&lt;br /&gt;
 # Default hostap to managed mode&lt;br /&gt;
 options hostap_pci iw_mode=2&lt;br /&gt;
 options hostap_cs iw_mode=2&lt;br /&gt;
 ...&lt;br /&gt;
=Skripte=&lt;br /&gt;
Des weiteren ist es möglich Skripte vor oder nach dem Laden bzw entladen auszuführen&lt;br /&gt;
 &lt;br /&gt;
*post-install modul befehl&lt;br /&gt;
*pre-install modul befehl&lt;br /&gt;
*post-remove modul befehl&lt;br /&gt;
*pre-remove modul befehl&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Kernelmodule&amp;diff=335</id>
		<title>Kernelmodule</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Kernelmodule&amp;diff=335"/>
		<updated>2009-07-16T11:58:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grundsätzlich besitzt der Linux-Kernel einen monolithischen Aufbau; allerdings bietet er auch die Möglichkeit, Module &lt;br /&gt;
zur Laufzeit zu laden und entladen. Unter einem Kernelmodul versteht man im Allgemeinen einen Teil bzw. eine Erweiterung &lt;br /&gt;
des Kernels. So sind z.B. alle Hardwaretreiber (z.B. WLAN-Karte, Soundkarte...) als Modul angelegt.&lt;br /&gt;
&lt;br /&gt;
Die meisten Linux-Distributionen inklusive Ubuntu machen starken Gebrauch von Kernelmodulen, da so die bestmögliche &lt;br /&gt;
Hardwarekompatibilität mit nur einem &amp;quot;allgemeinen&amp;quot; Kernel erreicht werden kann.&lt;br /&gt;
&lt;br /&gt;
In der Regel werden alle notwendigen Module beim Systemstart und falls nötig zur Laufzeit geladen, so dass der Nutzer sich &lt;br /&gt;
nicht weiter darum kümmern muss (bzw. es oft noch nicht einmal mitbekommt).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die Programme zum Umgang mit den Modulen sollten in der Standardinstallation enthalten sein, können aber ansonsten über &lt;br /&gt;
das Paket &lt;br /&gt;
* module-init-tools&lt;br /&gt;
installiert werden.&lt;br /&gt;
==Tools==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=2&lt;br /&gt;
!Kommando&lt;br /&gt;
!Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
|lsmod&lt;br /&gt;
|Zeigt geladene Module an&lt;br /&gt;
|-&lt;br /&gt;
|modprobe&lt;br /&gt;
|universales und mächtiges Werkzeug zum Entladen und Laden von Modulen&lt;br /&gt;
|-&lt;br /&gt;
|rmmod&lt;br /&gt;
|Einfaches Tool zum entfernen von Module&lt;br /&gt;
|-&lt;br /&gt;
|insmod&lt;br /&gt;
|Einfaches Tool zum installieren von Module&lt;br /&gt;
|-&lt;br /&gt;
|depmod&lt;br /&gt;
|Erstellt Dateien zur Auflösung von Modulabhängigkeit&lt;br /&gt;
|-&lt;br /&gt;
|modinfo&lt;br /&gt;
|Informationen über Modules&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ort wo die Module des laufenden Kernels liegen ==&lt;br /&gt;
 root@zero:~# cd /lib/modules/$(uname -r)&lt;br /&gt;
&lt;br /&gt;
== Geladene Module anzeigen ==&lt;br /&gt;
 root@zero:~# lsmod&lt;br /&gt;
 Module                  Size  Used by&lt;br /&gt;
 binfmt_misc            16776  1&lt;br /&gt;
 bridge                 56340  0&lt;br /&gt;
 stp                    10500  1 bridge&lt;br /&gt;
 bnep                   20224  2&lt;br /&gt;
 nfs                   266344  1&lt;br /&gt;
 lockd                  74156  1 nfs&lt;br /&gt;
 nfs_acl                11136  1 nfs&lt;br /&gt;
 input_polldev          11912  0&lt;br /&gt;
 video                  25360  0&lt;br /&gt;
 output                 11008  1 video&lt;br /&gt;
 sunrpc                195424  10 nfs,lockd,nfs_acl&lt;br /&gt;
 lp                     17156  0&lt;br /&gt;
 psmouse                61972  0&lt;br /&gt;
 ppdev                  15620  0&lt;br /&gt;
 intel_agp              34108  1&lt;br /&gt;
 pcspkr                 10496  0&lt;br /&gt;
 i2c_piix4              18448  0&lt;br /&gt;
 serio_raw              13316  0&lt;br /&gt;
 parport_pc             40100  1&lt;br /&gt;
 agpgart                42696  1 intel_agp&lt;br /&gt;
 parport                42220  3 lp,ppdev,parport_pc&lt;br /&gt;
 shpchp                 40212  0&lt;br /&gt;
 pcnet32                41092  0&lt;br /&gt;
 mii                    13312  1 pcnet32&lt;br /&gt;
 mptspi                 25864  2&lt;br /&gt;
 mptscsih               43520  1 mptspi&lt;br /&gt;
 mptbase                88420  2 mptspi,mptscsih&lt;br /&gt;
 scsi_transport_spi     30080  1 mptspi&lt;br /&gt;
 floppy                 64324  0&lt;br /&gt;
 fbcon                  46112  0&lt;br /&gt;
 tileblit               10752  1 fbcon&lt;br /&gt;
 font                   16384  1 fbcon&lt;br /&gt;
 bitblit                13824  1 fbcon&lt;br /&gt;
 softcursor              9984  1 bitblit&lt;br /&gt;
&lt;br /&gt;
== Information anzeigen ==&lt;br /&gt;
 root@zero:~# modinfo nfs&lt;br /&gt;
 filename:       /lib/modules/2.6.28-13-generic/kernel/fs/nfs/nfs.ko&lt;br /&gt;
 license:        GPL&lt;br /&gt;
 author:         Olaf Kirch &amp;lt;okir@monad.swb.de&amp;gt;&lt;br /&gt;
 srcversion:     CB761B4E8A05FF8B3FD74F8&lt;br /&gt;
 depends:        sunrpc,lockd,nfs_acl&lt;br /&gt;
 vermagic:       2.6.28-13-generic SMP mod_unload modversions 586&lt;br /&gt;
 parm:           enable_ino64:bool&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# modinfo -F filename nfs&lt;br /&gt;
 /lib/modules/2.6.28-13-generic/kernel/fs/nfs/nfs.ko&lt;br /&gt;
&lt;br /&gt;
um Werte aus einzelnen Kategorien anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Übersicht über alle Module==&lt;br /&gt;
 root@zero:~# modprobe -l | more&lt;br /&gt;
&lt;br /&gt;
==Module laden/entladen==&lt;br /&gt;
===modprobe===&lt;br /&gt;
Mit modprobe können Module zur Laufzeit des Systems ge- und entladen werden. modprobe löst dabei automatisch Abhängigkeiten&lt;br /&gt;
auf, d.h. wenn das zu ladende Modul andere Module voraussetzt, werden diese automatisch in der richtigen Reihenfolge &lt;br /&gt;
mitgeladen bzw. werden Module automatisch mit entfernt, welche nur aus Abhänigkeitsgründen geladen wurden.&lt;br /&gt;
&lt;br /&gt;
 modprobe [Optionen] Modulname(n)&lt;br /&gt;
&lt;br /&gt;
===Optionen===&lt;br /&gt;
* -v : ausführliche Ausgabe&lt;br /&gt;
 root@zero:~# modprobe -v lp&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/parport/parport.ko&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/char/lp.ko&lt;br /&gt;
&lt;br /&gt;
* -n : simuliert das Laden des Moduls, lädt es aber nicht&lt;br /&gt;
 root@zero:~# modprobe -v -n wlan&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/volatile/wlan.ko&lt;br /&gt;
&lt;br /&gt;
* -a : Es werden alle in der Kommandozeile angegebenen Module geladen. Diese Option muss immer dann verwendet werden, &lt;br /&gt;
wenn mehrere Module auf einmal geladen werden sollen.&lt;br /&gt;
* --show-depends : zeigt Abhängigkeiten an&lt;br /&gt;
 root@zero:~# modprobe --show-depends lp&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/parport/parport.ko&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/char/lp.ko&lt;br /&gt;
&lt;br /&gt;
* -r : entlädt Module&lt;br /&gt;
 root@zero:~# modprobe -r lp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dateien===&lt;br /&gt;
modprobe durchsucht '''/lib/modules/$(uname -r)''' nach den Modulen. uname -r gibt die Versionsnummer des installierten Kernel &lt;br /&gt;
aus.&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# modprobe -v btusb&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/bluetooth/btusb.ko&lt;br /&gt;
&lt;br /&gt;
==Abhängigkeiten von Modulen==&lt;br /&gt;
Manche Module können erst genutzt bzw. geladen werden, wenn andere Module geladen sind, da sie von diesen abhängen. Diese &lt;br /&gt;
Abhängigkeiten sind in der Datei '''/lib/module/&amp;lt;Kernelversion&amp;gt;/modules.dep''' hinterlegt. Diese Datei mit korrekt angelegten &lt;br /&gt;
Abhängigkeiten wird bei der Installation von Ubuntu hinterlegt, so dass keine Änderungen vorgenommen werden müssen. &lt;br /&gt;
Installiert man zusätzliche eigene Module, so sollte die Datei modules.dep neu erstellt werden. Dies geschieht über den &lt;br /&gt;
Befehl depmod.&lt;br /&gt;
&lt;br /&gt;
 depmod [Optionen]&lt;br /&gt;
&lt;br /&gt;
===Optionen===&lt;br /&gt;
* -A : Es wird zuerst geprüft, ob neue Module hinzugekommen sind. Wenn nicht wird keine neue modules.dep erstellt.&lt;br /&gt;
* -n : Das Erstellen der neuen modules.dep wird simuliert, ohne die Aktionen wirklich durchzuführen.&lt;br /&gt;
&lt;br /&gt;
==Module automatisch laden==&lt;br /&gt;
Möchte man ein Modul, welches der Kernel nicht automatisch mit lädt, beim Systemstart automatisch laden, so trägt man &lt;br /&gt;
den Modulnamen einfach in die Datei /etc/modules ein. Ab dem nächsten Systemstart werden alle Module (zusätzlich) &lt;br /&gt;
geladen, die dort eingetragen sind.&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# cat /etc/modules&lt;br /&gt;
 # /etc/modules: kernel modules to load at boot time.&lt;br /&gt;
 #&lt;br /&gt;
 # This file contains the names of kernel modules that should be loaded&lt;br /&gt;
 # at boot time, one per line. Lines beginning with &amp;quot;#&amp;quot; are ignored.&lt;br /&gt;
 &lt;br /&gt;
 lp&lt;br /&gt;
 wlan&lt;br /&gt;
&lt;br /&gt;
==Automatisches Laden verhindern - Blacklisting==&lt;br /&gt;
Unter bestimmten Umständen kann es sinnvoll sein, das Laden von bestimmten Modulen explizit zu verbieten. Dies geschieht &lt;br /&gt;
durch den Eintrag des entsprechenden Moduls in eine so genannte Blacklist-Datei. Diese Dateien befinden sich im Verzeichnis &lt;br /&gt;
/etc/modprobe.d. In der Regel sind hier schon einige Einträge zu finden. Die Datei legt man mit einem Editor mit Root-Rechten &lt;br /&gt;
an bzw. öffnet eine vorhandene Datei) und fügt einen Dateieintrag nach folgendem Schema hinzu, je ein Eintrag pro Zeile:&lt;br /&gt;
   &lt;br /&gt;
 root@zero:/etc/modprobe.d# cat blacklist.conf &lt;br /&gt;
 # This file lists those modules which we don't want to be loaded by&lt;br /&gt;
 # alias expansion, usually so some other driver will be loaded for the&lt;br /&gt;
 # device instead.&lt;br /&gt;
 &lt;br /&gt;
 # evbug is a debug tool that should be loaded explicitly&lt;br /&gt;
 blacklist evbug&lt;br /&gt;
 &lt;br /&gt;
 # these drivers are very simple, the HID drivers are usually preferred&lt;br /&gt;
 blacklist usbmouse&lt;br /&gt;
 blacklist usbkbd&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Man kann auch neue Dateien anlegen. Diese müssen lediglich mit '''blacklist-''' beginnen.&lt;br /&gt;
 root@zero:/etc/modprobe.d# cat &amp;gt; '''blacklist-'''wlan.conf&lt;br /&gt;
 blacklist wlan&lt;br /&gt;
 (Strg+C)&lt;br /&gt;
&lt;br /&gt;
==Aliases==&lt;br /&gt;
Mit der Direktive alias kann man Module einem Gerät zuordnen&lt;br /&gt;
 root@zero:~$ cat /etc/modprobe.d/aliases &lt;br /&gt;
 ...&lt;br /&gt;
 # character devices ##########################################################&lt;br /&gt;
 alias char-major-9-* st&lt;br /&gt;
 alias char-major-10-1 psmouse&lt;br /&gt;
 ....&lt;br /&gt;
 # block devices ##############################################################&lt;br /&gt;
 alias block-major-3-*  ide_generic&lt;br /&gt;
 alias block-major-8-*  sd_mod&lt;br /&gt;
 ....&lt;br /&gt;
&lt;br /&gt;
=Option=&lt;br /&gt;
Mit der Direktive options kann man Module mit gewissen Optionen laden&lt;br /&gt;
 root@zero:~$ cat  /etc/modprobe.d/options &lt;br /&gt;
 # Enable double-buffering so gstreamer et. al. work&lt;br /&gt;
 options quickcam compatible=2&lt;br /&gt;
&lt;br /&gt;
 # Default hostap to managed mode&lt;br /&gt;
 options hostap_pci iw_mode=2&lt;br /&gt;
 options hostap_cs iw_mode=2&lt;br /&gt;
 ...&lt;br /&gt;
=Skripte=&lt;br /&gt;
Des weiteren ist es möglich Skripte vor oder nach dem Laden bzw entladen auszuführen&lt;br /&gt;
 &lt;br /&gt;
*post-install modul befehl&lt;br /&gt;
*pre-install modul befehl&lt;br /&gt;
*post-remove modul befehl&lt;br /&gt;
*pre-remove modul befehl&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Kernelmodule&amp;diff=334</id>
		<title>Kernelmodule</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Kernelmodule&amp;diff=334"/>
		<updated>2009-07-16T11:56:36Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Geladene Module anzeigen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grundsätzlich besitzt der Linux-Kernel einen monolithischen Aufbau; allerdings bietet er auch die Möglichkeit, Module &lt;br /&gt;
zur Laufzeit zu laden und entladen. Unter einem Kernelmodul versteht man im Allgemeinen einen Teil bzw. eine Erweiterung &lt;br /&gt;
des Kernels. So sind z.B. alle Hardwaretreiber (z.B. WLAN-Karte, Soundkarte...) als Modul angelegt.&lt;br /&gt;
&lt;br /&gt;
Die meisten Linux-Distributionen inklusive Ubuntu machen starken Gebrauch von Kernelmodulen, da so die bestmögliche &lt;br /&gt;
Hardwarekompatibilität mit nur einem &amp;quot;allgemeinen&amp;quot; Kernel erreicht werden kann.&lt;br /&gt;
&lt;br /&gt;
In der Regel werden alle notwendigen Module beim Systemstart und falls nötig zur Laufzeit geladen, so dass der Nutzer sich &lt;br /&gt;
nicht weiter darum kümmern muss (bzw. es oft noch nicht einmal mitbekommt).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die Programme zum Umgang mit den Modulen sollten in der Standardinstallation enthalten sein, können aber ansonsten über &lt;br /&gt;
das Paket &lt;br /&gt;
* module-init-tools&lt;br /&gt;
installiert werden.&lt;br /&gt;
==Tools==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=2&lt;br /&gt;
!Kommando&lt;br /&gt;
!Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
|lsmod&lt;br /&gt;
|Zeigt geladene Module an&lt;br /&gt;
|-&lt;br /&gt;
|modprobe&lt;br /&gt;
|universales und mächtiges Werkzeug zum Entladen und Laden von Modulen&lt;br /&gt;
|-&lt;br /&gt;
|rmmmod&lt;br /&gt;
|Einfaches Tool zum entfernen von Module&lt;br /&gt;
|-&lt;br /&gt;
|insmod&lt;br /&gt;
|Einfaches Tool zum installieren von Module&lt;br /&gt;
|-&lt;br /&gt;
|depmod&lt;br /&gt;
|Erstellt Dateien zur Auflösung von Modulabhängigkeit&lt;br /&gt;
|-&lt;br /&gt;
|modinfo&lt;br /&gt;
|Informationen über Modules&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ort wo die Module des laufenden Kernels liegen ==&lt;br /&gt;
 root@zero:~# cd /lib/modules/$(uname -r)&lt;br /&gt;
&lt;br /&gt;
== Geladene Module anzeigen ==&lt;br /&gt;
 root@zero:~# lsmod&lt;br /&gt;
 Module                  Size  Used by&lt;br /&gt;
 binfmt_misc            16776  1&lt;br /&gt;
 bridge                 56340  0&lt;br /&gt;
 stp                    10500  1 bridge&lt;br /&gt;
 bnep                   20224  2&lt;br /&gt;
 nfs                   266344  1&lt;br /&gt;
 lockd                  74156  1 nfs&lt;br /&gt;
 nfs_acl                11136  1 nfs&lt;br /&gt;
 input_polldev          11912  0&lt;br /&gt;
 video                  25360  0&lt;br /&gt;
 output                 11008  1 video&lt;br /&gt;
 sunrpc                195424  10 nfs,lockd,nfs_acl&lt;br /&gt;
 lp                     17156  0&lt;br /&gt;
 psmouse                61972  0&lt;br /&gt;
 ppdev                  15620  0&lt;br /&gt;
 intel_agp              34108  1&lt;br /&gt;
 pcspkr                 10496  0&lt;br /&gt;
 i2c_piix4              18448  0&lt;br /&gt;
 serio_raw              13316  0&lt;br /&gt;
 parport_pc             40100  1&lt;br /&gt;
 agpgart                42696  1 intel_agp&lt;br /&gt;
 parport                42220  3 lp,ppdev,parport_pc&lt;br /&gt;
 shpchp                 40212  0&lt;br /&gt;
 pcnet32                41092  0&lt;br /&gt;
 mii                    13312  1 pcnet32&lt;br /&gt;
 mptspi                 25864  2&lt;br /&gt;
 mptscsih               43520  1 mptspi&lt;br /&gt;
 mptbase                88420  2 mptspi,mptscsih&lt;br /&gt;
 scsi_transport_spi     30080  1 mptspi&lt;br /&gt;
 floppy                 64324  0&lt;br /&gt;
 fbcon                  46112  0&lt;br /&gt;
 tileblit               10752  1 fbcon&lt;br /&gt;
 font                   16384  1 fbcon&lt;br /&gt;
 bitblit                13824  1 fbcon&lt;br /&gt;
 softcursor              9984  1 bitblit&lt;br /&gt;
&lt;br /&gt;
== Information anzeigen ==&lt;br /&gt;
 root@zero:~# modinfo nfs&lt;br /&gt;
 filename:       /lib/modules/2.6.28-13-generic/kernel/fs/nfs/nfs.ko&lt;br /&gt;
 license:        GPL&lt;br /&gt;
 author:         Olaf Kirch &amp;lt;okir@monad.swb.de&amp;gt;&lt;br /&gt;
 srcversion:     CB761B4E8A05FF8B3FD74F8&lt;br /&gt;
 depends:        sunrpc,lockd,nfs_acl&lt;br /&gt;
 vermagic:       2.6.28-13-generic SMP mod_unload modversions 586&lt;br /&gt;
 parm:           enable_ino64:bool&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# modinfo -F filename nfs&lt;br /&gt;
 /lib/modules/2.6.28-13-generic/kernel/fs/nfs/nfs.ko&lt;br /&gt;
&lt;br /&gt;
um Werte aus einzelnen Kategorien anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Übersicht über alle Module==&lt;br /&gt;
 root@zero:~# modprobe -l | more&lt;br /&gt;
&lt;br /&gt;
==Module laden/entladen==&lt;br /&gt;
===modprobe===&lt;br /&gt;
Mit modprobe können Module zur Laufzeit des Systems ge- und entladen werden. modprobe löst dabei automatisch Abhängigkeiten&lt;br /&gt;
auf, d.h. wenn das zu ladende Modul andere Module voraussetzt, werden diese automatisch in der richtigen Reihenfolge &lt;br /&gt;
mitgeladen bzw. werden Module automatisch mit entfernt, welche nur aus Abhänigkeitsgründen geladen wurden.&lt;br /&gt;
&lt;br /&gt;
 modprobe [Optionen] Modulname(n)&lt;br /&gt;
&lt;br /&gt;
===Optionen===&lt;br /&gt;
* -v : ausführliche Ausgabe&lt;br /&gt;
 root@zero:~# modprobe -v lp&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/parport/parport.ko&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/char/lp.ko&lt;br /&gt;
&lt;br /&gt;
* -n : simuliert das Laden des Moduls, lädt es aber nicht&lt;br /&gt;
 root@zero:~# modprobe -v -n wlan&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/volatile/wlan.ko&lt;br /&gt;
&lt;br /&gt;
* -a : Es werden alle in der Kommandozeile angegebenen Module geladen. Diese Option muss immer dann verwendet werden, &lt;br /&gt;
wenn mehrere Module auf einmal geladen werden sollen.&lt;br /&gt;
* --show-depends : zeigt Abhängigkeiten an&lt;br /&gt;
 root@zero:~# modprobe --show-depends lp&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/parport/parport.ko&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/char/lp.ko&lt;br /&gt;
&lt;br /&gt;
* -r : entlädt Module&lt;br /&gt;
 root@zero:~# modprobe -r lp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dateien===&lt;br /&gt;
modprobe durchsucht '''/lib/modules/$(uname -r)''' nach den Modulen. uname -r gibt die Versionsnummer des installierten Kernel &lt;br /&gt;
aus.&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# modprobe -v btusb&lt;br /&gt;
 insmod /lib/modules/2.6.28-13-generic/kernel/drivers/bluetooth/btusb.ko&lt;br /&gt;
&lt;br /&gt;
==Abhängigkeiten von Modulen==&lt;br /&gt;
Manche Module können erst genutzt bzw. geladen werden, wenn andere Module geladen sind, da sie von diesen abhängen. Diese &lt;br /&gt;
Abhängigkeiten sind in der Datei '''/lib/module/&amp;lt;Kernelversion&amp;gt;/modules.dep''' hinterlegt. Diese Datei mit korrekt angelegten &lt;br /&gt;
Abhängigkeiten wird bei der Installation von Ubuntu hinterlegt, so dass keine Änderungen vorgenommen werden müssen. &lt;br /&gt;
Installiert man zusätzliche eigene Module, so sollte die Datei modules.dep neu erstellt werden. Dies geschieht über den &lt;br /&gt;
Befehl depmod.&lt;br /&gt;
&lt;br /&gt;
 depmod [Optionen]&lt;br /&gt;
&lt;br /&gt;
===Optionen===&lt;br /&gt;
* -A : Es wird zuerst geprüft, ob neue Module hinzugekommen sind. Wenn nicht wird keine neue modules.dep erstellt.&lt;br /&gt;
* -n : Das Erstellen der neuen modules.dep wird simuliert, ohne die Aktionen wirklich durchzuführen.&lt;br /&gt;
&lt;br /&gt;
==Module automatisch laden==&lt;br /&gt;
Möchte man ein Modul, welches der Kernel nicht automatisch mit lädt, beim Systemstart automatisch laden, so trägt man &lt;br /&gt;
den Modulnamen einfach in die Datei /etc/modules ein. Ab dem nächsten Systemstart werden alle Module (zusätzlich) &lt;br /&gt;
geladen, die dort eingetragen sind.&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# cat /etc/modules&lt;br /&gt;
 # /etc/modules: kernel modules to load at boot time.&lt;br /&gt;
 #&lt;br /&gt;
 # This file contains the names of kernel modules that should be loaded&lt;br /&gt;
 # at boot time, one per line. Lines beginning with &amp;quot;#&amp;quot; are ignored.&lt;br /&gt;
 &lt;br /&gt;
 lp&lt;br /&gt;
 wlan&lt;br /&gt;
&lt;br /&gt;
==Automatisches Laden verhindern - Blacklisting==&lt;br /&gt;
Unter bestimmten Umständen kann es sinnvoll sein, das Laden von bestimmten Modulen explizit zu verbieten. Dies geschieht &lt;br /&gt;
durch den Eintrag des entsprechenden Moduls in eine so genannte Blacklist-Datei. Diese Dateien befinden sich im Verzeichnis &lt;br /&gt;
/etc/modprobe.d. In der Regel sind hier schon einige Einträge zu finden. Die Datei legt man mit einem Editor mit Root-Rechten &lt;br /&gt;
an bzw. öffnet eine vorhandene Datei) und fügt einen Dateieintrag nach folgendem Schema hinzu, je ein Eintrag pro Zeile:&lt;br /&gt;
   &lt;br /&gt;
 root@zero:/etc/modprobe.d# cat blacklist.conf &lt;br /&gt;
 # This file lists those modules which we don't want to be loaded by&lt;br /&gt;
 # alias expansion, usually so some other driver will be loaded for the&lt;br /&gt;
 # device instead.&lt;br /&gt;
 &lt;br /&gt;
 # evbug is a debug tool that should be loaded explicitly&lt;br /&gt;
 blacklist evbug&lt;br /&gt;
 &lt;br /&gt;
 # these drivers are very simple, the HID drivers are usually preferred&lt;br /&gt;
 blacklist usbmouse&lt;br /&gt;
 blacklist usbkbd&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Man kann auch neue Dateien anlegen. Diese müssen lediglich mit '''blacklist-''' beginnen.&lt;br /&gt;
 root@zero:/etc/modprobe.d# cat &amp;gt; '''blacklist-'''wlan.conf&lt;br /&gt;
 blacklist wlan&lt;br /&gt;
 (Strg+C)&lt;br /&gt;
&lt;br /&gt;
==Aliases==&lt;br /&gt;
Mit der Direktive alias kann man Module einem Gerät zuordnen&lt;br /&gt;
 root@zero:~$ cat /etc/modprobe.d/aliases &lt;br /&gt;
 ...&lt;br /&gt;
 # character devices ##########################################################&lt;br /&gt;
 alias char-major-9-* st&lt;br /&gt;
 alias char-major-10-1 psmouse&lt;br /&gt;
 ....&lt;br /&gt;
 # block devices ##############################################################&lt;br /&gt;
 alias block-major-3-*  ide_generic&lt;br /&gt;
 alias block-major-8-*  sd_mod&lt;br /&gt;
 ....&lt;br /&gt;
&lt;br /&gt;
=Option=&lt;br /&gt;
Mit der Direktive options kann man Module mit gewissen Optionen laden&lt;br /&gt;
 root@zero:~$ cat  /etc/modprobe.d/options &lt;br /&gt;
 # Enable double-buffering so gstreamer et. al. work&lt;br /&gt;
 options quickcam compatible=2&lt;br /&gt;
&lt;br /&gt;
 # Default hostap to managed mode&lt;br /&gt;
 options hostap_pci iw_mode=2&lt;br /&gt;
 options hostap_cs iw_mode=2&lt;br /&gt;
 ...&lt;br /&gt;
=Skripte=&lt;br /&gt;
Des weiteren ist es möglich Skripte vor oder nach dem Laden bzw entladen auszuführen&lt;br /&gt;
 &lt;br /&gt;
*post-install modul befehl&lt;br /&gt;
*pre-install modul befehl&lt;br /&gt;
*post-remove modul befehl&lt;br /&gt;
*pre-remove modul befehl&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Ramdisk_entpacken&amp;diff=330</id>
		<title>Ramdisk entpacken</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Ramdisk_entpacken&amp;diff=330"/>
		<updated>2009-07-16T11:10:44Z</updated>

		<summary type="html">&lt;p&gt;Admin: Die Seite wurde neu angelegt: Ramdisk entkomprimieren  root@ubuntu-server:~# gzip -dc 1545_receiver &amp;gt; 1545_receiver.cpio Ramdisk Dateisystem aus dem cpio Format auslesen  root@ubuntu-server:~# cd ba...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ramdisk entkomprimieren&lt;br /&gt;
 root@ubuntu-server:~# gzip -dc 1545_receiver &amp;gt; 1545_receiver.cpio&lt;br /&gt;
Ramdisk Dateisystem aus dem cpio Format auslesen&lt;br /&gt;
 root@ubuntu-server:~# cd base/&lt;br /&gt;
 root@ubuntu-server:~/base# cpio -iF ../1545_receiver.cpio &lt;br /&gt;
 3893 blocks&lt;br /&gt;
Listen&lt;br /&gt;
 root@ubuntu-server:~/base# ls&lt;br /&gt;
 bin  cd  dev  etc  floppy  init  keymaps  lib  motd  post  pre  proc  sbin  start_eth1  sys  tmp  udpcfg.txt   usr  var&lt;br /&gt;
Ramdisk Dateisystem ins cpio Format übertragen (weitere Parameter notwendig)&lt;br /&gt;
 root@ubuntu-server:~/base# find . | cpio -o &amp;gt; ../1545_receiver.cpio_clone&lt;br /&gt;
 3879 blocks&lt;br /&gt;
Ramdisk wieder mit gzip packen&lt;br /&gt;
 root@ubuntu-server:~# gzip -c 1545_receiver.cpio_clone &amp;gt; 1545_receiver.clone&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Hauptseite&amp;diff=329</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Hauptseite&amp;diff=329"/>
		<updated>2009-07-16T11:06:55Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dokumentation&lt;br /&gt;
&lt;br /&gt;
* [[Installation von Mediawiki unter Ubuntu]]&lt;br /&gt;
* [[Linux Grundlagen]]&lt;br /&gt;
* [[Administration]]&lt;br /&gt;
* [[Bash]]&lt;br /&gt;
* [[Netzwerkkonfiguration unter Ubuntu]]&lt;br /&gt;
* [[Paketmanagement]]&lt;br /&gt;
* [[LVM]]&lt;br /&gt;
* [[RAID]]&lt;br /&gt;
* [[SSH]]&lt;br /&gt;
* [[Bootprozess]]&lt;br /&gt;
* [[NTP]]&lt;br /&gt;
* [[Ssh-tunnel]]&lt;br /&gt;
* [[Screen]]&lt;br /&gt;
* [[Nützliche Tools]]&lt;br /&gt;
* [[RPM]]&lt;br /&gt;
* [[Yum howto]]&lt;br /&gt;
* [[Runit]]&lt;br /&gt;
* [[Rsync]]&lt;br /&gt;
* [[NET]]&lt;br /&gt;
* [[Kernelmodule]]&lt;br /&gt;
* [[Udpcast]]&lt;br /&gt;
* [[Ungeschütztes Linux Hacken]]&lt;br /&gt;
* [[apache2]]&lt;br /&gt;
* [[PostgreSQL]]&lt;br /&gt;
* [[Tomcat 5.5]]&lt;br /&gt;
* [[PXELinux]]&lt;br /&gt;
* [[Squid]]&lt;br /&gt;
* [[VLC]]&lt;br /&gt;
* [[Dynamic Host Configuration Protocol]]&lt;br /&gt;
* [[Ramdisk entpacken]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Hauptseite&amp;diff=328</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Hauptseite&amp;diff=328"/>
		<updated>2009-07-16T10:27:15Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dokumentation&lt;br /&gt;
&lt;br /&gt;
* [[Installation von Mediawiki unter Ubuntu]]&lt;br /&gt;
* [[Linux Grundlagen]]&lt;br /&gt;
* [[Administration]]&lt;br /&gt;
* [[Bash]]&lt;br /&gt;
* [[Netzwerkkonfiguration unter Ubuntu]]&lt;br /&gt;
* [[Paketmanagement]]&lt;br /&gt;
* [[LVM]]&lt;br /&gt;
* [[RAID]]&lt;br /&gt;
* [[SSH]]&lt;br /&gt;
* [[Bootprozess]]&lt;br /&gt;
* [[NTP]]&lt;br /&gt;
* [[Ssh-tunnel]]&lt;br /&gt;
* [[Screen]]&lt;br /&gt;
* [[Nützliche Tools]]&lt;br /&gt;
* [[RPM]]&lt;br /&gt;
* [[Yum howto]]&lt;br /&gt;
* [[Runit]]&lt;br /&gt;
* [[Rsync]]&lt;br /&gt;
* [[NET]]&lt;br /&gt;
* [[Kernelmodule]]&lt;br /&gt;
* [[Udpcast]]&lt;br /&gt;
* [[Ungeschütztes Linux Hacken]]&lt;br /&gt;
* [[apache2]]&lt;br /&gt;
* [[PostgreSQL]]&lt;br /&gt;
* [[Tomcat 5.5]]&lt;br /&gt;
* [[PXELinux]]&lt;br /&gt;
* [[Squid]]&lt;br /&gt;
* [[VLC]]&lt;br /&gt;
* [[Dynamic Host Configuration Protocol]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Vlc.jpg&amp;diff=327</id>
		<title>Datei:Vlc.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Vlc.jpg&amp;diff=327"/>
		<updated>2009-07-16T10:25:57Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VLC&amp;diff=326</id>
		<title>VLC</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VLC&amp;diff=326"/>
		<updated>2009-07-16T10:25:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: 1 Version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:vlc.jpg]]&lt;br /&gt;
&lt;br /&gt;
=VLC media player=&lt;br /&gt;
Der VLC media player, oder anfangs VideoLAN client, ist ein mittlerweile bekannter freier Mediaplayer der die unterschiedlichsten Codecs und Dateiformate sowie DVD's und Video-CD's unterstützt.&lt;br /&gt;
&lt;br /&gt;
==Geschichte==&lt;br /&gt;
Der VLC media player wird seit 1999 vom VideoLAN-Team entwickelt. Dieses besteht aus Studenten der französischen Ingenieurschule École centrale Paris in Châtenay-Malabry bei Paris und Entwicklern aus über 20 Ländern. Das Programm steht seit dem 1. Februar 2001 unter der GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Der Entwickler Antoine Cellerier kennt die Geschichte des Logos selbst nur vom Hörensagen: Eines Tages kamen Studenten eines der Netzwerk-Clubs der École centrale Paris betrunken mit einem Verkehrssicherungskegel nach Hause. Später ging aus diesem Club das VideoLAN-Projekt hervor. Als man ein Logo für das Programm suchte, fiel die Wahl auf den Kegel, aus dem zu diesem Zeitpunkt bereits eine beträchtliche Kegel-Sammlung hervorgegangen war.&lt;br /&gt;
&lt;br /&gt;
==Merkmale==&lt;br /&gt;
===Die Streaming Lösung===&lt;br /&gt;
Die ursprüngliche Streaming-Lösung besteht aus dem VideoLAN Server und dem VLC media player. Damit war das Streaming von digitalen TV-Inhalten, DVDs und MPEG- &amp;amp; DivX-Filmdateien über den Campus der École Centrale Paris möglich. Mittlerweile wurden beide Programme erweitert, sodass auch Streaming über das Internet realisierbar ist. VLC unterstützt mittlerweile auch Video on Demand, so dass es durchaus mit Streaminglösungen kommerzieller Anbieter konkurrieren kann. &lt;br /&gt;
&lt;br /&gt;
Durch die Weiterentwicklung des VLC media player zu einem eigenen Streaming-Server wurde das Konzept der Lösung seit Januar 2003 aufgeweicht. Eine mittelbare Folge davon ist, dass die Lösung auch von Benutzern ohne große Vorkenntnisse eingesetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
===Vielseitigkeit===&lt;br /&gt;
Besonders hervorzuheben ist die Vielseitigkeit des Programms, das nahezu jedes Format und jede Datei abspielt, auch unvollständige oder bruchstückhafte AVI-Dateien, was z. B. bei nicht vollständig heruntergeladenen Dateien der Fall sein kann. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich können über Filter verschiedene Effekte in Echtzeit angewandt werden. So kann z. B. ein Video, das im Hochformat aufgenommen wurde, um 90° gedreht, und Farbfilter etc. angewandt werden.&lt;br /&gt;
&lt;br /&gt;
===Portabilität===&lt;br /&gt;
Der VLC media player läuft unter GNU/Linux, Microsoft Windows, Mac OS X, BeOS, Syllable. Einige andere Betriebssysteme wie z. B. BSD werden auch unterstützt, für sie gibt es nur keine vorkompilierte Binär-Pakete.&lt;br /&gt;
Außerdem gibt es für Microsoft Windows eine portable (vom USB-Stick ohne Installation lauffähige) Version.&lt;br /&gt;
&lt;br /&gt;
== Einsatz ==&lt;br /&gt;
Der ''VLC media player'' kommt bei Privatnutzern, in Schulen und Universitäten, aber auch bei professionellen Anwendern zum Einsatz. Geschätzt wird vor allem die hohe Kompatibilität mit einer Vielzahl von Formaten und Codecs, wodurch er beinahe alles wiedergeben kann. Auch die im September 2007 vorgestellte ZDFmediathek unterstützt den VLC zur Wiedergabe ihres Video-on-Demand- und Livestream-Angebots (bei bestmöglicher Bildqualität dank Wiedergabe einer H.264-kodierten Videoquelle).&lt;br /&gt;
&lt;br /&gt;
=Benutzung=&lt;br /&gt;
==Hilfe bekommen==&lt;br /&gt;
Alle Standard Operationen von VLC sollten über die Grafische Benutzeroberfläche verfügbar sein. Wie auch immer, manche komplexen Operationen können nur von der Kommandozeile aus benutzt werden  und es gibt Situationen in welchen man die Grafische Benutzeroberfläche nicht benötigt oder möchte.&lt;br /&gt;
&lt;br /&gt;
VLC hat eine Modulstruktur. Der Kern verwaltet haupsächlich die Kommunikation zwischen Modulen. Alle Multimediaprozesse werden von Modulen abgewickelt. Es gibt Input-Module, Demultiplexer, Decoder, Video Output Module und mehr...&lt;br /&gt;
&lt;br /&gt;
Dieses Kapitel wird nur die Kernoptionen erörtern. Jedes Modul erweitert VLC um neue Optionen. Zum Beispiel fügt das HTTP-Inputmodul Optionen für caching, proxy und Authentifikation hinzu.&lt;br /&gt;
&lt;br /&gt;
Einfachen Kernoptionen erfährt man mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --help'''&lt;br /&gt;
&lt;br /&gt;
Alle Grundoptionen des Kerns + der Module mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp'''&lt;br /&gt;
&lt;br /&gt;
Und wirklich alle Optionen mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc --longhelp --advanced'''&lt;br /&gt;
&lt;br /&gt;
==Medien öffnen==&lt;br /&gt;
&lt;br /&gt;
Der folgende Befehl startet VLC mit &amp;quot;Datei&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ '''vlc &amp;quot;Datei&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Öffnen von DVD's, Video- oder Audio CD's.&lt;br /&gt;
&lt;br /&gt;
DVD mit Menüs:&lt;br /&gt;
&lt;br /&gt;
  xinux@zero:~$ vlc '''dvd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DVD ohne Menüs:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$  vlc '''dvdsimple'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
VCD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''vcd'''://&amp;quot;device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Audio CD:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''cdda:'''//&amp;quot;device&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
==Stream senden (UDP)==&lt;br /&gt;
&lt;br /&gt;
Eine Datei kann man über VLC mit folgendem Befehl streamen:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc &amp;quot;Datei&amp;quot; '''--sout udp:&amp;quot;IP-Adresse&amp;quot; --ttl 12'''&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; muss entweder &lt;br /&gt;
&lt;br /&gt;
* ein Rechner an den man Unicast-Streamen will,&lt;br /&gt;
* der DNS Name eines Rechners an den man Unicast-Streamen will&lt;br /&gt;
* oder eine Multicast IP-Adresse sein (224.0.0.0 bis 239.255.255.255).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um eine DVD zu streamen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc dvdsimple://&amp;quot;/dev/dvd&amp;quot; '''--sout '#udp{mux=ts,dst=192.168.0.12}' --ttl 12 --sout-all'''&lt;br /&gt;
&lt;br /&gt;
Wobei &amp;quot;/dev/dvd&amp;quot; das DVD-Laufwerk sein muss, bei Windows z.B. ''D:''&lt;br /&gt;
&lt;br /&gt;
==Stream empfangen (UDP)==&lt;br /&gt;
&lt;br /&gt;
Um einen Unicast RTP/UDP Stream (Gesendet von VLC's Stream Output) zu empfangen muss man VLC mit folgenden Befehlen starten:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc '''udp://[@:server_port]'''&lt;br /&gt;
&lt;br /&gt;
Wenn man den Standartport '''1234''' verwendet reicht '''vlc rtp://'''&lt;br /&gt;
&lt;br /&gt;
Um einen Multicast-Stream zu empfangen benutzt man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''@multicast_address'''[@:server_port]&lt;br /&gt;
&lt;br /&gt;
Um einen Stream von einer bestimmten Adresse zu empfangen ('''S'''ource'''S'''pecific'''M'''ulticast) braucht man:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc udp://'''server_address'''@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Dies funktioniert nur mit Betriebsystemen die SSM unterstützen (Windows XP und neueste Linux Kernels)&lt;br /&gt;
&lt;br /&gt;
Um einen HTTP-Stream zu empfangen startet man VLC mit:&lt;br /&gt;
&lt;br /&gt;
 xinux@zero:~$ vlc http://www.beispiel.org/Datei.mpg&lt;br /&gt;
&lt;br /&gt;
==Remote Control==&lt;br /&gt;
&lt;br /&gt;
VLC lässt sich nach belieben auch über Interfaces wie Telnet auf entfernten Rechnern steuern.&lt;br /&gt;
&lt;br /&gt;
Ein VLC mit Remote Control benutzbarkeit öffnet man mit:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# vlc -I rc --rc-host &amp;quot;IP-Adresse&amp;quot;:&amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;IP-Adresse&amp;quot; ist die des Rechners auf dem VLC ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Mann kann dann mit Tools wie ''Netcat'' darauf zugreifen mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 root@zero:~# nc &amp;quot;IP-Adresse&amp;quot; &amp;quot;PORT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Man sieht hierbei keine Bestätigung, aber mit '''help''' lassen sich die benutzbaren Befehle anzeigen.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Udpcast&amp;diff=324</id>
		<title>Udpcast</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Udpcast&amp;diff=324"/>
		<updated>2009-07-16T09:58:49Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Broadcast */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UDPcast ist ein Datenübertragungsprogramm, welches Dateien über Ethernet an viele Clients gleichzeitig ausliefern kann. Dazu benutzt es Ethernet multicast oder broadcast.&lt;br /&gt;
&lt;br /&gt;
=Installation aus den Paketquellen=&lt;br /&gt;
UDPcast ist in den Paketquellen von Ubuntu enthalten.&lt;br /&gt;
 root@zero:~# apt-get install udpcast&lt;br /&gt;
&lt;br /&gt;
Es werden 2 Programme mitgeliefert.&lt;br /&gt;
udp-sender: sendet einen Datenstrom über Broadcast/Multicast an das Netzwerk.&lt;br /&gt;
udp-receiver: empfängt den Datenstrom von einem Sender.&lt;br /&gt;
&lt;br /&gt;
=Anwendung=&lt;br /&gt;
&lt;br /&gt;
==Einfache Übertragung==&lt;br /&gt;
&lt;br /&gt;
Sender:&lt;br /&gt;
 root@sender:~# udp-sender --interface eth0 --file ubuntu-9.04-desktop-i386.iso&lt;br /&gt;
 Udp-sender 2004-05-31&lt;br /&gt;
 Using mcast address 232.168.250.102&lt;br /&gt;
 UDP sender for ubuntu-9.04-desktop-i386.iso at 192.168.250.102 on eth0 &lt;br /&gt;
 Broadcasting control to 192.168.255.255&lt;br /&gt;
 New connection from 192.168.241.1  (#0) 00000019&lt;br /&gt;
 Ready. Press any key to start sending data.&lt;br /&gt;
 Ready. Press any key to start sending data.&lt;br /&gt;
 New connection from 192.168.250.1  (#1) 00000019&lt;br /&gt;
 Ready. Press any key to start sending data.&lt;br /&gt;
&lt;br /&gt;
Empfänger1:&lt;br /&gt;
 root@empfaenger1:~# udp-receiver --interface eth0 --file ubuntu-9.04-desktop-i386.iso&lt;br /&gt;
 Udp-receiver 2004-05-31&lt;br /&gt;
 UDP receiver for ubuntu-9.04-desktop-i386.iso at 192.168.241.1 on eth0&lt;br /&gt;
 received message, cap=00000019&lt;br /&gt;
 Connected as #0 to 192.168.250.102&lt;br /&gt;
 Listening to multicast on 232.168.250.102&lt;br /&gt;
 Press any key to start receiving data!&lt;br /&gt;
&lt;br /&gt;
Empfänger2:&lt;br /&gt;
 root@empfaenger2:~# udp-receiver --interface eth0 --file ubuntu-9.04-desktop-i386.iso&lt;br /&gt;
 Udp-receiver 2004-05-31&lt;br /&gt;
 UDP receiver for ubuntu-9.04-desktop-i386.iso at 192.168.250.1 on eth0&lt;br /&gt;
 received message, cap=00000019&lt;br /&gt;
 Connected as #1 to 192.168.250.102&lt;br /&gt;
 Listening to multicast on 232.168.250.102&lt;br /&gt;
 Press any key to start receiving data!&lt;br /&gt;
&lt;br /&gt;
Hier sieht man eine einfache Form udpcast zu verwenden. Der Sender startet udp-sender mit den Optionen --interface und --file. Die Datenübertragung läuft hier standardmäßig über Multicast. Dies hat gegenüber Broadcast den Vorteil, dass nicht alle Clients im gleichen Subnetz den Datenstring erhalten, sondern nur die, welche sich der Multicast-Gruppe des Senders angeschlossen haben. Sobald ein Empfänger udp-receiver startet, schließt er sich der Multicast-Gruppe an und lauscht auf seiner Multicast-Adresse.&lt;br /&gt;
&lt;br /&gt;
Sobald alle Empfänger das Programm gestartet haben, kann der Sender oder einer der Empfänger das Signal zum Starten der Übertragung geben.&lt;br /&gt;
&lt;br /&gt;
Sender:&lt;br /&gt;
 Starting transfer: 00000019&lt;br /&gt;
 bytes=        458 640 re-xmits=000074 ( 23.4%) slice=0060       6 332 416 -   1&lt;br /&gt;
 Timeout notAnswered=[1] notReady=[1] nrAns=1 nrRead=1 nrPart=2 avg=4152&lt;br /&gt;
 bytes=      2 205 840 re-xmits=000074 (  4.8%) slice=0060       8 081 408 -   1&lt;br /&gt;
 Timeout notAnswered=[1] notReady=[1] nrAns=1 nrRead=1 nrPart=2 avg=1693&lt;br /&gt;
 Timeout notAnswered=[1] notReady=[1] nrAns=1 nrRead=1 nrPart=2 avg=1693&lt;br /&gt;
 bytes=      2 380 560 re-xmits=000074 (  4.5%) slice=0060       8 253 440 -   1&lt;br /&gt;
 ...&lt;br /&gt;
 Timeout notAnswered=[1] notReady=[1] nrAns=1 nrRead=1 nrPart=2 avg=1207&lt;br /&gt;
 bytes=      9 159 696 re-xmits=000075 (  1.1%) slice=0058       9 651 340 -   1 &lt;br /&gt;
 Timeout notAnswered=[1] notReady=[1] nrAns=1 nrRead=1 nrPart=2 avg=1507&lt;br /&gt;
 bytes=      9 651 340 re-xmits=000075 (  1.1%) slice=0058       9 651 340 -   1&lt;br /&gt;
 Transfer complete.&lt;br /&gt;
 Disconnecting #0 (192.168.250.1)&lt;br /&gt;
 Disconnecting #1 (192.168.241.1)&lt;br /&gt;
 root@sender:~# &lt;br /&gt;
&lt;br /&gt;
Empfänger2:&lt;br /&gt;
 bytes=      9 651 340  ( 61.23 Mbps)      9 651 340 &lt;br /&gt;
 Transfer complete.&lt;br /&gt;
 root@empfaenger2:~#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bandbreitenregulierung==&lt;br /&gt;
&lt;br /&gt;
Will man die Bandbreite manuell herabsetzen, kann die Option --max-bitrate ''n'' angegeben werden.&lt;br /&gt;
&lt;br /&gt;
==Automatischer Start==&lt;br /&gt;
Man kann das Starten der Übertragung auch automatisch geschehen lassen. Hierfür gibt es 3 Optionen:&lt;br /&gt;
&lt;br /&gt;
--min-wait ''n'' : Der Sender wartet ''n'' Sekunden, bis er mit der Übertragung beginnt.&lt;br /&gt;
&lt;br /&gt;
--min-client ''p'' : Mit dieser Option wartet der Sender, bis sich ''p'' Clients angemeldet haben. Ist zusätzlich die Option --min-wait angegeben, wartet der Sender trotzdem die angegebene Anzahl an Sekunden bevor er mit der Übertragung beginnt, auch wenn schon ''n'' Sekunden vergangen sind.&lt;br /&gt;
&lt;br /&gt;
--max-wait ''q'': Diese Option wird zusammen mit --min-client angegeben. Wird die angegebene Anzahl an Sekunden überschritten und haben sich noch nicht genug Clients angemeldet, startet der Sender trotzdem mit der Übertragung.&lt;br /&gt;
&lt;br /&gt;
==Pipe==&lt;br /&gt;
Man kann die Ausgabe von udp-receiver auch anstatt in eine Datei zu speichern nach stdout schicken, um sie dann in einer Pipe weiterzuverarbeiten. Hierzu gibt es die Option --pipe ''Kommando''.&lt;br /&gt;
&lt;br /&gt;
Sender:&lt;br /&gt;
 udp-sender --interface eth0 --file firefox-3.5.tar.bz2&lt;br /&gt;
Empfänger:&lt;br /&gt;
 root@empfaenger2:~# udp-receiver --interface eth0  --pipe &amp;quot;tar -xj&amp;quot;&lt;br /&gt;
 Udp-receiver 2004-05-31&lt;br /&gt;
 Compressed UDP receiver for (stdout) at 192.168.250.1 on eth0&lt;br /&gt;
&lt;br /&gt;
Ohne die Option --file wird nun alles was übertragen wird nach stdout geschrieben. Die Pipe fängt diese Ausgabe auf und entpackt das komprimierte tar-Archiv.&lt;br /&gt;
&lt;br /&gt;
Genauso kann der Sender seine Daten durch eine Pipe schicken, bevor diese mit udp-sender verschickt werden.&lt;br /&gt;
&lt;br /&gt;
Sender:&lt;br /&gt;
 root@sender:~# udp-sender --interface eth0 --pipe &amp;quot;tar -cj datei&amp;quot;&lt;br /&gt;
Empfänger:&lt;br /&gt;
 root@empfaenger2:~# udp-receiver --interface eth0  --pipe &amp;quot;tar -xj&amp;quot;&lt;br /&gt;
Hier wird beim Sender die datei erst mittels tar verpackt. Beim Empfänger wird dieses Archiv wieder entpackt.&lt;br /&gt;
&lt;br /&gt;
==Full-Duplex==&lt;br /&gt;
&lt;br /&gt;
In Full-Duplex-Netzen (Standard in T-base-10 or 100 mit Switch und Gigabit-Ethernet) kann die Option --full-duplex angegeben werden. Dies kann zu einer Steigerung der Performance führen.&lt;br /&gt;
 udp-sender --interface eth0 --file firefox-3.5.tar.bz2 --full-duplex&lt;br /&gt;
&lt;br /&gt;
==Ports==&lt;br /&gt;
&lt;br /&gt;
Standardmäßig werden zum Übertragen die Ports 9000 auf der Sender-Seite und 9001 auf der Empfänger-Seite benutzt. Dies kann man mit der Option --portbase ''portbase'' ändern. Damit werden die Ports ''portbase'' und ''portbase+1'' benutzt. Portbase sollte gerade gewählt werden und muss jeweils auf der Sender und Empfängerseite gleich eingestellt sein.&lt;br /&gt;
&lt;br /&gt;
Sender:&lt;br /&gt;
 udp-sender --interface eth0 --file firefox-3.5.tar.bz2 --portbase 5000&lt;br /&gt;
Empfänger:&lt;br /&gt;
 root@empfaenger2:~# udp-receiver --interface eth0 --file firefox-3.5.tar.bz2 --portbase 5000&lt;br /&gt;
&lt;br /&gt;
==Broadcast==&lt;br /&gt;
Gibt man die Option --broadcast an werden die Pakete nicht über Multi- sonder über Broadcast verschickt und so an alle Teilnehmer des Netzwerks versendet. Diese Option sollte nur benutzt werden, wenn Switches oder Receiver im Netzwerk keine Multicast-Fähigkeit besitzen, denn sonst werden alle anderen Clients im Netz, die nicht die Daten empfangen wollen mit unnötigem Traffic belastet.&lt;br /&gt;
&lt;br /&gt;
einstellungen wie oft ein Übertragungsversuche ohne REQACK gemacht sollte. &lt;br /&gt;
*--retriesUntilDrop&lt;br /&gt;
&lt;br /&gt;
Begrenzen der maximalen Übertragungsrate.&lt;br /&gt;
*--max-bitrate&lt;br /&gt;
&lt;br /&gt;
Feste einstellung der Multicastadresse. (wird normal dynmaisch vergeben)&lt;br /&gt;
*--mcast-addr&lt;br /&gt;
&lt;br /&gt;
Setz die TTL für die UDP Pakete fest wenn über einen Multicast Router übetragen.&lt;br /&gt;
*--ttl&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Udpcast&amp;diff=323</id>
		<title>Udpcast</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Udpcast&amp;diff=323"/>
		<updated>2009-07-16T09:57:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Broadcast */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UDPcast ist ein Datenübertragungsprogramm, welches Dateien über Ethernet an viele Clients gleichzeitig ausliefern kann. Dazu benutzt es Ethernet multicast oder broadcast.&lt;br /&gt;
&lt;br /&gt;
=Installation aus den Paketquellen=&lt;br /&gt;
UDPcast ist in den Paketquellen von Ubuntu enthalten.&lt;br /&gt;
 root@zero:~# apt-get install udpcast&lt;br /&gt;
&lt;br /&gt;
Es werden 2 Programme mitgeliefert.&lt;br /&gt;
udp-sender: sendet einen Datenstrom über Broadcast/Multicast an das Netzwerk.&lt;br /&gt;
udp-receiver: empfängt den Datenstrom von einem Sender.&lt;br /&gt;
&lt;br /&gt;
=Anwendung=&lt;br /&gt;
&lt;br /&gt;
==Einfache Übertragung==&lt;br /&gt;
&lt;br /&gt;
Sender:&lt;br /&gt;
 root@sender:~# udp-sender --interface eth0 --file ubuntu-9.04-desktop-i386.iso&lt;br /&gt;
 Udp-sender 2004-05-31&lt;br /&gt;
 Using mcast address 232.168.250.102&lt;br /&gt;
 UDP sender for ubuntu-9.04-desktop-i386.iso at 192.168.250.102 on eth0 &lt;br /&gt;
 Broadcasting control to 192.168.255.255&lt;br /&gt;
 New connection from 192.168.241.1  (#0) 00000019&lt;br /&gt;
 Ready. Press any key to start sending data.&lt;br /&gt;
 Ready. Press any key to start sending data.&lt;br /&gt;
 New connection from 192.168.250.1  (#1) 00000019&lt;br /&gt;
 Ready. Press any key to start sending data.&lt;br /&gt;
&lt;br /&gt;
Empfänger1:&lt;br /&gt;
 root@empfaenger1:~# udp-receiver --interface eth0 --file ubuntu-9.04-desktop-i386.iso&lt;br /&gt;
 Udp-receiver 2004-05-31&lt;br /&gt;
 UDP receiver for ubuntu-9.04-desktop-i386.iso at 192.168.241.1 on eth0&lt;br /&gt;
 received message, cap=00000019&lt;br /&gt;
 Connected as #0 to 192.168.250.102&lt;br /&gt;
 Listening to multicast on 232.168.250.102&lt;br /&gt;
 Press any key to start receiving data!&lt;br /&gt;
&lt;br /&gt;
Empfänger2:&lt;br /&gt;
 root@empfaenger2:~# udp-receiver --interface eth0 --file ubuntu-9.04-desktop-i386.iso&lt;br /&gt;
 Udp-receiver 2004-05-31&lt;br /&gt;
 UDP receiver for ubuntu-9.04-desktop-i386.iso at 192.168.250.1 on eth0&lt;br /&gt;
 received message, cap=00000019&lt;br /&gt;
 Connected as #1 to 192.168.250.102&lt;br /&gt;
 Listening to multicast on 232.168.250.102&lt;br /&gt;
 Press any key to start receiving data!&lt;br /&gt;
&lt;br /&gt;
Hier sieht man eine einfache Form udpcast zu verwenden. Der Sender startet udp-sender mit den Optionen --interface und --file. Die Datenübertragung läuft hier standardmäßig über Multicast. Dies hat gegenüber Broadcast den Vorteil, dass nicht alle Clients im gleichen Subnetz den Datenstring erhalten, sondern nur die, welche sich der Multicast-Gruppe des Senders angeschlossen haben. Sobald ein Empfänger udp-receiver startet, schließt er sich der Multicast-Gruppe an und lauscht auf seiner Multicast-Adresse.&lt;br /&gt;
&lt;br /&gt;
Sobald alle Empfänger das Programm gestartet haben, kann der Sender oder einer der Empfänger das Signal zum Starten der Übertragung geben.&lt;br /&gt;
&lt;br /&gt;
Sender:&lt;br /&gt;
 Starting transfer: 00000019&lt;br /&gt;
 bytes=        458 640 re-xmits=000074 ( 23.4%) slice=0060       6 332 416 -   1&lt;br /&gt;
 Timeout notAnswered=[1] notReady=[1] nrAns=1 nrRead=1 nrPart=2 avg=4152&lt;br /&gt;
 bytes=      2 205 840 re-xmits=000074 (  4.8%) slice=0060       8 081 408 -   1&lt;br /&gt;
 Timeout notAnswered=[1] notReady=[1] nrAns=1 nrRead=1 nrPart=2 avg=1693&lt;br /&gt;
 Timeout notAnswered=[1] notReady=[1] nrAns=1 nrRead=1 nrPart=2 avg=1693&lt;br /&gt;
 bytes=      2 380 560 re-xmits=000074 (  4.5%) slice=0060       8 253 440 -   1&lt;br /&gt;
 ...&lt;br /&gt;
 Timeout notAnswered=[1] notReady=[1] nrAns=1 nrRead=1 nrPart=2 avg=1207&lt;br /&gt;
 bytes=      9 159 696 re-xmits=000075 (  1.1%) slice=0058       9 651 340 -   1 &lt;br /&gt;
 Timeout notAnswered=[1] notReady=[1] nrAns=1 nrRead=1 nrPart=2 avg=1507&lt;br /&gt;
 bytes=      9 651 340 re-xmits=000075 (  1.1%) slice=0058       9 651 340 -   1&lt;br /&gt;
 Transfer complete.&lt;br /&gt;
 Disconnecting #0 (192.168.250.1)&lt;br /&gt;
 Disconnecting #1 (192.168.241.1)&lt;br /&gt;
 root@sender:~# &lt;br /&gt;
&lt;br /&gt;
Empfänger2:&lt;br /&gt;
 bytes=      9 651 340  ( 61.23 Mbps)      9 651 340 &lt;br /&gt;
 Transfer complete.&lt;br /&gt;
 root@empfaenger2:~#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bandbreitenregulierung==&lt;br /&gt;
&lt;br /&gt;
Will man die Bandbreite manuell herabsetzen, kann die Option --max-bitrate ''n'' angegeben werden.&lt;br /&gt;
&lt;br /&gt;
==Automatischer Start==&lt;br /&gt;
Man kann das Starten der Übertragung auch automatisch geschehen lassen. Hierfür gibt es 3 Optionen:&lt;br /&gt;
&lt;br /&gt;
--min-wait ''n'' : Der Sender wartet ''n'' Sekunden, bis er mit der Übertragung beginnt.&lt;br /&gt;
&lt;br /&gt;
--min-client ''p'' : Mit dieser Option wartet der Sender, bis sich ''p'' Clients angemeldet haben. Ist zusätzlich die Option --min-wait angegeben, wartet der Sender trotzdem die angegebene Anzahl an Sekunden bevor er mit der Übertragung beginnt, auch wenn schon ''n'' Sekunden vergangen sind.&lt;br /&gt;
&lt;br /&gt;
--max-wait ''q'': Diese Option wird zusammen mit --min-client angegeben. Wird die angegebene Anzahl an Sekunden überschritten und haben sich noch nicht genug Clients angemeldet, startet der Sender trotzdem mit der Übertragung.&lt;br /&gt;
&lt;br /&gt;
==Pipe==&lt;br /&gt;
Man kann die Ausgabe von udp-receiver auch anstatt in eine Datei zu speichern nach stdout schicken, um sie dann in einer Pipe weiterzuverarbeiten. Hierzu gibt es die Option --pipe ''Kommando''.&lt;br /&gt;
&lt;br /&gt;
Sender:&lt;br /&gt;
 udp-sender --interface eth0 --file firefox-3.5.tar.bz2&lt;br /&gt;
Empfänger:&lt;br /&gt;
 root@empfaenger2:~# udp-receiver --interface eth0  --pipe &amp;quot;tar -xj&amp;quot;&lt;br /&gt;
 Udp-receiver 2004-05-31&lt;br /&gt;
 Compressed UDP receiver for (stdout) at 192.168.250.1 on eth0&lt;br /&gt;
&lt;br /&gt;
Ohne die Option --file wird nun alles was übertragen wird nach stdout geschrieben. Die Pipe fängt diese Ausgabe auf und entpackt das komprimierte tar-Archiv.&lt;br /&gt;
&lt;br /&gt;
Genauso kann der Sender seine Daten durch eine Pipe schicken, bevor diese mit udp-sender verschickt werden.&lt;br /&gt;
&lt;br /&gt;
Sender:&lt;br /&gt;
 root@sender:~# udp-sender --interface eth0 --pipe &amp;quot;tar -cj datei&amp;quot;&lt;br /&gt;
Empfänger:&lt;br /&gt;
 root@empfaenger2:~# udp-receiver --interface eth0  --pipe &amp;quot;tar -xj&amp;quot;&lt;br /&gt;
Hier wird beim Sender die datei erst mittels tar verpackt. Beim Empfänger wird dieses Archiv wieder entpackt.&lt;br /&gt;
&lt;br /&gt;
==Full-Duplex==&lt;br /&gt;
&lt;br /&gt;
In Full-Duplex-Netzen (Standard in T-base-10 or 100 mit Switch und Gigabit-Ethernet) kann die Option --full-duplex angegeben werden. Dies kann zu einer Steigerung der Performance führen.&lt;br /&gt;
 udp-sender --interface eth0 --file firefox-3.5.tar.bz2 --full-duplex&lt;br /&gt;
&lt;br /&gt;
==Ports==&lt;br /&gt;
&lt;br /&gt;
Standardmäßig werden zum Übertragen die Ports 9000 auf der Sender-Seite und 9001 auf der Empfänger-Seite benutzt. Dies kann man mit der Option --portbase ''portbase'' ändern. Damit werden die Ports ''portbase'' und ''portbase+1'' benutzt. Portbase sollte gerade gewählt werden und muss jeweils auf der Sender und Empfängerseite gleich eingestellt sein.&lt;br /&gt;
&lt;br /&gt;
Sender:&lt;br /&gt;
 udp-sender --interface eth0 --file firefox-3.5.tar.bz2 --portbase 5000&lt;br /&gt;
Empfänger:&lt;br /&gt;
 root@empfaenger2:~# udp-receiver --interface eth0 --file firefox-3.5.tar.bz2 --portbase 5000&lt;br /&gt;
&lt;br /&gt;
==Broadcast==&lt;br /&gt;
Gibt man die Option --broadcast an werden die Pakete nicht über Multi- sonder über Broadcast verschickt und so an alle Teilnehmer des Netzwerks versendet. Diese Option sollte nur benutzt werden, wenn Switches oder Receiver im Netzwerk keine Multicast-Fähigkeit besitzen, denn sonst werden alle anderen Clients im Netz, die nicht die Daten empfangen wollen mit unnötigem Traffic belastet.&lt;br /&gt;
&lt;br /&gt;
einstellungen wie oft ein Übertragungsversuche ohne REQACK gemacht sollte. &lt;br /&gt;
--retriesUntilDrop&lt;br /&gt;
&lt;br /&gt;
Begrenzen der maximalen Übertragungsrate.&lt;br /&gt;
--max-bitrate&lt;br /&gt;
&lt;br /&gt;
Feste einstellung der Multicastadresse. (wird normal dynmaisch vergeben)&lt;br /&gt;
--mcast-addr&lt;br /&gt;
&lt;br /&gt;
Setz die TTL für die UDP Pakete fest wenn über einen Multicast Router übetragen.&lt;br /&gt;
*--ttl&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=PXELinux&amp;diff=322</id>
		<title>PXELinux</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=PXELinux&amp;diff=322"/>
		<updated>2009-07-16T09:15:32Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* PXE boot konfigurieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren. &lt;br /&gt;
&lt;br /&gt;
==Installation tftp-Server==&lt;br /&gt;
 root@xinux-desktop:/# apt-get install tftpd-hpa&lt;br /&gt;
&lt;br /&gt;
===Start über inetd===&lt;br /&gt;
* /etc/inetd.conf : udp -&amp;gt; udp4 ändern&lt;br /&gt;
 tftp           dgram   udp4     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot&lt;br /&gt;
&lt;br /&gt;
===Start als Alleinstehender Server===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 #Defaults for tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Starten===&lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/tftpd-hpa start&lt;br /&gt;
===Kontrolle===&lt;br /&gt;
*Ist der tftp Port geöffnet &lt;br /&gt;
 root@ubuntu-server:/etc/dhcp3# netstat -lnu | grep 69&lt;br /&gt;
 udp        0      0 0.0.0.0:69              0.0.0.0:*&lt;br /&gt;
&lt;br /&gt;
*Installation tftp Client&lt;br /&gt;
 root@lydia:~# apt-get install tftp&lt;br /&gt;
&lt;br /&gt;
*Kann man einen Datei ziehen? &lt;br /&gt;
 root@lydia:~# tftp 192.168.11.50&lt;br /&gt;
 tftp&amp;gt; get 1545_sender&lt;br /&gt;
 Received 900983 bytes in 0.6 seconds&lt;br /&gt;
 tftp&amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
==Installation DHCP-Server==&lt;br /&gt;
 root@xinux-desktop:~# apt-get install dhcp3-server&lt;br /&gt;
&lt;br /&gt;
===Anpassen der dhcpd.conf===&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        #Lease-Zeit in Sekunden&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
        #Gateway&lt;br /&gt;
        option routers 192.168.242.1;&lt;br /&gt;
 &lt;br /&gt;
        #Hosts an die MAC festnageln&lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Bootimage vorbereiten==&lt;br /&gt;
Installation des Syslinux Paketes (normal nicht notwenig)&lt;br /&gt;
 root@xinux-desktop:/etc/dhcp3# apt-get install syslinux&lt;br /&gt;
Kopieren des PXELINUX in das tftp Bootverzeichnis&lt;br /&gt;
 root@xinux-desktop:~# cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/&lt;br /&gt;
&lt;br /&gt;
==PXELinux mit debootstrap==&lt;br /&gt;
===Minimales virtuelles System erstellen===&lt;br /&gt;
Installation von debootstrap&lt;br /&gt;
 root@xinux-desktop:~# apt-get install debootstrap&lt;br /&gt;
&lt;br /&gt;
===Debian===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap etch /pxeroot&lt;br /&gt;
===Ubuntu===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap intrepid /pxeroot&lt;br /&gt;
&lt;br /&gt;
===DHCP auf für Client aktivieren===&lt;br /&gt;
* /pxeroot/etc/network/interfaces&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
===Hostname setzen===&lt;br /&gt;
 root@xinux-desktop:~# echo pxeboot &amp;gt; /pxeroot/etc/hostname&lt;br /&gt;
 root@xinux-desktop:~# cp /etc/hosts /pxeroot/etc/hosts&lt;br /&gt;
 root@xinux-desktop:~# vi /pxeroot/etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost pxeboot&lt;br /&gt;
 &lt;br /&gt;
 # The following lines are desirable for IPv6 capable hosts&lt;br /&gt;
 ::1     localhost ip6-localhost ip6-loopback&lt;br /&gt;
 fe00::0 ip6-localnet&lt;br /&gt;
 ff00::0 ip6-mcastprefix&lt;br /&gt;
 ff02::1 ip6-allnodes&lt;br /&gt;
 ff02::2 ip6-allrouters&lt;br /&gt;
 ff02::3 ip6-allhosts&lt;br /&gt;
:wq zum Speichern und Beenden&lt;br /&gt;
&lt;br /&gt;
===fstab anpassen===&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 proc            /proc           proc    defaults        0       0&lt;br /&gt;
 /dev/ram0  /       ext2   defaults    0   0&lt;br /&gt;
 tmpfs      /tmp       tmpfs  defaults    0   0&lt;br /&gt;
&lt;br /&gt;
===Virtuelles System anpassen===&lt;br /&gt;
 root@xinux-desktop:/pxeroot/etc# chroot /pxeroot&lt;br /&gt;
&lt;br /&gt;
Kernel installieren&lt;br /&gt;
 xinux-desktop:/# apt-get install linux-image&lt;br /&gt;
Die Warnung, dass keine Bootloader installiert sind, kann ignoriert werden. Wenn das Skript fragt, ob abgebrochen werden&lt;br /&gt;
soll mit no antworten.&lt;br /&gt;
&lt;br /&gt;
Ramdisk auf NFS anpassen&lt;br /&gt;
 xinux-desktop:/# sed -i.bak -e &amp;quot;s/BOOT=local/BOOT=nfs/&amp;quot; /etc/initramfs-tools/initramfs.conf&lt;br /&gt;
 xinux-desktop:/#update-initramfs -vu &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locales installieren und de_DE@euro ISO-8859-15  als Spracheinstellung auswählen&lt;br /&gt;
 xinux-desktop:/# apt-get install locales&lt;br /&gt;
 xinux-desktop:/# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
===DHCP-Server konfigurieren===&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        #option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
          &lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
                option root-path &amp;quot;192.168.242.140:/pxeroot&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anschließend neustarten &lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/dhcp-server restart&lt;br /&gt;
&lt;br /&gt;
===TFTP Server konfigurieren===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /root@xinux-desktop:~# etc/init.d/tftpd-hpa restart&lt;br /&gt;
&lt;br /&gt;
===PXE boot konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# cd /var/lib/tftpboot&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/vmlinuz ./&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/initrd.img ./&lt;br /&gt;
 root@xinux-desktop:~# mkdir pxelinux.cfg&lt;br /&gt;
 root@xinux-desktop:~# vim pxelinux.cfg/default&lt;br /&gt;
 &lt;br /&gt;
* /var/lib/tftpboot/pxelinux.cfg/default&lt;br /&gt;
 DEFAULT linux&lt;br /&gt;
 &lt;br /&gt;
 LABEL linux&lt;br /&gt;
     kernel vmlinuz&lt;br /&gt;
     append vga=normal initrd=initrd.img ramdisk_size=14332 root=/dev/nfs nfsroot=192.168.242.140:/pxeroot rw --&lt;br /&gt;
 &lt;br /&gt;
 PROMPT 0&lt;br /&gt;
 TIIMEOUT 0&lt;br /&gt;
&lt;br /&gt;
===nfs server konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# apt-get install nfs-kernel-server&lt;br /&gt;
* /etc/exports&lt;br /&gt;
 /pxeroot    192.168.0.0/255.255.0.0(rw,sync,no_root_squash,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /etc/init.d/nfs-kernel-server restart&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
http://www.pieczewski.de/?page_id=51&lt;br /&gt;
&lt;br /&gt;
http://forum.ubuntuusers.de/topic/pxe-image-bauen/&lt;br /&gt;
&lt;br /&gt;
http://www.howtoforge.com/pxe_booting_debian&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=PXELinux&amp;diff=321</id>
		<title>PXELinux</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=PXELinux&amp;diff=321"/>
		<updated>2009-07-16T09:08:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Minimales virtuelles System erstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren. &lt;br /&gt;
&lt;br /&gt;
==Installation tftp-Server==&lt;br /&gt;
 root@xinux-desktop:/# apt-get install tftpd-hpa&lt;br /&gt;
&lt;br /&gt;
===Start über inetd===&lt;br /&gt;
* /etc/inetd.conf : udp -&amp;gt; udp4 ändern&lt;br /&gt;
 tftp           dgram   udp4     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot&lt;br /&gt;
&lt;br /&gt;
===Start als Alleinstehender Server===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 #Defaults for tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Starten===&lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/tftpd-hpa start&lt;br /&gt;
===Kontrolle===&lt;br /&gt;
*Ist der tftp Port geöffnet &lt;br /&gt;
 root@ubuntu-server:/etc/dhcp3# netstat -lnu | grep 69&lt;br /&gt;
 udp        0      0 0.0.0.0:69              0.0.0.0:*&lt;br /&gt;
&lt;br /&gt;
*Installation tftp Client&lt;br /&gt;
 root@lydia:~# apt-get install tftp&lt;br /&gt;
&lt;br /&gt;
*Kann man einen Datei ziehen? &lt;br /&gt;
 root@lydia:~# tftp 192.168.11.50&lt;br /&gt;
 tftp&amp;gt; get 1545_sender&lt;br /&gt;
 Received 900983 bytes in 0.6 seconds&lt;br /&gt;
 tftp&amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
==Installation DHCP-Server==&lt;br /&gt;
 root@xinux-desktop:~# apt-get install dhcp3-server&lt;br /&gt;
&lt;br /&gt;
===Anpassen der dhcpd.conf===&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        #Lease-Zeit in Sekunden&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
        #Gateway&lt;br /&gt;
        option routers 192.168.242.1;&lt;br /&gt;
 &lt;br /&gt;
        #Hosts an die MAC festnageln&lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Bootimage vorbereiten==&lt;br /&gt;
Installation des Syslinux Paketes (normal nicht notwenig)&lt;br /&gt;
 root@xinux-desktop:/etc/dhcp3# apt-get install syslinux&lt;br /&gt;
Kopieren des PXELINUX in das tftp Bootverzeichnis&lt;br /&gt;
 root@xinux-desktop:~# cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/&lt;br /&gt;
&lt;br /&gt;
==PXELinux mit debootstrap==&lt;br /&gt;
===Minimales virtuelles System erstellen===&lt;br /&gt;
Installation von debootstrap&lt;br /&gt;
 root@xinux-desktop:~# apt-get install debootstrap&lt;br /&gt;
&lt;br /&gt;
===Debian===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap etch /pxeroot&lt;br /&gt;
===Ubuntu===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap intrepid /pxeroot&lt;br /&gt;
&lt;br /&gt;
===DHCP auf für Client aktivieren===&lt;br /&gt;
* /pxeroot/etc/network/interfaces&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
===Hostname setzen===&lt;br /&gt;
 root@xinux-desktop:~# echo pxeboot &amp;gt; /pxeroot/etc/hostname&lt;br /&gt;
 root@xinux-desktop:~# cp /etc/hosts /pxeroot/etc/hosts&lt;br /&gt;
 root@xinux-desktop:~# vi /pxeroot/etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost pxeboot&lt;br /&gt;
 &lt;br /&gt;
 # The following lines are desirable for IPv6 capable hosts&lt;br /&gt;
 ::1     localhost ip6-localhost ip6-loopback&lt;br /&gt;
 fe00::0 ip6-localnet&lt;br /&gt;
 ff00::0 ip6-mcastprefix&lt;br /&gt;
 ff02::1 ip6-allnodes&lt;br /&gt;
 ff02::2 ip6-allrouters&lt;br /&gt;
 ff02::3 ip6-allhosts&lt;br /&gt;
:wq zum Speichern und Beenden&lt;br /&gt;
&lt;br /&gt;
===fstab anpassen===&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 proc            /proc           proc    defaults        0       0&lt;br /&gt;
 /dev/ram0  /       ext2   defaults    0   0&lt;br /&gt;
 tmpfs      /tmp       tmpfs  defaults    0   0&lt;br /&gt;
&lt;br /&gt;
===Virtuelles System anpassen===&lt;br /&gt;
 root@xinux-desktop:/pxeroot/etc# chroot /pxeroot&lt;br /&gt;
&lt;br /&gt;
Kernel installieren&lt;br /&gt;
 xinux-desktop:/# apt-get install linux-image&lt;br /&gt;
Die Warnung, dass keine Bootloader installiert sind, kann ignoriert werden. Wenn das Skript fragt, ob abgebrochen werden&lt;br /&gt;
soll mit no antworten.&lt;br /&gt;
&lt;br /&gt;
Ramdisk auf NFS anpassen&lt;br /&gt;
 xinux-desktop:/# sed -i.bak -e &amp;quot;s/BOOT=local/BOOT=nfs/&amp;quot; /etc/initramfs-tools/initramfs.conf&lt;br /&gt;
 xinux-desktop:/#update-initramfs -vu &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locales installieren und de_DE@euro ISO-8859-15  als Spracheinstellung auswählen&lt;br /&gt;
 xinux-desktop:/# apt-get install locales&lt;br /&gt;
 xinux-desktop:/# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
===DHCP-Server konfigurieren===&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        #option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
          &lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
                option root-path &amp;quot;192.168.242.140:/pxeroot&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anschließend neustarten &lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/dhcp-server restart&lt;br /&gt;
&lt;br /&gt;
===TFTP Server konfigurieren===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /root@xinux-desktop:~# etc/init.d/tftpd-hpa restart&lt;br /&gt;
&lt;br /&gt;
===PXE boot konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# cd /var/lib/tftpboot&lt;br /&gt;
 root@xinux-desktop:~# wget http://ftp.debian.org/debian/dists/etch/main/installer-i386/current/images/netboot/pxelinux.0&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/vmlinuz ./&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/initrd.img ./&lt;br /&gt;
 root@xinux-desktop:~# mkdir pxelinux.cfg&lt;br /&gt;
 root@xinux-desktop:~# vim pxelinux.cfg/default&lt;br /&gt;
 &lt;br /&gt;
* /var/lib/tftpboot/pxelinux.cfg/default&lt;br /&gt;
 DEFAULT linux&lt;br /&gt;
 &lt;br /&gt;
 LABEL linux&lt;br /&gt;
     kernel vmlinuz&lt;br /&gt;
     append vga=normal initrd=initrd.img ramdisk_size=14332 root=/dev/nfs nfsroot=192.168.242.140:/pxeroot rw --&lt;br /&gt;
 &lt;br /&gt;
 PROMPT 0&lt;br /&gt;
 TIIMEOUT 0&lt;br /&gt;
&lt;br /&gt;
===nfs server konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# apt-get install nfs-kernel-server&lt;br /&gt;
* /etc/exports&lt;br /&gt;
 /pxeroot    192.168.0.0/255.255.0.0(rw,sync,no_root_squash,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /etc/init.d/nfs-kernel-server restart&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
http://www.pieczewski.de/?page_id=51&lt;br /&gt;
&lt;br /&gt;
http://forum.ubuntuusers.de/topic/pxe-image-bauen/&lt;br /&gt;
&lt;br /&gt;
http://www.howtoforge.com/pxe_booting_debian&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=PXELinux&amp;diff=320</id>
		<title>PXELinux</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=PXELinux&amp;diff=320"/>
		<updated>2009-07-16T09:05:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Bootimage vorbereiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren. &lt;br /&gt;
&lt;br /&gt;
==Installation tftp-Server==&lt;br /&gt;
 root@xinux-desktop:/# apt-get install tftpd-hpa&lt;br /&gt;
&lt;br /&gt;
===Start über inetd===&lt;br /&gt;
* /etc/inetd.conf : udp -&amp;gt; udp4 ändern&lt;br /&gt;
 tftp           dgram   udp4     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot&lt;br /&gt;
&lt;br /&gt;
===Start als Alleinstehender Server===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 #Defaults for tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Starten===&lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/tftpd-hpa start&lt;br /&gt;
===Kontrolle===&lt;br /&gt;
*Ist der tftp Port geöffnet &lt;br /&gt;
 root@ubuntu-server:/etc/dhcp3# netstat -lnu | grep 69&lt;br /&gt;
 udp        0      0 0.0.0.0:69              0.0.0.0:*&lt;br /&gt;
&lt;br /&gt;
*Installation tftp Client&lt;br /&gt;
 root@lydia:~# apt-get install tftp&lt;br /&gt;
&lt;br /&gt;
*Kann man einen Datei ziehen? &lt;br /&gt;
 root@lydia:~# tftp 192.168.11.50&lt;br /&gt;
 tftp&amp;gt; get 1545_sender&lt;br /&gt;
 Received 900983 bytes in 0.6 seconds&lt;br /&gt;
 tftp&amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
==Installation DHCP-Server==&lt;br /&gt;
 root@xinux-desktop:~# apt-get install dhcp3-server&lt;br /&gt;
&lt;br /&gt;
===Anpassen der dhcpd.conf===&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        #Lease-Zeit in Sekunden&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
        #Gateway&lt;br /&gt;
        option routers 192.168.242.1;&lt;br /&gt;
 &lt;br /&gt;
        #Hosts an die MAC festnageln&lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Bootimage vorbereiten==&lt;br /&gt;
Installation des Syslinux Paketes (normal nicht notwenig)&lt;br /&gt;
 root@xinux-desktop:/etc/dhcp3# apt-get install syslinux&lt;br /&gt;
Kopieren des PXELINUX in das tftp Bootverzeichnis&lt;br /&gt;
 root@xinux-desktop:~# cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/&lt;br /&gt;
&lt;br /&gt;
==PXELinux mit debootstrap==&lt;br /&gt;
===Minimales virtuelles System erstellen===&lt;br /&gt;
===Debian===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap etch /pxeroot&lt;br /&gt;
===Ubuntu===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap intrepid /pxeroot&lt;br /&gt;
&lt;br /&gt;
===DHCP auf für Client aktivieren===&lt;br /&gt;
* /pxeroot/etc/network/interfaces&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
===Hostname setzen===&lt;br /&gt;
 root@xinux-desktop:~# echo pxeboot &amp;gt; /pxeroot/etc/hostname&lt;br /&gt;
 root@xinux-desktop:~# cp /etc/hosts /pxeroot/etc/hosts&lt;br /&gt;
 root@xinux-desktop:~# vi /pxeroot/etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost pxeboot&lt;br /&gt;
 &lt;br /&gt;
 # The following lines are desirable for IPv6 capable hosts&lt;br /&gt;
 ::1     localhost ip6-localhost ip6-loopback&lt;br /&gt;
 fe00::0 ip6-localnet&lt;br /&gt;
 ff00::0 ip6-mcastprefix&lt;br /&gt;
 ff02::1 ip6-allnodes&lt;br /&gt;
 ff02::2 ip6-allrouters&lt;br /&gt;
 ff02::3 ip6-allhosts&lt;br /&gt;
:wq zum Speichern und Beenden&lt;br /&gt;
&lt;br /&gt;
===fstab anpassen===&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 proc            /proc           proc    defaults        0       0&lt;br /&gt;
 /dev/ram0  /       ext2   defaults    0   0&lt;br /&gt;
 tmpfs      /tmp       tmpfs  defaults    0   0&lt;br /&gt;
&lt;br /&gt;
===Virtuelles System anpassen===&lt;br /&gt;
 root@xinux-desktop:/pxeroot/etc# chroot /pxeroot&lt;br /&gt;
&lt;br /&gt;
Kernel installieren&lt;br /&gt;
 xinux-desktop:/# apt-get install linux-image&lt;br /&gt;
Die Warnung, dass keine Bootloader installiert sind, kann ignoriert werden. Wenn das Skript fragt, ob abgebrochen werden&lt;br /&gt;
soll mit no antworten.&lt;br /&gt;
&lt;br /&gt;
Ramdisk auf NFS anpassen&lt;br /&gt;
 xinux-desktop:/# sed -i.bak -e &amp;quot;s/BOOT=local/BOOT=nfs/&amp;quot; /etc/initramfs-tools/initramfs.conf&lt;br /&gt;
 xinux-desktop:/#update-initramfs -vu &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locales installieren und de_DE@euro ISO-8859-15  als Spracheinstellung auswählen&lt;br /&gt;
 xinux-desktop:/# apt-get install locales&lt;br /&gt;
 xinux-desktop:/# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
===DHCP-Server konfigurieren===&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        #option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
          &lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
                option root-path &amp;quot;192.168.242.140:/pxeroot&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anschließend neustarten &lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/dhcp-server restart&lt;br /&gt;
&lt;br /&gt;
===TFTP Server konfigurieren===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /root@xinux-desktop:~# etc/init.d/tftpd-hpa restart&lt;br /&gt;
&lt;br /&gt;
===PXE boot konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# cd /var/lib/tftpboot&lt;br /&gt;
 root@xinux-desktop:~# wget http://ftp.debian.org/debian/dists/etch/main/installer-i386/current/images/netboot/pxelinux.0&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/vmlinuz ./&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/initrd.img ./&lt;br /&gt;
 root@xinux-desktop:~# mkdir pxelinux.cfg&lt;br /&gt;
 root@xinux-desktop:~# vim pxelinux.cfg/default&lt;br /&gt;
 &lt;br /&gt;
* /var/lib/tftpboot/pxelinux.cfg/default&lt;br /&gt;
 DEFAULT linux&lt;br /&gt;
 &lt;br /&gt;
 LABEL linux&lt;br /&gt;
     kernel vmlinuz&lt;br /&gt;
     append vga=normal initrd=initrd.img ramdisk_size=14332 root=/dev/nfs nfsroot=192.168.242.140:/pxeroot rw --&lt;br /&gt;
 &lt;br /&gt;
 PROMPT 0&lt;br /&gt;
 TIIMEOUT 0&lt;br /&gt;
&lt;br /&gt;
===nfs server konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# apt-get install nfs-kernel-server&lt;br /&gt;
* /etc/exports&lt;br /&gt;
 /pxeroot    192.168.0.0/255.255.0.0(rw,sync,no_root_squash,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /etc/init.d/nfs-kernel-server restart&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
http://www.pieczewski.de/?page_id=51&lt;br /&gt;
&lt;br /&gt;
http://forum.ubuntuusers.de/topic/pxe-image-bauen/&lt;br /&gt;
&lt;br /&gt;
http://www.howtoforge.com/pxe_booting_debian&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=PXELinux&amp;diff=319</id>
		<title>PXELinux</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=PXELinux&amp;diff=319"/>
		<updated>2009-07-16T08:58:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Kontrolle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren. &lt;br /&gt;
&lt;br /&gt;
==Installation tftp-Server==&lt;br /&gt;
 root@xinux-desktop:/# apt-get install tftpd-hpa&lt;br /&gt;
&lt;br /&gt;
===Start über inetd===&lt;br /&gt;
* /etc/inetd.conf : udp -&amp;gt; udp4 ändern&lt;br /&gt;
 tftp           dgram   udp4     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot&lt;br /&gt;
&lt;br /&gt;
===Start als Alleinstehender Server===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 #Defaults for tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Starten===&lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/tftpd-hpa start&lt;br /&gt;
===Kontrolle===&lt;br /&gt;
*Ist der tftp Port geöffnet &lt;br /&gt;
 root@ubuntu-server:/etc/dhcp3# netstat -lnu | grep 69&lt;br /&gt;
 udp        0      0 0.0.0.0:69              0.0.0.0:*&lt;br /&gt;
&lt;br /&gt;
*Installation tftp Client&lt;br /&gt;
 root@lydia:~# apt-get install tftp&lt;br /&gt;
&lt;br /&gt;
*Kann man einen Datei ziehen? &lt;br /&gt;
 root@lydia:~# tftp 192.168.11.50&lt;br /&gt;
 tftp&amp;gt; get 1545_sender&lt;br /&gt;
 Received 900983 bytes in 0.6 seconds&lt;br /&gt;
 tftp&amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
==Installation DHCP-Server==&lt;br /&gt;
 root@xinux-desktop:~# apt-get install dhcp3-server&lt;br /&gt;
&lt;br /&gt;
===Anpassen der dhcpd.conf===&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        #Lease-Zeit in Sekunden&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
        #Gateway&lt;br /&gt;
        option routers 192.168.242.1;&lt;br /&gt;
 &lt;br /&gt;
        #Hosts an die MAC festnageln&lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Bootimage vorbereiten==&lt;br /&gt;
 root@xinux-desktop:~# cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/&lt;br /&gt;
&lt;br /&gt;
==PXELinux mit debootstrap==&lt;br /&gt;
===Minimales virtuelles System erstellen===&lt;br /&gt;
===Debian===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap etch /pxeroot&lt;br /&gt;
===Ubuntu===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap intrepid /pxeroot&lt;br /&gt;
&lt;br /&gt;
===DHCP auf für Client aktivieren===&lt;br /&gt;
* /pxeroot/etc/network/interfaces&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
===Hostname setzen===&lt;br /&gt;
 root@xinux-desktop:~# echo pxeboot &amp;gt; /pxeroot/etc/hostname&lt;br /&gt;
 root@xinux-desktop:~# cp /etc/hosts /pxeroot/etc/hosts&lt;br /&gt;
 root@xinux-desktop:~# vi /pxeroot/etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost pxeboot&lt;br /&gt;
 &lt;br /&gt;
 # The following lines are desirable for IPv6 capable hosts&lt;br /&gt;
 ::1     localhost ip6-localhost ip6-loopback&lt;br /&gt;
 fe00::0 ip6-localnet&lt;br /&gt;
 ff00::0 ip6-mcastprefix&lt;br /&gt;
 ff02::1 ip6-allnodes&lt;br /&gt;
 ff02::2 ip6-allrouters&lt;br /&gt;
 ff02::3 ip6-allhosts&lt;br /&gt;
:wq zum Speichern und Beenden&lt;br /&gt;
&lt;br /&gt;
===fstab anpassen===&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 proc            /proc           proc    defaults        0       0&lt;br /&gt;
 /dev/ram0  /       ext2   defaults    0   0&lt;br /&gt;
 tmpfs      /tmp       tmpfs  defaults    0   0&lt;br /&gt;
&lt;br /&gt;
===Virtuelles System anpassen===&lt;br /&gt;
 root@xinux-desktop:/pxeroot/etc# chroot /pxeroot&lt;br /&gt;
&lt;br /&gt;
Kernel installieren&lt;br /&gt;
 xinux-desktop:/# apt-get install linux-image&lt;br /&gt;
Die Warnung, dass keine Bootloader installiert sind, kann ignoriert werden. Wenn das Skript fragt, ob abgebrochen werden&lt;br /&gt;
soll mit no antworten.&lt;br /&gt;
&lt;br /&gt;
Ramdisk auf NFS anpassen&lt;br /&gt;
 xinux-desktop:/# sed -i.bak -e &amp;quot;s/BOOT=local/BOOT=nfs/&amp;quot; /etc/initramfs-tools/initramfs.conf&lt;br /&gt;
 xinux-desktop:/#update-initramfs -vu &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locales installieren und de_DE@euro ISO-8859-15  als Spracheinstellung auswählen&lt;br /&gt;
 xinux-desktop:/# apt-get install locales&lt;br /&gt;
 xinux-desktop:/# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
===DHCP-Server konfigurieren===&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        #option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
          &lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
                option root-path &amp;quot;192.168.242.140:/pxeroot&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anschließend neustarten &lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/dhcp-server restart&lt;br /&gt;
&lt;br /&gt;
===TFTP Server konfigurieren===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /root@xinux-desktop:~# etc/init.d/tftpd-hpa restart&lt;br /&gt;
&lt;br /&gt;
===PXE boot konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# cd /var/lib/tftpboot&lt;br /&gt;
 root@xinux-desktop:~# wget http://ftp.debian.org/debian/dists/etch/main/installer-i386/current/images/netboot/pxelinux.0&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/vmlinuz ./&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/initrd.img ./&lt;br /&gt;
 root@xinux-desktop:~# mkdir pxelinux.cfg&lt;br /&gt;
 root@xinux-desktop:~# vim pxelinux.cfg/default&lt;br /&gt;
 &lt;br /&gt;
* /var/lib/tftpboot/pxelinux.cfg/default&lt;br /&gt;
 DEFAULT linux&lt;br /&gt;
 &lt;br /&gt;
 LABEL linux&lt;br /&gt;
     kernel vmlinuz&lt;br /&gt;
     append vga=normal initrd=initrd.img ramdisk_size=14332 root=/dev/nfs nfsroot=192.168.242.140:/pxeroot rw --&lt;br /&gt;
 &lt;br /&gt;
 PROMPT 0&lt;br /&gt;
 TIIMEOUT 0&lt;br /&gt;
&lt;br /&gt;
===nfs server konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# apt-get install nfs-kernel-server&lt;br /&gt;
* /etc/exports&lt;br /&gt;
 /pxeroot    192.168.0.0/255.255.0.0(rw,sync,no_root_squash,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /etc/init.d/nfs-kernel-server restart&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
http://www.pieczewski.de/?page_id=51&lt;br /&gt;
&lt;br /&gt;
http://forum.ubuntuusers.de/topic/pxe-image-bauen/&lt;br /&gt;
&lt;br /&gt;
http://www.howtoforge.com/pxe_booting_debian&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=PXELinux&amp;diff=318</id>
		<title>PXELinux</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=PXELinux&amp;diff=318"/>
		<updated>2009-07-16T08:48:18Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Starten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren. &lt;br /&gt;
&lt;br /&gt;
==Installation tftp-Server==&lt;br /&gt;
 root@xinux-desktop:/# apt-get install tftpd-hpa&lt;br /&gt;
&lt;br /&gt;
===Start über inetd===&lt;br /&gt;
* /etc/inetd.conf : udp -&amp;gt; udp4 ändern&lt;br /&gt;
 tftp           dgram   udp4     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot&lt;br /&gt;
&lt;br /&gt;
===Start als Alleinstehender Server===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 #Defaults for tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Starten===&lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/tftpd-hpa start&lt;br /&gt;
===Kontrolle===&lt;br /&gt;
 root@ubuntu-server:/etc/dhcp3# netstat -lnu | grep 69&lt;br /&gt;
 udp        0      0 0.0.0.0:69              0.0.0.0:*&lt;br /&gt;
&lt;br /&gt;
==Installation DHCP-Server==&lt;br /&gt;
 root@xinux-desktop:~# apt-get install dhcp3-server&lt;br /&gt;
&lt;br /&gt;
===Anpassen der dhcpd.conf===&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        #Lease-Zeit in Sekunden&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
        #Gateway&lt;br /&gt;
        option routers 192.168.242.1;&lt;br /&gt;
 &lt;br /&gt;
        #Hosts an die MAC festnageln&lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Bootimage vorbereiten==&lt;br /&gt;
 root@xinux-desktop:~# cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/&lt;br /&gt;
&lt;br /&gt;
==PXELinux mit debootstrap==&lt;br /&gt;
===Minimales virtuelles System erstellen===&lt;br /&gt;
===Debian===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap etch /pxeroot&lt;br /&gt;
===Ubuntu===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap intrepid /pxeroot&lt;br /&gt;
&lt;br /&gt;
===DHCP auf für Client aktivieren===&lt;br /&gt;
* /pxeroot/etc/network/interfaces&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
===Hostname setzen===&lt;br /&gt;
 root@xinux-desktop:~# echo pxeboot &amp;gt; /pxeroot/etc/hostname&lt;br /&gt;
 root@xinux-desktop:~# cp /etc/hosts /pxeroot/etc/hosts&lt;br /&gt;
 root@xinux-desktop:~# vi /pxeroot/etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost pxeboot&lt;br /&gt;
 &lt;br /&gt;
 # The following lines are desirable for IPv6 capable hosts&lt;br /&gt;
 ::1     localhost ip6-localhost ip6-loopback&lt;br /&gt;
 fe00::0 ip6-localnet&lt;br /&gt;
 ff00::0 ip6-mcastprefix&lt;br /&gt;
 ff02::1 ip6-allnodes&lt;br /&gt;
 ff02::2 ip6-allrouters&lt;br /&gt;
 ff02::3 ip6-allhosts&lt;br /&gt;
:wq zum Speichern und Beenden&lt;br /&gt;
&lt;br /&gt;
===fstab anpassen===&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 proc            /proc           proc    defaults        0       0&lt;br /&gt;
 /dev/ram0  /       ext2   defaults    0   0&lt;br /&gt;
 tmpfs      /tmp       tmpfs  defaults    0   0&lt;br /&gt;
&lt;br /&gt;
===Virtuelles System anpassen===&lt;br /&gt;
 root@xinux-desktop:/pxeroot/etc# chroot /pxeroot&lt;br /&gt;
&lt;br /&gt;
Kernel installieren&lt;br /&gt;
 xinux-desktop:/# apt-get install linux-image&lt;br /&gt;
Die Warnung, dass keine Bootloader installiert sind, kann ignoriert werden. Wenn das Skript fragt, ob abgebrochen werden&lt;br /&gt;
soll mit no antworten.&lt;br /&gt;
&lt;br /&gt;
Ramdisk auf NFS anpassen&lt;br /&gt;
 xinux-desktop:/# sed -i.bak -e &amp;quot;s/BOOT=local/BOOT=nfs/&amp;quot; /etc/initramfs-tools/initramfs.conf&lt;br /&gt;
 xinux-desktop:/#update-initramfs -vu &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locales installieren und de_DE@euro ISO-8859-15  als Spracheinstellung auswählen&lt;br /&gt;
 xinux-desktop:/# apt-get install locales&lt;br /&gt;
 xinux-desktop:/# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
===DHCP-Server konfigurieren===&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        #option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
          &lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
                option root-path &amp;quot;192.168.242.140:/pxeroot&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anschließend neustarten &lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/dhcp-server restart&lt;br /&gt;
&lt;br /&gt;
===TFTP Server konfigurieren===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /root@xinux-desktop:~# etc/init.d/tftpd-hpa restart&lt;br /&gt;
&lt;br /&gt;
===PXE boot konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# cd /var/lib/tftpboot&lt;br /&gt;
 root@xinux-desktop:~# wget http://ftp.debian.org/debian/dists/etch/main/installer-i386/current/images/netboot/pxelinux.0&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/vmlinuz ./&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/initrd.img ./&lt;br /&gt;
 root@xinux-desktop:~# mkdir pxelinux.cfg&lt;br /&gt;
 root@xinux-desktop:~# vim pxelinux.cfg/default&lt;br /&gt;
 &lt;br /&gt;
* /var/lib/tftpboot/pxelinux.cfg/default&lt;br /&gt;
 DEFAULT linux&lt;br /&gt;
 &lt;br /&gt;
 LABEL linux&lt;br /&gt;
     kernel vmlinuz&lt;br /&gt;
     append vga=normal initrd=initrd.img ramdisk_size=14332 root=/dev/nfs nfsroot=192.168.242.140:/pxeroot rw --&lt;br /&gt;
 &lt;br /&gt;
 PROMPT 0&lt;br /&gt;
 TIIMEOUT 0&lt;br /&gt;
&lt;br /&gt;
===nfs server konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# apt-get install nfs-kernel-server&lt;br /&gt;
* /etc/exports&lt;br /&gt;
 /pxeroot    192.168.0.0/255.255.0.0(rw,sync,no_root_squash,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /etc/init.d/nfs-kernel-server restart&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
http://www.pieczewski.de/?page_id=51&lt;br /&gt;
&lt;br /&gt;
http://forum.ubuntuusers.de/topic/pxe-image-bauen/&lt;br /&gt;
&lt;br /&gt;
http://www.howtoforge.com/pxe_booting_debian&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=PXELinux&amp;diff=317</id>
		<title>PXELinux</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=PXELinux&amp;diff=317"/>
		<updated>2009-07-16T08:44:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Installtion tftp-Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit PXELinux kann man ein System über ein Netzwerk booten oder auch installieren. &lt;br /&gt;
&lt;br /&gt;
==Installation tftp-Server==&lt;br /&gt;
 root@xinux-desktop:/# apt-get install tftpd-hpa&lt;br /&gt;
&lt;br /&gt;
===Start über inetd===&lt;br /&gt;
* /etc/inetd.conf : udp -&amp;gt; udp4 ändern&lt;br /&gt;
 tftp           dgram   udp4     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot&lt;br /&gt;
&lt;br /&gt;
===Start als Alleinstehender Server===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 #Defaults for tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Starten===&lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/tftpd-hpa start&lt;br /&gt;
&lt;br /&gt;
==Installation DHCP-Server==&lt;br /&gt;
 root@xinux-desktop:~# apt-get install dhcp3-server&lt;br /&gt;
&lt;br /&gt;
===Anpassen der dhcpd.conf===&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        #Lease-Zeit in Sekunden&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
        #Gateway&lt;br /&gt;
        option routers 192.168.242.1;&lt;br /&gt;
 &lt;br /&gt;
        #Hosts an die MAC festnageln&lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Bootimage vorbereiten==&lt;br /&gt;
 root@xinux-desktop:~# cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/&lt;br /&gt;
&lt;br /&gt;
==PXELinux mit debootstrap==&lt;br /&gt;
===Minimales virtuelles System erstellen===&lt;br /&gt;
===Debian===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap etch /pxeroot&lt;br /&gt;
===Ubuntu===&lt;br /&gt;
 root@xinux-desktop:~# mkdir /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# cd /pxeroot&lt;br /&gt;
 root@xinux-desktop:~# debootstrap intrepid /pxeroot&lt;br /&gt;
&lt;br /&gt;
===DHCP auf für Client aktivieren===&lt;br /&gt;
* /pxeroot/etc/network/interfaces&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
===Hostname setzen===&lt;br /&gt;
 root@xinux-desktop:~# echo pxeboot &amp;gt; /pxeroot/etc/hostname&lt;br /&gt;
 root@xinux-desktop:~# cp /etc/hosts /pxeroot/etc/hosts&lt;br /&gt;
 root@xinux-desktop:~# vi /pxeroot/etc/hosts&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost pxeboot&lt;br /&gt;
 &lt;br /&gt;
 # The following lines are desirable for IPv6 capable hosts&lt;br /&gt;
 ::1     localhost ip6-localhost ip6-loopback&lt;br /&gt;
 fe00::0 ip6-localnet&lt;br /&gt;
 ff00::0 ip6-mcastprefix&lt;br /&gt;
 ff02::1 ip6-allnodes&lt;br /&gt;
 ff02::2 ip6-allrouters&lt;br /&gt;
 ff02::3 ip6-allhosts&lt;br /&gt;
:wq zum Speichern und Beenden&lt;br /&gt;
&lt;br /&gt;
===fstab anpassen===&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 proc            /proc           proc    defaults        0       0&lt;br /&gt;
 /dev/ram0  /       ext2   defaults    0   0&lt;br /&gt;
 tmpfs      /tmp       tmpfs  defaults    0   0&lt;br /&gt;
&lt;br /&gt;
===Virtuelles System anpassen===&lt;br /&gt;
 root@xinux-desktop:/pxeroot/etc# chroot /pxeroot&lt;br /&gt;
&lt;br /&gt;
Kernel installieren&lt;br /&gt;
 xinux-desktop:/# apt-get install linux-image&lt;br /&gt;
Die Warnung, dass keine Bootloader installiert sind, kann ignoriert werden. Wenn das Skript fragt, ob abgebrochen werden&lt;br /&gt;
soll mit no antworten.&lt;br /&gt;
&lt;br /&gt;
Ramdisk auf NFS anpassen&lt;br /&gt;
 xinux-desktop:/# sed -i.bak -e &amp;quot;s/BOOT=local/BOOT=nfs/&amp;quot; /etc/initramfs-tools/initramfs.conf&lt;br /&gt;
 xinux-desktop:/#update-initramfs -vu &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locales installieren und de_DE@euro ISO-8859-15  als Spracheinstellung auswählen&lt;br /&gt;
 xinux-desktop:/# apt-get install locales&lt;br /&gt;
 xinux-desktop:/# dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
===DHCP-Server konfigurieren===&lt;br /&gt;
 subnet 192.168.242.0 netmask 255.255.255.0 {&lt;br /&gt;
        range 192.168.242.170 192.168.242.180;&lt;br /&gt;
        default-lease-time 600;&lt;br /&gt;
        max-lease-time 7200;&lt;br /&gt;
        #option domain-name &amp;quot;gamma.intern&amp;quot;;&lt;br /&gt;
        option domain-name-servers 192.168.240.21;&lt;br /&gt;
        option broadcast-address 192.168.242.255;&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
          &lt;br /&gt;
        host pxeclient {&lt;br /&gt;
                hardware ethernet 00:0c:29:99:25:91;&lt;br /&gt;
                fixed-address 192.168.242.171;&lt;br /&gt;
                option host-name &amp;quot;pxeclient&amp;quot;;&lt;br /&gt;
                next-server 192.168.242.140;&lt;br /&gt;
                filename &amp;quot;/pxelinux.0&amp;quot;;&lt;br /&gt;
                option root-path &amp;quot;192.168.242.140:/pxeroot&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anschließend neustarten &lt;br /&gt;
 root@xinux-desktop:~# /etc/init.d/dhcp-server restart&lt;br /&gt;
&lt;br /&gt;
===TFTP Server konfigurieren===&lt;br /&gt;
* /etc/default/tftpd-hpa&lt;br /&gt;
 RUN_DAEMON=&amp;quot;yes&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-l -s /var/lib/tftpboot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /root@xinux-desktop:~# etc/init.d/tftpd-hpa restart&lt;br /&gt;
&lt;br /&gt;
===PXE boot konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# cd /var/lib/tftpboot&lt;br /&gt;
 root@xinux-desktop:~# wget http://ftp.debian.org/debian/dists/etch/main/installer-i386/current/images/netboot/pxelinux.0&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/vmlinuz ./&lt;br /&gt;
 root@xinux-desktop:~# cp /pxeroot/initrd.img ./&lt;br /&gt;
 root@xinux-desktop:~# mkdir pxelinux.cfg&lt;br /&gt;
 root@xinux-desktop:~# vim pxelinux.cfg/default&lt;br /&gt;
 &lt;br /&gt;
* /var/lib/tftpboot/pxelinux.cfg/default&lt;br /&gt;
 DEFAULT linux&lt;br /&gt;
 &lt;br /&gt;
 LABEL linux&lt;br /&gt;
     kernel vmlinuz&lt;br /&gt;
     append vga=normal initrd=initrd.img ramdisk_size=14332 root=/dev/nfs nfsroot=192.168.242.140:/pxeroot rw --&lt;br /&gt;
 &lt;br /&gt;
 PROMPT 0&lt;br /&gt;
 TIIMEOUT 0&lt;br /&gt;
&lt;br /&gt;
===nfs server konfigurieren===&lt;br /&gt;
 root@xinux-desktop:~# apt-get install nfs-kernel-server&lt;br /&gt;
* /etc/exports&lt;br /&gt;
 /pxeroot    192.168.0.0/255.255.0.0(rw,sync,no_root_squash,no_subtree_check)&lt;br /&gt;
&lt;br /&gt;
Neustarten&lt;br /&gt;
 /etc/init.d/nfs-kernel-server restart&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
http://www.pieczewski.de/?page_id=51&lt;br /&gt;
&lt;br /&gt;
http://forum.ubuntuusers.de/topic/pxe-image-bauen/&lt;br /&gt;
&lt;br /&gt;
http://www.howtoforge.com/pxe_booting_debian&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=316</id>
		<title>Dynamic Host Configuration Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=316"/>
		<updated>2009-07-16T08:03:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Weitere Möglichkeiten mit DHCP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Automatisierung der TCP/IP-Netzwerkadministration lässt sich mit dem DHCP-Protokoll recht erfolgreich durchführen. In diesem Text werden die Grundzüge des Protokolls erklärt. Außerdem werden einige einfache Beispielkonfigurationen besprochen.&lt;br /&gt;
&lt;br /&gt;
__forcetoc__&lt;br /&gt;
&lt;br /&gt;
==DHCP==&lt;br /&gt;
&lt;br /&gt;
Über das Dynamic Host Configuration Protocol (DHCP) werden einem Client-Rechner alle nötigen Netzparameter übermittelt. &lt;br /&gt;
&lt;br /&gt;
Siehe DHCP RFC-2131 und andere. &lt;br /&gt;
&lt;br /&gt;
==Leistungsmerkmale==&lt;br /&gt;
&lt;br /&gt;
DHCP dient der einfachen Zuteilung von Netzwerkinformationen in lokalen TCP/IP-Netzen. Zu diesen Informationen gehören z.B. IP-Nummer, Domainname, Routing und DNS-Server. &lt;br /&gt;
&lt;br /&gt;
Bei Diskless-Workstations bilden DHCP oder BOOTP die Grundlage. &lt;br /&gt;
&lt;br /&gt;
==Kurzbeschreibung der Arbeitsweise==&lt;br /&gt;
Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.&lt;br /&gt;
Diese ist meistens in der Netzwerkhardware (Ethernet, FDDI, Firewire, Wireless LAN) programmiert. Bereiche für MAC-Adressen werden nach einem internationalen Standard von einem Gremium (siehe  http://standards.ieee.org/regauth/oui/index.shtml) an die Hersteller der Hardware vergeben. Diese wiederum teilen jedem Netzwerkport eine eindeutige MAC-Adresse zu. &lt;br /&gt;
&lt;br /&gt;
Mit der MAC-Adresse sendet der Rechner eine Rundfrage (Broadcast) ins Netz mit der Bitte, ihm eine Netzwerkkonfiguration mitzuteilen. &lt;br /&gt;
&lt;br /&gt;
Der DHCP-Server wartet auf solche Rundfragen und teilt dem anfragenden Rechner die entsprechenden Daten mit. &lt;br /&gt;
	&lt;br /&gt;
[[Image:Example.png]]&lt;br /&gt;
	&lt;br /&gt;
Außerdem speichert der Server sowohl die MAC-Adresse des Clients als auch die ihm zugeteilte IP-Adresse in einer Datei. (dhcp.leases) &lt;br /&gt;
&lt;br /&gt;
Diese IP-Adresse wird für eine bestimmte Laufzeit (Lease Time) für diesen Client reserviert. Nach einiger Zeit versucht der Client, seine Adresse beim Server zu erneuern (renewing). Gelingt ihm dies nicht, so fragt er etwas später alle Server nach seiner Adresse (rebinding). &lt;br /&gt;
&lt;br /&gt;
Wird seine Adresse auch nach dieser Anfrage nicht erneuert, muss er alle Netzwerkaktivitäten beenden. Allerdings darf er das DHCP-Protokoll neu beginnen.&lt;br /&gt;
&lt;br /&gt;
==Arten der Zuteilung von IP-Adressen==&lt;br /&gt;
===Feste IP-Adresse aufgrund der MAC-Adresse===&lt;br /&gt;
MAC-Adressen und IP-Adresse werden fest in die dhcpd.conf eingetragen. &lt;br /&gt;
Ausschnitt dhcpd.conf 	&lt;br /&gt;
&lt;br /&gt;
 host test{&lt;br /&gt;
   hardware ethernet 00:00:c0:5d:bd:95;&lt;br /&gt;
   fixed-address 192.168.0.121;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse, automatisch zugeteilt, mit Zeitbegrenzung===&lt;br /&gt;
Hierbei wird die IP-Adresse für eine unbegrenzte (schlecht) oder eine lange Laufzeit zugeteilt. &lt;br /&gt;
&lt;br /&gt;
Hier sollte man die Laufzeit (lease-time) auf einen höheren Wert setzen: &lt;br /&gt;
Ausschnitt dhcpd.conf file 	&lt;br /&gt;
     &lt;br /&gt;
 max-lease-time 432000;&lt;br /&gt;
 # 24*60*60*5 -&amp;gt; 5 Tage&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.32 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Dynamische Zuteilung===&lt;br /&gt;
Die Vorgehensweise ist hier dieselbe wie oben, allerdings wird die Laufzeit auf einen niedrigeren Wert gesetzt. &lt;br /&gt;
&lt;br /&gt;
==Konfiguration der Clients==&lt;br /&gt;
Heute sind die meisten Rechner mit Client-seitiger DHCP-Unterstützung vorkonfiguriert. Das DHCP-Protokoll vereinfacht die Netzwerkonfiguration erheblich. &lt;br /&gt;
&lt;br /&gt;
Beim Client müssen keinerlei rechnerspezifische Netzwerkeinstellungen mehr vorgenommen werden. Im Prinzip muss man den Rechnern nur mitteilen, dass DHCP verwendet werden soll. &lt;br /&gt;
&lt;br /&gt;
==='''DHCP-Client'''===&lt;br /&gt;
====Linux====&lt;br /&gt;
pump, dhcpclient, dhcpcd, dhclient. ....... &lt;br /&gt;
&lt;br /&gt;
Auch DHCP-Clients können umfangreich konfiguriert werden, siehe /etc/dhcpc/config im Paket dhcpcd. So kann man zum Beispiel verhindern, dass vom DHCP-Server Daten übernommen werden, die eine spezielle Netzwerkkonfiguration überschreiben würden.&lt;br /&gt;
&lt;br /&gt;
====BSD====&lt;br /&gt;
Ebenso wie Linux unterstützen auch BSD-Varianten DHCP als Client und Server. &lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Auch neuere Windows-Systeme bieten direkt nach der Installation DHCP-Unterstützung. &lt;br /&gt;
&lt;br /&gt;
====Mac====&lt;br /&gt;
Sofort nach der Installation ist die Unterstützung vorhanden, ob man will oder nicht.&lt;br /&gt;
&lt;br /&gt;
==DHCP-Server (www.isc.org)==&lt;br /&gt;
Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein. Bei Debian z.B. sieht sie folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
 root@linux # apt-get install dhcp3-server &lt;br /&gt;
&lt;br /&gt;
Bei Debian befindet sich nach der Installation die Konfigurationsdatei /etc/dhcp3/dhcpd.conf auf dem System. &lt;br /&gt;
&lt;br /&gt;
Die Datei ist gut kommentiert, und man sollte sie den eigenen Bedürfnissen anpassen (Domain-Name, IP-Adressen usw.) &lt;br /&gt;
&lt;br /&gt;
Falls man den Server in der Testphase nur von Hand starten möchte, sollte man die Links in den entsprechenden Runleveln löschen.&lt;br /&gt;
&lt;br /&gt;
Debian: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d -f dhcp3-server remove &lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
Nach der Testphase kann man diese wieder aktivieren, bei Debian z.B. folgendermaßen: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d dhcp3-server defaults &lt;br /&gt;
&lt;br /&gt;
==DHCP-Server handling==&lt;br /&gt;
Starten des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server start&lt;br /&gt;
 * Starting DHCP server dhcpd3 &lt;br /&gt;
Stoppen des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server stop&lt;br /&gt;
 * Stopping DHCP server dhcpd3    &lt;br /&gt;
Kontrolle des DHCP-Servers &lt;br /&gt;
*Aktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
 2164&lt;br /&gt;
*Inaktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
*Status&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server status&lt;br /&gt;
 Status of DHCP server: dhcpd3 is running.&lt;br /&gt;
*Anhand des Ports&lt;br /&gt;
 root@linux #/ netstat -lnup | grep &amp;quot;:67&amp;quot; &lt;br /&gt;
 udp    0  0 192.168.11.50:67   0.0.0.0:*   2671/dhcpd3  &lt;br /&gt;
Restarten des DHCP-Servers&lt;br /&gt;
 root@linux #	 /etc/init.d/dhcp3-server restart&lt;br /&gt;
 * Stopping DHCP server dhcpd3                                                                   [ OK ] &lt;br /&gt;
 * Starting DHCP server dhcpd3     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Eine erste Konfigurationsdatei===&lt;br /&gt;
Alles, was man nicht versteht, kommentiert man zunächst einmal aus. Ich habe das meiste der Übersichtlichkeit halber gelöscht. &lt;br /&gt;
&lt;br /&gt;
 minimal dhcp.conf file 	&lt;br /&gt;
      &lt;br /&gt;
 #&lt;br /&gt;
 # Beispielkonfigurationsdatei für ISC dhcpd3&lt;br /&gt;
 # Debian 3.0 Woody&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # Optionsdefinitionen für alle unterstützten&lt;br /&gt;
 # Netzwerke...&lt;br /&gt;
 # option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.31 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nun kann der DHCP-Server den DHCP-Clients zehn Adressen dynamisch zuweisen. &lt;br /&gt;
&lt;br /&gt;
===Testen des Servers===&lt;br /&gt;
Auf einem Debian-System sollte nochmals geprüft werden, ob in /etc/default/dhcp3-server das richtige Interface angegeben ist (z.B. eth0). &lt;br /&gt;
&lt;br /&gt;
Danach kann man zum Testen (Debuggen) übergehen. &lt;br /&gt;
&lt;br /&gt;
Starten des Servers: &lt;br /&gt;
&lt;br /&gt;
  root@linux # /etc/init.d/dhcp3-server start &lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, mit tail -f /var/log/syslog den Startvorgang zu verfolgen, um zu sehen, ob der Server korrekt läuft. &amp;quot;ps ax&amp;quot; bzw. &amp;quot;pidof dhcpd3&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Der folgende Aufruf ist zum Debuggen besser geeignet: &lt;br /&gt;
&lt;br /&gt;
 root@linux # dhcpd3 -d -f &lt;br /&gt;
	&lt;br /&gt;
Bitte unbedingt die Fehlermeldungen beachten! &lt;br /&gt;
&lt;br /&gt;
Auch ein Blick in die Dateien unter /var/log lohnt sich! &lt;br /&gt;
&lt;br /&gt;
Wird auf einem zweitem Rechner, z.B.  Knoppix (Debian von CD), getestet, so verwendet man pump: &lt;br /&gt;
&lt;br /&gt;
 root@linux # pump -s &lt;br /&gt;
&lt;br /&gt;
Auf dem Server kann die Anfrage mit &lt;br /&gt;
&lt;br /&gt;
 root@linux # tcpdump -e &lt;br /&gt;
	&lt;br /&gt;
verfolgt werden. &lt;br /&gt;
&lt;br /&gt;
Dabei muss der Client eine Anfrage absetzen, die vom Server beantwortet wird. &lt;br /&gt;
&lt;br /&gt;
 tcpdump Ausgabe 	&lt;br /&gt;
     &lt;br /&gt;
 (ist leider eine lange Zeile mit \ getrennt)&lt;br /&gt;
 09:47:32.690249 0:48:54:12:4c:df Broadcast ip 342: \&lt;br /&gt;
 0.0.0.0.bootpc &amp;gt; 255.255.255.255.bootps:  \&lt;br /&gt;
 xid:0x1c97abed [|bootp] [tos 0x10]&lt;br /&gt;
 &lt;br /&gt;
 09:47:32.700021 8:0:46:49:60:8d 0:48:54:12:4c:df \&lt;br /&gt;
 ip 62: lapwoody.local.invalid &amp;gt; 192.168.0.40: \&lt;br /&gt;
 icmp: echo request (DF)&lt;br /&gt;
 &lt;br /&gt;
Der erste Abschnitt ist die Broadcast-Anfrage des Clients. Danach folgt die Antwort des Servers, in der dieser dem Client eine IP-Adresse mitteilt. &lt;br /&gt;
&lt;br /&gt;
Anmerkung: Wer die Pakete mit ganzem Inhalt sehen möchte, kann für die Aufzeichnung auch ngrep verwenden. &lt;br /&gt;
&lt;br /&gt;
Nun sollte ein einfacher DHCP-Server laufen.&lt;br /&gt;
&lt;br /&gt;
===Testen des Clients===&lt;br /&gt;
Läuft der dhclient?&lt;br /&gt;
 root@lydia:~# pgrep dhclient3&lt;br /&gt;
 10173&lt;br /&gt;
Beenden des dhclient? &lt;br /&gt;
 root@lydia:~# pkill  dhclient3&lt;br /&gt;
&lt;br /&gt;
Renew des dhclient? &lt;br /&gt;
 root@lydia:~# dhclient3 eth0&lt;br /&gt;
 There is already a pid file /var/run/dhclient.pid with pid 10173&lt;br /&gt;
 removed stale PID file&lt;br /&gt;
 Internet Systems Consortium DHCP Client V3.1.1&lt;br /&gt;
 Copyright 2004-2008 Internet Systems Consortium.&lt;br /&gt;
 All rights reserved.&lt;br /&gt;
 For info, please visit http://www.isc.org/sw/dhcp/&lt;br /&gt;
 &lt;br /&gt;
 Listening on LPF/eth0/00:16:d3:2e:bb:2e&lt;br /&gt;
 Sending on   LPF/eth0/00:16:d3:2e:bb:2e&lt;br /&gt;
 Sending on   Socket/fallback&lt;br /&gt;
 DHCPREQUEST of 192.168.178.46 on eth0 to 255.255.255.255 port 67&lt;br /&gt;
 DHCPACK of 192.168.178.46 from 192.168.178.1&lt;br /&gt;
 bound to 192.168.178.46 -- renewal in 359492 seconds.&lt;br /&gt;
&lt;br /&gt;
===Der Server bekommt weitere Fähigkeiten===&lt;br /&gt;
Als Nächstes sollten die sinnvollen Standard-Angaben wieder aktiviert werden. Die Optionen, die nicht &amp;quot;ausgeklammert&amp;quot; sind, gelten als Vorgaben für alle späteren Angaben. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 # Wir haben unseren DHCP- nicht mit einem&lt;br /&gt;
 # DNS-Server kombiniert.&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1;&lt;br /&gt;
 # Unsere Domain und die Nameserver&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 # Wann müssen die Adressen, die wir verteilt haben,&lt;br /&gt;
 # erneuert werden? Die Laufzeit ist in Sekunden angegeben,&lt;br /&gt;
 # d.h. alle DHCP-Rechner sollten nach 10 min anfangen,&lt;br /&gt;
 # sich neue Adressen zu holen. Falls die Adresse innerhalb&lt;br /&gt;
 # von 2 Stunden nicht erneuert werden konnte, liegt&lt;br /&gt;
 # irgendein Fehler vor und der Client-Rechner sollte&lt;br /&gt;
 # seine IP-Adressen nicht mehr benutzen.&lt;br /&gt;
 &lt;br /&gt;
 authoritative;&lt;br /&gt;
 # Regelt, welcher DHCP-Server Priorität hat. :-)&lt;br /&gt;
 # Aktivieren, sobald wir fertig sind.&lt;br /&gt;
&lt;br /&gt;
Weiteres &lt;br /&gt;
&lt;br /&gt;
====Angabe ob ein DNS Update ausgeführt werden soll, wenn eine IP vergeben wurde====&lt;br /&gt;
 ddns-updates [on | off] &lt;br /&gt;
&lt;br /&gt;
====Angabe des Netbios-Nameservers====&lt;br /&gt;
 option netbios-name-servers   192.168.240.21;&lt;br /&gt;
&lt;br /&gt;
====Zuteilen einer IP aufgrund von MAC Adresse====&lt;br /&gt;
 host wutz {&lt;br /&gt;
         hardware ethernet        00:50:9c:1a:52:9f;&lt;br /&gt;
         fixed-address              192.168.254.252;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Schlüssel zum Update von dem DHCP Server an den DNS Server====&lt;br /&gt;
     key DHCP_UPDATER {&lt;br /&gt;
         algorithm HMAC-MD5.SIG-ALG.REG.INT;&lt;br /&gt;
         secret pRP5FapFoJ95JEL06sv4PQ==;&lt;br /&gt;
       };&lt;br /&gt;
&lt;br /&gt;
       zone EXAMPLE.ORG. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       zone 17.127.10.in-addr.arpa. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
primary gibt den Server an, dessen Zoneninformation aktualisiert werden soll. &lt;br /&gt;
Auf dem DNS Server sollte der Update vom DHCP Server erlaubt sein.&lt;br /&gt;
&lt;br /&gt;
Übergabe eines Bootloaders und Rootpfad mittels TFTP bei Netzwerkboot&lt;br /&gt;
 host xyz {&lt;br /&gt;
        ...&lt;br /&gt;
        filename                &amp;quot;/lts/2.6.9-ltsp-3/pxelinux.0&amp;quot;;&lt;br /&gt;
        option root-path        &amp;quot;192.168.254.25:/opt/ltsp/i386&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Weitere Möglichkeiten mit DHCP===&lt;br /&gt;
Es gibt globale Angaben, die von lokalen Angaben überschrieben werden können. &lt;br /&gt;
&lt;br /&gt;
Einige Optionen aus: &amp;quot;man dhcpd.conf&amp;quot; und &amp;quot;man dhcp-conf&amp;quot; (offizielle Optionen sind in RFC 2132 beschrieben): &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1, 192.168.0.2;&lt;br /&gt;
&lt;br /&gt;
Übertragung des Domain-Namens und der DNS-Server. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
     &lt;br /&gt;
 option routers 192.168.0.1;&lt;br /&gt;
     &lt;br /&gt;
Angabe des Default-Gateway.&lt;br /&gt;
&lt;br /&gt;
Angabe der lokalen Adresse&lt;br /&gt;
 local-address 192.168.11.50;&lt;br /&gt;
&lt;br /&gt;
Der TFTP Server&lt;br /&gt;
 next-server 192.168.11.50;&lt;br /&gt;
&lt;br /&gt;
Booloader auf dem TFTP Server&lt;br /&gt;
 filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Optionen die für Anwendungen genutzt werden können.&lt;br /&gt;
 option MGSERVICE code 082 = text;&lt;br /&gt;
 option MGSERVICE &amp;quot;192.168.11.50:8180&amp;quot;;&lt;br /&gt;
 option MCM code 084 = text;&lt;br /&gt;
 option MCM &amp;quot;http://192.168.11.50:8180/mgate/client/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Log Herkunft&lt;br /&gt;
 log-facility local7;&lt;br /&gt;
 subnet 192.168.11.0 netmask 255.255.255.0 {&lt;br /&gt;
         range 192.168.11.20 192.168.11.40;&lt;br /&gt;
         option domain-name-servers 192.168.11.50;&lt;br /&gt;
         option routers 192.168.11.1;&lt;br /&gt;
         option root-path &amp;quot;192.168.11.50:/pxeroot&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
 }&lt;br /&gt;
include &amp;quot;/etc/dhcp3/terminals.conf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==Leases==&lt;br /&gt;
Im Verzeichnis /var/lib/dhcp3 findet man die aktuelle Zuteilungen der IP zu Mac-Adressen&lt;br /&gt;
 root@linux:/var/lib/dhcp3# cat dhclient.eth0.leases&lt;br /&gt;
 ....&lt;br /&gt;
 lease {&lt;br /&gt;
  interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
  fixed-address 192.168.11.128;&lt;br /&gt;
  option subnet-mask 255.255.255.0;&lt;br /&gt;
  option dhcp-lease-time 1800;&lt;br /&gt;
  option dhcp-message-type 5;&lt;br /&gt;
  option domain-name-servers 192.168.11.1;&lt;br /&gt;
  option dhcp-server-identifier 192.168.11.254;&lt;br /&gt;
  option broadcast-address 192.168.11.255;&lt;br /&gt;
  option domain-name &amp;quot;localdomain&amp;quot;;&lt;br /&gt;
  renew 3 2009/07/15 15:50:19;&lt;br /&gt;
  rebind 3 2009/07/15 16:01:36;&lt;br /&gt;
  expire 3 2009/07/15 16:05:21;&lt;br /&gt;
 }&lt;br /&gt;
 ....&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*http://www.isc.org/products/DHCP/&lt;br /&gt;
*http://standards.ieee.org/regauth/oui/index.shtml&lt;br /&gt;
*http://www.phystech.com/download/dhcpcd.html &lt;br /&gt;
*http://www.rfc-editor.org/ - Bitte dort die Suchmaschine benutzen. &lt;br /&gt;
*http://www.linux-praxis.de/linux3/dhcp.html&lt;br /&gt;
*http://www.linux-fuer-alle.de/doc_show.php?docid=8&lt;br /&gt;
*http://www.linuxwiki.de/DHCP&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
↑ [[Linux-Kompendium|Inhaltsverzeichnis]] ↑&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=315</id>
		<title>Dynamic Host Configuration Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=315"/>
		<updated>2009-07-16T07:57:18Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Weitere Möglichkeiten mit DHCP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Automatisierung der TCP/IP-Netzwerkadministration lässt sich mit dem DHCP-Protokoll recht erfolgreich durchführen. In diesem Text werden die Grundzüge des Protokolls erklärt. Außerdem werden einige einfache Beispielkonfigurationen besprochen.&lt;br /&gt;
&lt;br /&gt;
__forcetoc__&lt;br /&gt;
&lt;br /&gt;
==DHCP==&lt;br /&gt;
&lt;br /&gt;
Über das Dynamic Host Configuration Protocol (DHCP) werden einem Client-Rechner alle nötigen Netzparameter übermittelt. &lt;br /&gt;
&lt;br /&gt;
Siehe DHCP RFC-2131 und andere. &lt;br /&gt;
&lt;br /&gt;
==Leistungsmerkmale==&lt;br /&gt;
&lt;br /&gt;
DHCP dient der einfachen Zuteilung von Netzwerkinformationen in lokalen TCP/IP-Netzen. Zu diesen Informationen gehören z.B. IP-Nummer, Domainname, Routing und DNS-Server. &lt;br /&gt;
&lt;br /&gt;
Bei Diskless-Workstations bilden DHCP oder BOOTP die Grundlage. &lt;br /&gt;
&lt;br /&gt;
==Kurzbeschreibung der Arbeitsweise==&lt;br /&gt;
Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.&lt;br /&gt;
Diese ist meistens in der Netzwerkhardware (Ethernet, FDDI, Firewire, Wireless LAN) programmiert. Bereiche für MAC-Adressen werden nach einem internationalen Standard von einem Gremium (siehe  http://standards.ieee.org/regauth/oui/index.shtml) an die Hersteller der Hardware vergeben. Diese wiederum teilen jedem Netzwerkport eine eindeutige MAC-Adresse zu. &lt;br /&gt;
&lt;br /&gt;
Mit der MAC-Adresse sendet der Rechner eine Rundfrage (Broadcast) ins Netz mit der Bitte, ihm eine Netzwerkkonfiguration mitzuteilen. &lt;br /&gt;
&lt;br /&gt;
Der DHCP-Server wartet auf solche Rundfragen und teilt dem anfragenden Rechner die entsprechenden Daten mit. &lt;br /&gt;
	&lt;br /&gt;
[[Image:Example.png]]&lt;br /&gt;
	&lt;br /&gt;
Außerdem speichert der Server sowohl die MAC-Adresse des Clients als auch die ihm zugeteilte IP-Adresse in einer Datei. (dhcp.leases) &lt;br /&gt;
&lt;br /&gt;
Diese IP-Adresse wird für eine bestimmte Laufzeit (Lease Time) für diesen Client reserviert. Nach einiger Zeit versucht der Client, seine Adresse beim Server zu erneuern (renewing). Gelingt ihm dies nicht, so fragt er etwas später alle Server nach seiner Adresse (rebinding). &lt;br /&gt;
&lt;br /&gt;
Wird seine Adresse auch nach dieser Anfrage nicht erneuert, muss er alle Netzwerkaktivitäten beenden. Allerdings darf er das DHCP-Protokoll neu beginnen.&lt;br /&gt;
&lt;br /&gt;
==Arten der Zuteilung von IP-Adressen==&lt;br /&gt;
===Feste IP-Adresse aufgrund der MAC-Adresse===&lt;br /&gt;
MAC-Adressen und IP-Adresse werden fest in die dhcpd.conf eingetragen. &lt;br /&gt;
Ausschnitt dhcpd.conf 	&lt;br /&gt;
&lt;br /&gt;
 host test{&lt;br /&gt;
   hardware ethernet 00:00:c0:5d:bd:95;&lt;br /&gt;
   fixed-address 192.168.0.121;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse, automatisch zugeteilt, mit Zeitbegrenzung===&lt;br /&gt;
Hierbei wird die IP-Adresse für eine unbegrenzte (schlecht) oder eine lange Laufzeit zugeteilt. &lt;br /&gt;
&lt;br /&gt;
Hier sollte man die Laufzeit (lease-time) auf einen höheren Wert setzen: &lt;br /&gt;
Ausschnitt dhcpd.conf file 	&lt;br /&gt;
     &lt;br /&gt;
 max-lease-time 432000;&lt;br /&gt;
 # 24*60*60*5 -&amp;gt; 5 Tage&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.32 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Dynamische Zuteilung===&lt;br /&gt;
Die Vorgehensweise ist hier dieselbe wie oben, allerdings wird die Laufzeit auf einen niedrigeren Wert gesetzt. &lt;br /&gt;
&lt;br /&gt;
==Konfiguration der Clients==&lt;br /&gt;
Heute sind die meisten Rechner mit Client-seitiger DHCP-Unterstützung vorkonfiguriert. Das DHCP-Protokoll vereinfacht die Netzwerkonfiguration erheblich. &lt;br /&gt;
&lt;br /&gt;
Beim Client müssen keinerlei rechnerspezifische Netzwerkeinstellungen mehr vorgenommen werden. Im Prinzip muss man den Rechnern nur mitteilen, dass DHCP verwendet werden soll. &lt;br /&gt;
&lt;br /&gt;
==='''DHCP-Client'''===&lt;br /&gt;
====Linux====&lt;br /&gt;
pump, dhcpclient, dhcpcd, dhclient. ....... &lt;br /&gt;
&lt;br /&gt;
Auch DHCP-Clients können umfangreich konfiguriert werden, siehe /etc/dhcpc/config im Paket dhcpcd. So kann man zum Beispiel verhindern, dass vom DHCP-Server Daten übernommen werden, die eine spezielle Netzwerkkonfiguration überschreiben würden.&lt;br /&gt;
&lt;br /&gt;
====BSD====&lt;br /&gt;
Ebenso wie Linux unterstützen auch BSD-Varianten DHCP als Client und Server. &lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Auch neuere Windows-Systeme bieten direkt nach der Installation DHCP-Unterstützung. &lt;br /&gt;
&lt;br /&gt;
====Mac====&lt;br /&gt;
Sofort nach der Installation ist die Unterstützung vorhanden, ob man will oder nicht.&lt;br /&gt;
&lt;br /&gt;
==DHCP-Server (www.isc.org)==&lt;br /&gt;
Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein. Bei Debian z.B. sieht sie folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
 root@linux # apt-get install dhcp3-server &lt;br /&gt;
&lt;br /&gt;
Bei Debian befindet sich nach der Installation die Konfigurationsdatei /etc/dhcp3/dhcpd.conf auf dem System. &lt;br /&gt;
&lt;br /&gt;
Die Datei ist gut kommentiert, und man sollte sie den eigenen Bedürfnissen anpassen (Domain-Name, IP-Adressen usw.) &lt;br /&gt;
&lt;br /&gt;
Falls man den Server in der Testphase nur von Hand starten möchte, sollte man die Links in den entsprechenden Runleveln löschen.&lt;br /&gt;
&lt;br /&gt;
Debian: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d -f dhcp3-server remove &lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
Nach der Testphase kann man diese wieder aktivieren, bei Debian z.B. folgendermaßen: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d dhcp3-server defaults &lt;br /&gt;
&lt;br /&gt;
==DHCP-Server handling==&lt;br /&gt;
Starten des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server start&lt;br /&gt;
 * Starting DHCP server dhcpd3 &lt;br /&gt;
Stoppen des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server stop&lt;br /&gt;
 * Stopping DHCP server dhcpd3    &lt;br /&gt;
Kontrolle des DHCP-Servers &lt;br /&gt;
*Aktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
 2164&lt;br /&gt;
*Inaktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
*Status&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server status&lt;br /&gt;
 Status of DHCP server: dhcpd3 is running.&lt;br /&gt;
*Anhand des Ports&lt;br /&gt;
 root@linux #/ netstat -lnup | grep &amp;quot;:67&amp;quot; &lt;br /&gt;
 udp    0  0 192.168.11.50:67   0.0.0.0:*   2671/dhcpd3  &lt;br /&gt;
Restarten des DHCP-Servers&lt;br /&gt;
 root@linux #	 /etc/init.d/dhcp3-server restart&lt;br /&gt;
 * Stopping DHCP server dhcpd3                                                                   [ OK ] &lt;br /&gt;
 * Starting DHCP server dhcpd3     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Eine erste Konfigurationsdatei===&lt;br /&gt;
Alles, was man nicht versteht, kommentiert man zunächst einmal aus. Ich habe das meiste der Übersichtlichkeit halber gelöscht. &lt;br /&gt;
&lt;br /&gt;
 minimal dhcp.conf file 	&lt;br /&gt;
      &lt;br /&gt;
 #&lt;br /&gt;
 # Beispielkonfigurationsdatei für ISC dhcpd3&lt;br /&gt;
 # Debian 3.0 Woody&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # Optionsdefinitionen für alle unterstützten&lt;br /&gt;
 # Netzwerke...&lt;br /&gt;
 # option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.31 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nun kann der DHCP-Server den DHCP-Clients zehn Adressen dynamisch zuweisen. &lt;br /&gt;
&lt;br /&gt;
===Testen des Servers===&lt;br /&gt;
Auf einem Debian-System sollte nochmals geprüft werden, ob in /etc/default/dhcp3-server das richtige Interface angegeben ist (z.B. eth0). &lt;br /&gt;
&lt;br /&gt;
Danach kann man zum Testen (Debuggen) übergehen. &lt;br /&gt;
&lt;br /&gt;
Starten des Servers: &lt;br /&gt;
&lt;br /&gt;
  root@linux # /etc/init.d/dhcp3-server start &lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, mit tail -f /var/log/syslog den Startvorgang zu verfolgen, um zu sehen, ob der Server korrekt läuft. &amp;quot;ps ax&amp;quot; bzw. &amp;quot;pidof dhcpd3&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Der folgende Aufruf ist zum Debuggen besser geeignet: &lt;br /&gt;
&lt;br /&gt;
 root@linux # dhcpd3 -d -f &lt;br /&gt;
	&lt;br /&gt;
Bitte unbedingt die Fehlermeldungen beachten! &lt;br /&gt;
&lt;br /&gt;
Auch ein Blick in die Dateien unter /var/log lohnt sich! &lt;br /&gt;
&lt;br /&gt;
Wird auf einem zweitem Rechner, z.B.  Knoppix (Debian von CD), getestet, so verwendet man pump: &lt;br /&gt;
&lt;br /&gt;
 root@linux # pump -s &lt;br /&gt;
&lt;br /&gt;
Auf dem Server kann die Anfrage mit &lt;br /&gt;
&lt;br /&gt;
 root@linux # tcpdump -e &lt;br /&gt;
	&lt;br /&gt;
verfolgt werden. &lt;br /&gt;
&lt;br /&gt;
Dabei muss der Client eine Anfrage absetzen, die vom Server beantwortet wird. &lt;br /&gt;
&lt;br /&gt;
 tcpdump Ausgabe 	&lt;br /&gt;
     &lt;br /&gt;
 (ist leider eine lange Zeile mit \ getrennt)&lt;br /&gt;
 09:47:32.690249 0:48:54:12:4c:df Broadcast ip 342: \&lt;br /&gt;
 0.0.0.0.bootpc &amp;gt; 255.255.255.255.bootps:  \&lt;br /&gt;
 xid:0x1c97abed [|bootp] [tos 0x10]&lt;br /&gt;
 &lt;br /&gt;
 09:47:32.700021 8:0:46:49:60:8d 0:48:54:12:4c:df \&lt;br /&gt;
 ip 62: lapwoody.local.invalid &amp;gt; 192.168.0.40: \&lt;br /&gt;
 icmp: echo request (DF)&lt;br /&gt;
 &lt;br /&gt;
Der erste Abschnitt ist die Broadcast-Anfrage des Clients. Danach folgt die Antwort des Servers, in der dieser dem Client eine IP-Adresse mitteilt. &lt;br /&gt;
&lt;br /&gt;
Anmerkung: Wer die Pakete mit ganzem Inhalt sehen möchte, kann für die Aufzeichnung auch ngrep verwenden. &lt;br /&gt;
&lt;br /&gt;
Nun sollte ein einfacher DHCP-Server laufen.&lt;br /&gt;
&lt;br /&gt;
===Testen des Clients===&lt;br /&gt;
Läuft der dhclient?&lt;br /&gt;
 root@lydia:~# pgrep dhclient3&lt;br /&gt;
 10173&lt;br /&gt;
Beenden des dhclient? &lt;br /&gt;
 root@lydia:~# pkill  dhclient3&lt;br /&gt;
&lt;br /&gt;
Renew des dhclient? &lt;br /&gt;
 root@lydia:~# dhclient3 eth0&lt;br /&gt;
 There is already a pid file /var/run/dhclient.pid with pid 10173&lt;br /&gt;
 removed stale PID file&lt;br /&gt;
 Internet Systems Consortium DHCP Client V3.1.1&lt;br /&gt;
 Copyright 2004-2008 Internet Systems Consortium.&lt;br /&gt;
 All rights reserved.&lt;br /&gt;
 For info, please visit http://www.isc.org/sw/dhcp/&lt;br /&gt;
 &lt;br /&gt;
 Listening on LPF/eth0/00:16:d3:2e:bb:2e&lt;br /&gt;
 Sending on   LPF/eth0/00:16:d3:2e:bb:2e&lt;br /&gt;
 Sending on   Socket/fallback&lt;br /&gt;
 DHCPREQUEST of 192.168.178.46 on eth0 to 255.255.255.255 port 67&lt;br /&gt;
 DHCPACK of 192.168.178.46 from 192.168.178.1&lt;br /&gt;
 bound to 192.168.178.46 -- renewal in 359492 seconds.&lt;br /&gt;
&lt;br /&gt;
===Der Server bekommt weitere Fähigkeiten===&lt;br /&gt;
Als Nächstes sollten die sinnvollen Standard-Angaben wieder aktiviert werden. Die Optionen, die nicht &amp;quot;ausgeklammert&amp;quot; sind, gelten als Vorgaben für alle späteren Angaben. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 # Wir haben unseren DHCP- nicht mit einem&lt;br /&gt;
 # DNS-Server kombiniert.&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1;&lt;br /&gt;
 # Unsere Domain und die Nameserver&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 # Wann müssen die Adressen, die wir verteilt haben,&lt;br /&gt;
 # erneuert werden? Die Laufzeit ist in Sekunden angegeben,&lt;br /&gt;
 # d.h. alle DHCP-Rechner sollten nach 10 min anfangen,&lt;br /&gt;
 # sich neue Adressen zu holen. Falls die Adresse innerhalb&lt;br /&gt;
 # von 2 Stunden nicht erneuert werden konnte, liegt&lt;br /&gt;
 # irgendein Fehler vor und der Client-Rechner sollte&lt;br /&gt;
 # seine IP-Adressen nicht mehr benutzen.&lt;br /&gt;
 &lt;br /&gt;
 authoritative;&lt;br /&gt;
 # Regelt, welcher DHCP-Server Priorität hat. :-)&lt;br /&gt;
 # Aktivieren, sobald wir fertig sind.&lt;br /&gt;
&lt;br /&gt;
Weiteres &lt;br /&gt;
&lt;br /&gt;
====Angabe ob ein DNS Update ausgeführt werden soll, wenn eine IP vergeben wurde====&lt;br /&gt;
 ddns-updates [on | off] &lt;br /&gt;
&lt;br /&gt;
====Angabe des Netbios-Nameservers====&lt;br /&gt;
 option netbios-name-servers   192.168.240.21;&lt;br /&gt;
&lt;br /&gt;
====Zuteilen einer IP aufgrund von MAC Adresse====&lt;br /&gt;
 host wutz {&lt;br /&gt;
         hardware ethernet        00:50:9c:1a:52:9f;&lt;br /&gt;
         fixed-address              192.168.254.252;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Schlüssel zum Update von dem DHCP Server an den DNS Server====&lt;br /&gt;
     key DHCP_UPDATER {&lt;br /&gt;
         algorithm HMAC-MD5.SIG-ALG.REG.INT;&lt;br /&gt;
         secret pRP5FapFoJ95JEL06sv4PQ==;&lt;br /&gt;
       };&lt;br /&gt;
&lt;br /&gt;
       zone EXAMPLE.ORG. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       zone 17.127.10.in-addr.arpa. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
primary gibt den Server an, dessen Zoneninformation aktualisiert werden soll. &lt;br /&gt;
Auf dem DNS Server sollte der Update vom DHCP Server erlaubt sein.&lt;br /&gt;
&lt;br /&gt;
Übergabe eines Bootloaders und Rootpfad mittels TFTP bei Netzwerkboot&lt;br /&gt;
 host xyz {&lt;br /&gt;
        ...&lt;br /&gt;
        filename                &amp;quot;/lts/2.6.9-ltsp-3/pxelinux.0&amp;quot;;&lt;br /&gt;
        option root-path        &amp;quot;192.168.254.25:/opt/ltsp/i386&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Weitere Möglichkeiten mit DHCP===&lt;br /&gt;
Es gibt globale Angaben, die von lokalen Angaben überschrieben werden können. &lt;br /&gt;
&lt;br /&gt;
Einige Optionen aus: &amp;quot;man dhcpd.conf&amp;quot; und &amp;quot;man dhcp-conf&amp;quot; (offizielle Optionen sind in RFC 2132 beschrieben): &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1, 192.168.0.2;&lt;br /&gt;
&lt;br /&gt;
Übertragung des Domain-Namens und der DNS-Server. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
     &lt;br /&gt;
 option routers 192.168.0.1;&lt;br /&gt;
     &lt;br /&gt;
Angabe des Default-Gateway.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==Leases==&lt;br /&gt;
Im Verzeichnis /var/lib/dhcp3 findet man die aktuelle Zuteilungen der IP zu Mac-Adressen&lt;br /&gt;
 root@linux:/var/lib/dhcp3# cat dhclient.eth0.leases&lt;br /&gt;
 ....&lt;br /&gt;
 lease {&lt;br /&gt;
  interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
  fixed-address 192.168.11.128;&lt;br /&gt;
  option subnet-mask 255.255.255.0;&lt;br /&gt;
  option dhcp-lease-time 1800;&lt;br /&gt;
  option dhcp-message-type 5;&lt;br /&gt;
  option domain-name-servers 192.168.11.1;&lt;br /&gt;
  option dhcp-server-identifier 192.168.11.254;&lt;br /&gt;
  option broadcast-address 192.168.11.255;&lt;br /&gt;
  option domain-name &amp;quot;localdomain&amp;quot;;&lt;br /&gt;
  renew 3 2009/07/15 15:50:19;&lt;br /&gt;
  rebind 3 2009/07/15 16:01:36;&lt;br /&gt;
  expire 3 2009/07/15 16:05:21;&lt;br /&gt;
 }&lt;br /&gt;
 ....&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*http://www.isc.org/products/DHCP/&lt;br /&gt;
*http://standards.ieee.org/regauth/oui/index.shtml&lt;br /&gt;
*http://www.phystech.com/download/dhcpcd.html &lt;br /&gt;
*http://www.rfc-editor.org/ - Bitte dort die Suchmaschine benutzen. &lt;br /&gt;
*http://www.linux-praxis.de/linux3/dhcp.html&lt;br /&gt;
*http://www.linux-fuer-alle.de/doc_show.php?docid=8&lt;br /&gt;
*http://www.linuxwiki.de/DHCP&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
↑ [[Linux-Kompendium|Inhaltsverzeichnis]] ↑&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=314</id>
		<title>Dynamic Host Configuration Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=314"/>
		<updated>2009-07-16T07:46:01Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Testen des Clients */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Automatisierung der TCP/IP-Netzwerkadministration lässt sich mit dem DHCP-Protokoll recht erfolgreich durchführen. In diesem Text werden die Grundzüge des Protokolls erklärt. Außerdem werden einige einfache Beispielkonfigurationen besprochen.&lt;br /&gt;
&lt;br /&gt;
__forcetoc__&lt;br /&gt;
&lt;br /&gt;
==DHCP==&lt;br /&gt;
&lt;br /&gt;
Über das Dynamic Host Configuration Protocol (DHCP) werden einem Client-Rechner alle nötigen Netzparameter übermittelt. &lt;br /&gt;
&lt;br /&gt;
Siehe DHCP RFC-2131 und andere. &lt;br /&gt;
&lt;br /&gt;
==Leistungsmerkmale==&lt;br /&gt;
&lt;br /&gt;
DHCP dient der einfachen Zuteilung von Netzwerkinformationen in lokalen TCP/IP-Netzen. Zu diesen Informationen gehören z.B. IP-Nummer, Domainname, Routing und DNS-Server. &lt;br /&gt;
&lt;br /&gt;
Bei Diskless-Workstations bilden DHCP oder BOOTP die Grundlage. &lt;br /&gt;
&lt;br /&gt;
==Kurzbeschreibung der Arbeitsweise==&lt;br /&gt;
Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.&lt;br /&gt;
Diese ist meistens in der Netzwerkhardware (Ethernet, FDDI, Firewire, Wireless LAN) programmiert. Bereiche für MAC-Adressen werden nach einem internationalen Standard von einem Gremium (siehe  http://standards.ieee.org/regauth/oui/index.shtml) an die Hersteller der Hardware vergeben. Diese wiederum teilen jedem Netzwerkport eine eindeutige MAC-Adresse zu. &lt;br /&gt;
&lt;br /&gt;
Mit der MAC-Adresse sendet der Rechner eine Rundfrage (Broadcast) ins Netz mit der Bitte, ihm eine Netzwerkkonfiguration mitzuteilen. &lt;br /&gt;
&lt;br /&gt;
Der DHCP-Server wartet auf solche Rundfragen und teilt dem anfragenden Rechner die entsprechenden Daten mit. &lt;br /&gt;
	&lt;br /&gt;
[[Image:Example.png]]&lt;br /&gt;
	&lt;br /&gt;
Außerdem speichert der Server sowohl die MAC-Adresse des Clients als auch die ihm zugeteilte IP-Adresse in einer Datei. (dhcp.leases) &lt;br /&gt;
&lt;br /&gt;
Diese IP-Adresse wird für eine bestimmte Laufzeit (Lease Time) für diesen Client reserviert. Nach einiger Zeit versucht der Client, seine Adresse beim Server zu erneuern (renewing). Gelingt ihm dies nicht, so fragt er etwas später alle Server nach seiner Adresse (rebinding). &lt;br /&gt;
&lt;br /&gt;
Wird seine Adresse auch nach dieser Anfrage nicht erneuert, muss er alle Netzwerkaktivitäten beenden. Allerdings darf er das DHCP-Protokoll neu beginnen.&lt;br /&gt;
&lt;br /&gt;
==Arten der Zuteilung von IP-Adressen==&lt;br /&gt;
===Feste IP-Adresse aufgrund der MAC-Adresse===&lt;br /&gt;
MAC-Adressen und IP-Adresse werden fest in die dhcpd.conf eingetragen. &lt;br /&gt;
Ausschnitt dhcpd.conf 	&lt;br /&gt;
&lt;br /&gt;
 host test{&lt;br /&gt;
   hardware ethernet 00:00:c0:5d:bd:95;&lt;br /&gt;
   fixed-address 192.168.0.121;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse, automatisch zugeteilt, mit Zeitbegrenzung===&lt;br /&gt;
Hierbei wird die IP-Adresse für eine unbegrenzte (schlecht) oder eine lange Laufzeit zugeteilt. &lt;br /&gt;
&lt;br /&gt;
Hier sollte man die Laufzeit (lease-time) auf einen höheren Wert setzen: &lt;br /&gt;
Ausschnitt dhcpd.conf file 	&lt;br /&gt;
     &lt;br /&gt;
 max-lease-time 432000;&lt;br /&gt;
 # 24*60*60*5 -&amp;gt; 5 Tage&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.32 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Dynamische Zuteilung===&lt;br /&gt;
Die Vorgehensweise ist hier dieselbe wie oben, allerdings wird die Laufzeit auf einen niedrigeren Wert gesetzt. &lt;br /&gt;
&lt;br /&gt;
==Konfiguration der Clients==&lt;br /&gt;
Heute sind die meisten Rechner mit Client-seitiger DHCP-Unterstützung vorkonfiguriert. Das DHCP-Protokoll vereinfacht die Netzwerkonfiguration erheblich. &lt;br /&gt;
&lt;br /&gt;
Beim Client müssen keinerlei rechnerspezifische Netzwerkeinstellungen mehr vorgenommen werden. Im Prinzip muss man den Rechnern nur mitteilen, dass DHCP verwendet werden soll. &lt;br /&gt;
&lt;br /&gt;
==='''DHCP-Client'''===&lt;br /&gt;
====Linux====&lt;br /&gt;
pump, dhcpclient, dhcpcd, dhclient. ....... &lt;br /&gt;
&lt;br /&gt;
Auch DHCP-Clients können umfangreich konfiguriert werden, siehe /etc/dhcpc/config im Paket dhcpcd. So kann man zum Beispiel verhindern, dass vom DHCP-Server Daten übernommen werden, die eine spezielle Netzwerkkonfiguration überschreiben würden.&lt;br /&gt;
&lt;br /&gt;
====BSD====&lt;br /&gt;
Ebenso wie Linux unterstützen auch BSD-Varianten DHCP als Client und Server. &lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Auch neuere Windows-Systeme bieten direkt nach der Installation DHCP-Unterstützung. &lt;br /&gt;
&lt;br /&gt;
====Mac====&lt;br /&gt;
Sofort nach der Installation ist die Unterstützung vorhanden, ob man will oder nicht.&lt;br /&gt;
&lt;br /&gt;
==DHCP-Server (www.isc.org)==&lt;br /&gt;
Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein. Bei Debian z.B. sieht sie folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
 root@linux # apt-get install dhcp3-server &lt;br /&gt;
&lt;br /&gt;
Bei Debian befindet sich nach der Installation die Konfigurationsdatei /etc/dhcp3/dhcpd.conf auf dem System. &lt;br /&gt;
&lt;br /&gt;
Die Datei ist gut kommentiert, und man sollte sie den eigenen Bedürfnissen anpassen (Domain-Name, IP-Adressen usw.) &lt;br /&gt;
&lt;br /&gt;
Falls man den Server in der Testphase nur von Hand starten möchte, sollte man die Links in den entsprechenden Runleveln löschen.&lt;br /&gt;
&lt;br /&gt;
Debian: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d -f dhcp3-server remove &lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
Nach der Testphase kann man diese wieder aktivieren, bei Debian z.B. folgendermaßen: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d dhcp3-server defaults &lt;br /&gt;
&lt;br /&gt;
==DHCP-Server handling==&lt;br /&gt;
Starten des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server start&lt;br /&gt;
 * Starting DHCP server dhcpd3 &lt;br /&gt;
Stoppen des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server stop&lt;br /&gt;
 * Stopping DHCP server dhcpd3    &lt;br /&gt;
Kontrolle des DHCP-Servers &lt;br /&gt;
*Aktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
 2164&lt;br /&gt;
*Inaktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
*Status&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server status&lt;br /&gt;
 Status of DHCP server: dhcpd3 is running.&lt;br /&gt;
*Anhand des Ports&lt;br /&gt;
 root@linux #/ netstat -lnup | grep &amp;quot;:67&amp;quot; &lt;br /&gt;
 udp    0  0 192.168.11.50:67   0.0.0.0:*   2671/dhcpd3  &lt;br /&gt;
Restarten des DHCP-Servers&lt;br /&gt;
 root@linux #	 /etc/init.d/dhcp3-server restart&lt;br /&gt;
 * Stopping DHCP server dhcpd3                                                                   [ OK ] &lt;br /&gt;
 * Starting DHCP server dhcpd3     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Eine erste Konfigurationsdatei===&lt;br /&gt;
Alles, was man nicht versteht, kommentiert man zunächst einmal aus. Ich habe das meiste der Übersichtlichkeit halber gelöscht. &lt;br /&gt;
&lt;br /&gt;
 minimal dhcp.conf file 	&lt;br /&gt;
      &lt;br /&gt;
 #&lt;br /&gt;
 # Beispielkonfigurationsdatei für ISC dhcpd3&lt;br /&gt;
 # Debian 3.0 Woody&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # Optionsdefinitionen für alle unterstützten&lt;br /&gt;
 # Netzwerke...&lt;br /&gt;
 # option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.31 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nun kann der DHCP-Server den DHCP-Clients zehn Adressen dynamisch zuweisen. &lt;br /&gt;
&lt;br /&gt;
===Testen des Servers===&lt;br /&gt;
Auf einem Debian-System sollte nochmals geprüft werden, ob in /etc/default/dhcp3-server das richtige Interface angegeben ist (z.B. eth0). &lt;br /&gt;
&lt;br /&gt;
Danach kann man zum Testen (Debuggen) übergehen. &lt;br /&gt;
&lt;br /&gt;
Starten des Servers: &lt;br /&gt;
&lt;br /&gt;
  root@linux # /etc/init.d/dhcp3-server start &lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, mit tail -f /var/log/syslog den Startvorgang zu verfolgen, um zu sehen, ob der Server korrekt läuft. &amp;quot;ps ax&amp;quot; bzw. &amp;quot;pidof dhcpd3&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Der folgende Aufruf ist zum Debuggen besser geeignet: &lt;br /&gt;
&lt;br /&gt;
 root@linux # dhcpd3 -d -f &lt;br /&gt;
	&lt;br /&gt;
Bitte unbedingt die Fehlermeldungen beachten! &lt;br /&gt;
&lt;br /&gt;
Auch ein Blick in die Dateien unter /var/log lohnt sich! &lt;br /&gt;
&lt;br /&gt;
Wird auf einem zweitem Rechner, z.B.  Knoppix (Debian von CD), getestet, so verwendet man pump: &lt;br /&gt;
&lt;br /&gt;
 root@linux # pump -s &lt;br /&gt;
&lt;br /&gt;
Auf dem Server kann die Anfrage mit &lt;br /&gt;
&lt;br /&gt;
 root@linux # tcpdump -e &lt;br /&gt;
	&lt;br /&gt;
verfolgt werden. &lt;br /&gt;
&lt;br /&gt;
Dabei muss der Client eine Anfrage absetzen, die vom Server beantwortet wird. &lt;br /&gt;
&lt;br /&gt;
 tcpdump Ausgabe 	&lt;br /&gt;
     &lt;br /&gt;
 (ist leider eine lange Zeile mit \ getrennt)&lt;br /&gt;
 09:47:32.690249 0:48:54:12:4c:df Broadcast ip 342: \&lt;br /&gt;
 0.0.0.0.bootpc &amp;gt; 255.255.255.255.bootps:  \&lt;br /&gt;
 xid:0x1c97abed [|bootp] [tos 0x10]&lt;br /&gt;
 &lt;br /&gt;
 09:47:32.700021 8:0:46:49:60:8d 0:48:54:12:4c:df \&lt;br /&gt;
 ip 62: lapwoody.local.invalid &amp;gt; 192.168.0.40: \&lt;br /&gt;
 icmp: echo request (DF)&lt;br /&gt;
 &lt;br /&gt;
Der erste Abschnitt ist die Broadcast-Anfrage des Clients. Danach folgt die Antwort des Servers, in der dieser dem Client eine IP-Adresse mitteilt. &lt;br /&gt;
&lt;br /&gt;
Anmerkung: Wer die Pakete mit ganzem Inhalt sehen möchte, kann für die Aufzeichnung auch ngrep verwenden. &lt;br /&gt;
&lt;br /&gt;
Nun sollte ein einfacher DHCP-Server laufen.&lt;br /&gt;
&lt;br /&gt;
===Testen des Clients===&lt;br /&gt;
Läuft der dhclient?&lt;br /&gt;
 root@lydia:~# pgrep dhclient3&lt;br /&gt;
 10173&lt;br /&gt;
Beenden des dhclient? &lt;br /&gt;
 root@lydia:~# pkill  dhclient3&lt;br /&gt;
&lt;br /&gt;
Renew des dhclient? &lt;br /&gt;
 root@lydia:~# dhclient3 eth0&lt;br /&gt;
 There is already a pid file /var/run/dhclient.pid with pid 10173&lt;br /&gt;
 removed stale PID file&lt;br /&gt;
 Internet Systems Consortium DHCP Client V3.1.1&lt;br /&gt;
 Copyright 2004-2008 Internet Systems Consortium.&lt;br /&gt;
 All rights reserved.&lt;br /&gt;
 For info, please visit http://www.isc.org/sw/dhcp/&lt;br /&gt;
 &lt;br /&gt;
 Listening on LPF/eth0/00:16:d3:2e:bb:2e&lt;br /&gt;
 Sending on   LPF/eth0/00:16:d3:2e:bb:2e&lt;br /&gt;
 Sending on   Socket/fallback&lt;br /&gt;
 DHCPREQUEST of 192.168.178.46 on eth0 to 255.255.255.255 port 67&lt;br /&gt;
 DHCPACK of 192.168.178.46 from 192.168.178.1&lt;br /&gt;
 bound to 192.168.178.46 -- renewal in 359492 seconds.&lt;br /&gt;
&lt;br /&gt;
===Der Server bekommt weitere Fähigkeiten===&lt;br /&gt;
Als Nächstes sollten die sinnvollen Standard-Angaben wieder aktiviert werden. Die Optionen, die nicht &amp;quot;ausgeklammert&amp;quot; sind, gelten als Vorgaben für alle späteren Angaben. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 # Wir haben unseren DHCP- nicht mit einem&lt;br /&gt;
 # DNS-Server kombiniert.&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1;&lt;br /&gt;
 # Unsere Domain und die Nameserver&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 # Wann müssen die Adressen, die wir verteilt haben,&lt;br /&gt;
 # erneuert werden? Die Laufzeit ist in Sekunden angegeben,&lt;br /&gt;
 # d.h. alle DHCP-Rechner sollten nach 10 min anfangen,&lt;br /&gt;
 # sich neue Adressen zu holen. Falls die Adresse innerhalb&lt;br /&gt;
 # von 2 Stunden nicht erneuert werden konnte, liegt&lt;br /&gt;
 # irgendein Fehler vor und der Client-Rechner sollte&lt;br /&gt;
 # seine IP-Adressen nicht mehr benutzen.&lt;br /&gt;
 &lt;br /&gt;
 authoritative;&lt;br /&gt;
 # Regelt, welcher DHCP-Server Priorität hat. :-)&lt;br /&gt;
 # Aktivieren, sobald wir fertig sind.&lt;br /&gt;
&lt;br /&gt;
Weiteres &lt;br /&gt;
&lt;br /&gt;
====Angabe ob ein DNS Update ausgeführt werden soll, wenn eine IP vergeben wurde====&lt;br /&gt;
 ddns-updates [on | off] &lt;br /&gt;
&lt;br /&gt;
====Angabe des Netbios-Nameservers====&lt;br /&gt;
 option netbios-name-servers   192.168.240.21;&lt;br /&gt;
&lt;br /&gt;
====Zuteilen einer IP aufgrund von MAC Adresse====&lt;br /&gt;
 host wutz {&lt;br /&gt;
         hardware ethernet        00:50:9c:1a:52:9f;&lt;br /&gt;
         fixed-address              192.168.254.252;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Schlüssel zum Update von dem DHCP Server an den DNS Server====&lt;br /&gt;
     key DHCP_UPDATER {&lt;br /&gt;
         algorithm HMAC-MD5.SIG-ALG.REG.INT;&lt;br /&gt;
         secret pRP5FapFoJ95JEL06sv4PQ==;&lt;br /&gt;
       };&lt;br /&gt;
&lt;br /&gt;
       zone EXAMPLE.ORG. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       zone 17.127.10.in-addr.arpa. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
primary gibt den Server an, dessen Zoneninformation aktualisiert werden soll. &lt;br /&gt;
Auf dem DNS Server sollte der Update vom DHCP Server erlaubt sein.&lt;br /&gt;
&lt;br /&gt;
Übergabe eines Bootloaders und Rootpfad mittels TFTP bei Netzwerkboot&lt;br /&gt;
 host xyz {&lt;br /&gt;
        ...&lt;br /&gt;
        filename                &amp;quot;/lts/2.6.9-ltsp-3/pxelinux.0&amp;quot;;&lt;br /&gt;
        option root-path        &amp;quot;192.168.254.25:/opt/ltsp/i386&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Weitere Möglichkeiten mit DHCP===&lt;br /&gt;
Es gibt globale Angaben, die von lokalen Angaben überschrieben werden können. &lt;br /&gt;
&lt;br /&gt;
Einige Optionen aus: &amp;quot;man dhcpd.conf&amp;quot; und &amp;quot;man dhcp-conf&amp;quot; (offizielle Optionen sind in RFC 2132 beschrieben): &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1, 192.168.0.2;&lt;br /&gt;
&lt;br /&gt;
Übertragung des Domain-Namens und der DNS-Server. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
     &lt;br /&gt;
 option routers 192.168.0.1;&lt;br /&gt;
     &lt;br /&gt;
Angabe des Default-Gateway.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*http://www.isc.org/products/DHCP/&lt;br /&gt;
*http://standards.ieee.org/regauth/oui/index.shtml&lt;br /&gt;
*http://www.phystech.com/download/dhcpcd.html &lt;br /&gt;
*http://www.rfc-editor.org/ - Bitte dort die Suchmaschine benutzen. &lt;br /&gt;
*http://www.linux-praxis.de/linux3/dhcp.html&lt;br /&gt;
*http://www.linux-fuer-alle.de/doc_show.php?docid=8&lt;br /&gt;
*http://www.linuxwiki.de/DHCP&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
↑ [[Linux-Kompendium|Inhaltsverzeichnis]] ↑&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=313</id>
		<title>Dynamic Host Configuration Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=313"/>
		<updated>2009-07-16T07:45:50Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Der Server bekommt weitere Fähigkeiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Automatisierung der TCP/IP-Netzwerkadministration lässt sich mit dem DHCP-Protokoll recht erfolgreich durchführen. In diesem Text werden die Grundzüge des Protokolls erklärt. Außerdem werden einige einfache Beispielkonfigurationen besprochen.&lt;br /&gt;
&lt;br /&gt;
__forcetoc__&lt;br /&gt;
&lt;br /&gt;
==DHCP==&lt;br /&gt;
&lt;br /&gt;
Über das Dynamic Host Configuration Protocol (DHCP) werden einem Client-Rechner alle nötigen Netzparameter übermittelt. &lt;br /&gt;
&lt;br /&gt;
Siehe DHCP RFC-2131 und andere. &lt;br /&gt;
&lt;br /&gt;
==Leistungsmerkmale==&lt;br /&gt;
&lt;br /&gt;
DHCP dient der einfachen Zuteilung von Netzwerkinformationen in lokalen TCP/IP-Netzen. Zu diesen Informationen gehören z.B. IP-Nummer, Domainname, Routing und DNS-Server. &lt;br /&gt;
&lt;br /&gt;
Bei Diskless-Workstations bilden DHCP oder BOOTP die Grundlage. &lt;br /&gt;
&lt;br /&gt;
==Kurzbeschreibung der Arbeitsweise==&lt;br /&gt;
Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.&lt;br /&gt;
Diese ist meistens in der Netzwerkhardware (Ethernet, FDDI, Firewire, Wireless LAN) programmiert. Bereiche für MAC-Adressen werden nach einem internationalen Standard von einem Gremium (siehe  http://standards.ieee.org/regauth/oui/index.shtml) an die Hersteller der Hardware vergeben. Diese wiederum teilen jedem Netzwerkport eine eindeutige MAC-Adresse zu. &lt;br /&gt;
&lt;br /&gt;
Mit der MAC-Adresse sendet der Rechner eine Rundfrage (Broadcast) ins Netz mit der Bitte, ihm eine Netzwerkkonfiguration mitzuteilen. &lt;br /&gt;
&lt;br /&gt;
Der DHCP-Server wartet auf solche Rundfragen und teilt dem anfragenden Rechner die entsprechenden Daten mit. &lt;br /&gt;
	&lt;br /&gt;
[[Image:Example.png]]&lt;br /&gt;
	&lt;br /&gt;
Außerdem speichert der Server sowohl die MAC-Adresse des Clients als auch die ihm zugeteilte IP-Adresse in einer Datei. (dhcp.leases) &lt;br /&gt;
&lt;br /&gt;
Diese IP-Adresse wird für eine bestimmte Laufzeit (Lease Time) für diesen Client reserviert. Nach einiger Zeit versucht der Client, seine Adresse beim Server zu erneuern (renewing). Gelingt ihm dies nicht, so fragt er etwas später alle Server nach seiner Adresse (rebinding). &lt;br /&gt;
&lt;br /&gt;
Wird seine Adresse auch nach dieser Anfrage nicht erneuert, muss er alle Netzwerkaktivitäten beenden. Allerdings darf er das DHCP-Protokoll neu beginnen.&lt;br /&gt;
&lt;br /&gt;
==Arten der Zuteilung von IP-Adressen==&lt;br /&gt;
===Feste IP-Adresse aufgrund der MAC-Adresse===&lt;br /&gt;
MAC-Adressen und IP-Adresse werden fest in die dhcpd.conf eingetragen. &lt;br /&gt;
Ausschnitt dhcpd.conf 	&lt;br /&gt;
&lt;br /&gt;
 host test{&lt;br /&gt;
   hardware ethernet 00:00:c0:5d:bd:95;&lt;br /&gt;
   fixed-address 192.168.0.121;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse, automatisch zugeteilt, mit Zeitbegrenzung===&lt;br /&gt;
Hierbei wird die IP-Adresse für eine unbegrenzte (schlecht) oder eine lange Laufzeit zugeteilt. &lt;br /&gt;
&lt;br /&gt;
Hier sollte man die Laufzeit (lease-time) auf einen höheren Wert setzen: &lt;br /&gt;
Ausschnitt dhcpd.conf file 	&lt;br /&gt;
     &lt;br /&gt;
 max-lease-time 432000;&lt;br /&gt;
 # 24*60*60*5 -&amp;gt; 5 Tage&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.32 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Dynamische Zuteilung===&lt;br /&gt;
Die Vorgehensweise ist hier dieselbe wie oben, allerdings wird die Laufzeit auf einen niedrigeren Wert gesetzt. &lt;br /&gt;
&lt;br /&gt;
==Konfiguration der Clients==&lt;br /&gt;
Heute sind die meisten Rechner mit Client-seitiger DHCP-Unterstützung vorkonfiguriert. Das DHCP-Protokoll vereinfacht die Netzwerkonfiguration erheblich. &lt;br /&gt;
&lt;br /&gt;
Beim Client müssen keinerlei rechnerspezifische Netzwerkeinstellungen mehr vorgenommen werden. Im Prinzip muss man den Rechnern nur mitteilen, dass DHCP verwendet werden soll. &lt;br /&gt;
&lt;br /&gt;
==='''DHCP-Client'''===&lt;br /&gt;
====Linux====&lt;br /&gt;
pump, dhcpclient, dhcpcd, dhclient. ....... &lt;br /&gt;
&lt;br /&gt;
Auch DHCP-Clients können umfangreich konfiguriert werden, siehe /etc/dhcpc/config im Paket dhcpcd. So kann man zum Beispiel verhindern, dass vom DHCP-Server Daten übernommen werden, die eine spezielle Netzwerkkonfiguration überschreiben würden.&lt;br /&gt;
&lt;br /&gt;
====BSD====&lt;br /&gt;
Ebenso wie Linux unterstützen auch BSD-Varianten DHCP als Client und Server. &lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Auch neuere Windows-Systeme bieten direkt nach der Installation DHCP-Unterstützung. &lt;br /&gt;
&lt;br /&gt;
====Mac====&lt;br /&gt;
Sofort nach der Installation ist die Unterstützung vorhanden, ob man will oder nicht.&lt;br /&gt;
&lt;br /&gt;
==DHCP-Server (www.isc.org)==&lt;br /&gt;
Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein. Bei Debian z.B. sieht sie folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
 root@linux # apt-get install dhcp3-server &lt;br /&gt;
&lt;br /&gt;
Bei Debian befindet sich nach der Installation die Konfigurationsdatei /etc/dhcp3/dhcpd.conf auf dem System. &lt;br /&gt;
&lt;br /&gt;
Die Datei ist gut kommentiert, und man sollte sie den eigenen Bedürfnissen anpassen (Domain-Name, IP-Adressen usw.) &lt;br /&gt;
&lt;br /&gt;
Falls man den Server in der Testphase nur von Hand starten möchte, sollte man die Links in den entsprechenden Runleveln löschen.&lt;br /&gt;
&lt;br /&gt;
Debian: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d -f dhcp3-server remove &lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
Nach der Testphase kann man diese wieder aktivieren, bei Debian z.B. folgendermaßen: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d dhcp3-server defaults &lt;br /&gt;
&lt;br /&gt;
==DHCP-Server handling==&lt;br /&gt;
Starten des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server start&lt;br /&gt;
 * Starting DHCP server dhcpd3 &lt;br /&gt;
Stoppen des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server stop&lt;br /&gt;
 * Stopping DHCP server dhcpd3    &lt;br /&gt;
Kontrolle des DHCP-Servers &lt;br /&gt;
*Aktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
 2164&lt;br /&gt;
*Inaktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
*Status&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server status&lt;br /&gt;
 Status of DHCP server: dhcpd3 is running.&lt;br /&gt;
*Anhand des Ports&lt;br /&gt;
 root@linux #/ netstat -lnup | grep &amp;quot;:67&amp;quot; &lt;br /&gt;
 udp    0  0 192.168.11.50:67   0.0.0.0:*   2671/dhcpd3  &lt;br /&gt;
Restarten des DHCP-Servers&lt;br /&gt;
 root@linux #	 /etc/init.d/dhcp3-server restart&lt;br /&gt;
 * Stopping DHCP server dhcpd3                                                                   [ OK ] &lt;br /&gt;
 * Starting DHCP server dhcpd3     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Eine erste Konfigurationsdatei===&lt;br /&gt;
Alles, was man nicht versteht, kommentiert man zunächst einmal aus. Ich habe das meiste der Übersichtlichkeit halber gelöscht. &lt;br /&gt;
&lt;br /&gt;
 minimal dhcp.conf file 	&lt;br /&gt;
      &lt;br /&gt;
 #&lt;br /&gt;
 # Beispielkonfigurationsdatei für ISC dhcpd3&lt;br /&gt;
 # Debian 3.0 Woody&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # Optionsdefinitionen für alle unterstützten&lt;br /&gt;
 # Netzwerke...&lt;br /&gt;
 # option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.31 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nun kann der DHCP-Server den DHCP-Clients zehn Adressen dynamisch zuweisen. &lt;br /&gt;
&lt;br /&gt;
===Testen des Servers===&lt;br /&gt;
Auf einem Debian-System sollte nochmals geprüft werden, ob in /etc/default/dhcp3-server das richtige Interface angegeben ist (z.B. eth0). &lt;br /&gt;
&lt;br /&gt;
Danach kann man zum Testen (Debuggen) übergehen. &lt;br /&gt;
&lt;br /&gt;
Starten des Servers: &lt;br /&gt;
&lt;br /&gt;
  root@linux # /etc/init.d/dhcp3-server start &lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, mit tail -f /var/log/syslog den Startvorgang zu verfolgen, um zu sehen, ob der Server korrekt läuft. &amp;quot;ps ax&amp;quot; bzw. &amp;quot;pidof dhcpd3&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Der folgende Aufruf ist zum Debuggen besser geeignet: &lt;br /&gt;
&lt;br /&gt;
 root@linux # dhcpd3 -d -f &lt;br /&gt;
	&lt;br /&gt;
Bitte unbedingt die Fehlermeldungen beachten! &lt;br /&gt;
&lt;br /&gt;
Auch ein Blick in die Dateien unter /var/log lohnt sich! &lt;br /&gt;
&lt;br /&gt;
Wird auf einem zweitem Rechner, z.B.  Knoppix (Debian von CD), getestet, so verwendet man pump: &lt;br /&gt;
&lt;br /&gt;
 root@linux # pump -s &lt;br /&gt;
&lt;br /&gt;
Auf dem Server kann die Anfrage mit &lt;br /&gt;
&lt;br /&gt;
 root@linux # tcpdump -e &lt;br /&gt;
	&lt;br /&gt;
verfolgt werden. &lt;br /&gt;
&lt;br /&gt;
Dabei muss der Client eine Anfrage absetzen, die vom Server beantwortet wird. &lt;br /&gt;
&lt;br /&gt;
 tcpdump Ausgabe 	&lt;br /&gt;
     &lt;br /&gt;
 (ist leider eine lange Zeile mit \ getrennt)&lt;br /&gt;
 09:47:32.690249 0:48:54:12:4c:df Broadcast ip 342: \&lt;br /&gt;
 0.0.0.0.bootpc &amp;gt; 255.255.255.255.bootps:  \&lt;br /&gt;
 xid:0x1c97abed [|bootp] [tos 0x10]&lt;br /&gt;
 &lt;br /&gt;
 09:47:32.700021 8:0:46:49:60:8d 0:48:54:12:4c:df \&lt;br /&gt;
 ip 62: lapwoody.local.invalid &amp;gt; 192.168.0.40: \&lt;br /&gt;
 icmp: echo request (DF)&lt;br /&gt;
 &lt;br /&gt;
Der erste Abschnitt ist die Broadcast-Anfrage des Clients. Danach folgt die Antwort des Servers, in der dieser dem Client eine IP-Adresse mitteilt. &lt;br /&gt;
&lt;br /&gt;
Anmerkung: Wer die Pakete mit ganzem Inhalt sehen möchte, kann für die Aufzeichnung auch ngrep verwenden. &lt;br /&gt;
&lt;br /&gt;
Nun sollte ein einfacher DHCP-Server laufen.&lt;br /&gt;
&lt;br /&gt;
===Testen des Clients===&lt;br /&gt;
Läuft der dhclient?&lt;br /&gt;
 root@lydia:~# pgrep dhclient3&lt;br /&gt;
 10173&lt;br /&gt;
Beenden des dhclient? &lt;br /&gt;
 root@lydia:~# pkill  dhclient3&lt;br /&gt;
&lt;br /&gt;
Renew des dhclient? &lt;br /&gt;
 root@lydia:~# dhclient3 eth0&lt;br /&gt;
 There is already a pid file /var/run/dhclient.pid with pid 10173&lt;br /&gt;
 removed stale PID file&lt;br /&gt;
 Internet Systems Consortium DHCP Client V3.1.1&lt;br /&gt;
 Copyright 2004-2008 Internet Systems Consortium.&lt;br /&gt;
 All rights reserved.&lt;br /&gt;
 For info, please visit http://www.isc.org/sw/dhcp/&lt;br /&gt;
&lt;br /&gt;
 Listening on LPF/eth0/00:16:d3:2e:bb:2e&lt;br /&gt;
 Sending on   LPF/eth0/00:16:d3:2e:bb:2e&lt;br /&gt;
 Sending on   Socket/fallback&lt;br /&gt;
 DHCPREQUEST of 192.168.178.46 on eth0 to 255.255.255.255 port 67&lt;br /&gt;
 DHCPACK of 192.168.178.46 from 192.168.178.1&lt;br /&gt;
 bound to 192.168.178.46 -- renewal in 359492 seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der Server bekommt weitere Fähigkeiten===&lt;br /&gt;
Als Nächstes sollten die sinnvollen Standard-Angaben wieder aktiviert werden. Die Optionen, die nicht &amp;quot;ausgeklammert&amp;quot; sind, gelten als Vorgaben für alle späteren Angaben. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 # Wir haben unseren DHCP- nicht mit einem&lt;br /&gt;
 # DNS-Server kombiniert.&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1;&lt;br /&gt;
 # Unsere Domain und die Nameserver&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 # Wann müssen die Adressen, die wir verteilt haben,&lt;br /&gt;
 # erneuert werden? Die Laufzeit ist in Sekunden angegeben,&lt;br /&gt;
 # d.h. alle DHCP-Rechner sollten nach 10 min anfangen,&lt;br /&gt;
 # sich neue Adressen zu holen. Falls die Adresse innerhalb&lt;br /&gt;
 # von 2 Stunden nicht erneuert werden konnte, liegt&lt;br /&gt;
 # irgendein Fehler vor und der Client-Rechner sollte&lt;br /&gt;
 # seine IP-Adressen nicht mehr benutzen.&lt;br /&gt;
 &lt;br /&gt;
 authoritative;&lt;br /&gt;
 # Regelt, welcher DHCP-Server Priorität hat. :-)&lt;br /&gt;
 # Aktivieren, sobald wir fertig sind.&lt;br /&gt;
&lt;br /&gt;
Weiteres &lt;br /&gt;
&lt;br /&gt;
====Angabe ob ein DNS Update ausgeführt werden soll, wenn eine IP vergeben wurde====&lt;br /&gt;
 ddns-updates [on | off] &lt;br /&gt;
&lt;br /&gt;
====Angabe des Netbios-Nameservers====&lt;br /&gt;
 option netbios-name-servers   192.168.240.21;&lt;br /&gt;
&lt;br /&gt;
====Zuteilen einer IP aufgrund von MAC Adresse====&lt;br /&gt;
 host wutz {&lt;br /&gt;
         hardware ethernet        00:50:9c:1a:52:9f;&lt;br /&gt;
         fixed-address              192.168.254.252;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Schlüssel zum Update von dem DHCP Server an den DNS Server====&lt;br /&gt;
     key DHCP_UPDATER {&lt;br /&gt;
         algorithm HMAC-MD5.SIG-ALG.REG.INT;&lt;br /&gt;
         secret pRP5FapFoJ95JEL06sv4PQ==;&lt;br /&gt;
       };&lt;br /&gt;
&lt;br /&gt;
       zone EXAMPLE.ORG. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       zone 17.127.10.in-addr.arpa. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
primary gibt den Server an, dessen Zoneninformation aktualisiert werden soll. &lt;br /&gt;
Auf dem DNS Server sollte der Update vom DHCP Server erlaubt sein.&lt;br /&gt;
&lt;br /&gt;
Übergabe eines Bootloaders und Rootpfad mittels TFTP bei Netzwerkboot&lt;br /&gt;
 host xyz {&lt;br /&gt;
        ...&lt;br /&gt;
        filename                &amp;quot;/lts/2.6.9-ltsp-3/pxelinux.0&amp;quot;;&lt;br /&gt;
        option root-path        &amp;quot;192.168.254.25:/opt/ltsp/i386&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Weitere Möglichkeiten mit DHCP===&lt;br /&gt;
Es gibt globale Angaben, die von lokalen Angaben überschrieben werden können. &lt;br /&gt;
&lt;br /&gt;
Einige Optionen aus: &amp;quot;man dhcpd.conf&amp;quot; und &amp;quot;man dhcp-conf&amp;quot; (offizielle Optionen sind in RFC 2132 beschrieben): &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1, 192.168.0.2;&lt;br /&gt;
&lt;br /&gt;
Übertragung des Domain-Namens und der DNS-Server. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
     &lt;br /&gt;
 option routers 192.168.0.1;&lt;br /&gt;
     &lt;br /&gt;
Angabe des Default-Gateway.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*http://www.isc.org/products/DHCP/&lt;br /&gt;
*http://standards.ieee.org/regauth/oui/index.shtml&lt;br /&gt;
*http://www.phystech.com/download/dhcpcd.html &lt;br /&gt;
*http://www.rfc-editor.org/ - Bitte dort die Suchmaschine benutzen. &lt;br /&gt;
*http://www.linux-praxis.de/linux3/dhcp.html&lt;br /&gt;
*http://www.linux-fuer-alle.de/doc_show.php?docid=8&lt;br /&gt;
*http://www.linuxwiki.de/DHCP&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
↑ [[Linux-Kompendium|Inhaltsverzeichnis]] ↑&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=312</id>
		<title>Dynamic Host Configuration Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=312"/>
		<updated>2009-07-16T07:35:25Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Testen des Servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Automatisierung der TCP/IP-Netzwerkadministration lässt sich mit dem DHCP-Protokoll recht erfolgreich durchführen. In diesem Text werden die Grundzüge des Protokolls erklärt. Außerdem werden einige einfache Beispielkonfigurationen besprochen.&lt;br /&gt;
&lt;br /&gt;
__forcetoc__&lt;br /&gt;
&lt;br /&gt;
==DHCP==&lt;br /&gt;
&lt;br /&gt;
Über das Dynamic Host Configuration Protocol (DHCP) werden einem Client-Rechner alle nötigen Netzparameter übermittelt. &lt;br /&gt;
&lt;br /&gt;
Siehe DHCP RFC-2131 und andere. &lt;br /&gt;
&lt;br /&gt;
==Leistungsmerkmale==&lt;br /&gt;
&lt;br /&gt;
DHCP dient der einfachen Zuteilung von Netzwerkinformationen in lokalen TCP/IP-Netzen. Zu diesen Informationen gehören z.B. IP-Nummer, Domainname, Routing und DNS-Server. &lt;br /&gt;
&lt;br /&gt;
Bei Diskless-Workstations bilden DHCP oder BOOTP die Grundlage. &lt;br /&gt;
&lt;br /&gt;
==Kurzbeschreibung der Arbeitsweise==&lt;br /&gt;
Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.&lt;br /&gt;
Diese ist meistens in der Netzwerkhardware (Ethernet, FDDI, Firewire, Wireless LAN) programmiert. Bereiche für MAC-Adressen werden nach einem internationalen Standard von einem Gremium (siehe  http://standards.ieee.org/regauth/oui/index.shtml) an die Hersteller der Hardware vergeben. Diese wiederum teilen jedem Netzwerkport eine eindeutige MAC-Adresse zu. &lt;br /&gt;
&lt;br /&gt;
Mit der MAC-Adresse sendet der Rechner eine Rundfrage (Broadcast) ins Netz mit der Bitte, ihm eine Netzwerkkonfiguration mitzuteilen. &lt;br /&gt;
&lt;br /&gt;
Der DHCP-Server wartet auf solche Rundfragen und teilt dem anfragenden Rechner die entsprechenden Daten mit. &lt;br /&gt;
	&lt;br /&gt;
[[Image:Example.png]]&lt;br /&gt;
	&lt;br /&gt;
Außerdem speichert der Server sowohl die MAC-Adresse des Clients als auch die ihm zugeteilte IP-Adresse in einer Datei. (dhcp.leases) &lt;br /&gt;
&lt;br /&gt;
Diese IP-Adresse wird für eine bestimmte Laufzeit (Lease Time) für diesen Client reserviert. Nach einiger Zeit versucht der Client, seine Adresse beim Server zu erneuern (renewing). Gelingt ihm dies nicht, so fragt er etwas später alle Server nach seiner Adresse (rebinding). &lt;br /&gt;
&lt;br /&gt;
Wird seine Adresse auch nach dieser Anfrage nicht erneuert, muss er alle Netzwerkaktivitäten beenden. Allerdings darf er das DHCP-Protokoll neu beginnen.&lt;br /&gt;
&lt;br /&gt;
==Arten der Zuteilung von IP-Adressen==&lt;br /&gt;
===Feste IP-Adresse aufgrund der MAC-Adresse===&lt;br /&gt;
MAC-Adressen und IP-Adresse werden fest in die dhcpd.conf eingetragen. &lt;br /&gt;
Ausschnitt dhcpd.conf 	&lt;br /&gt;
&lt;br /&gt;
 host test{&lt;br /&gt;
   hardware ethernet 00:00:c0:5d:bd:95;&lt;br /&gt;
   fixed-address 192.168.0.121;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse, automatisch zugeteilt, mit Zeitbegrenzung===&lt;br /&gt;
Hierbei wird die IP-Adresse für eine unbegrenzte (schlecht) oder eine lange Laufzeit zugeteilt. &lt;br /&gt;
&lt;br /&gt;
Hier sollte man die Laufzeit (lease-time) auf einen höheren Wert setzen: &lt;br /&gt;
Ausschnitt dhcpd.conf file 	&lt;br /&gt;
     &lt;br /&gt;
 max-lease-time 432000;&lt;br /&gt;
 # 24*60*60*5 -&amp;gt; 5 Tage&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.32 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Dynamische Zuteilung===&lt;br /&gt;
Die Vorgehensweise ist hier dieselbe wie oben, allerdings wird die Laufzeit auf einen niedrigeren Wert gesetzt. &lt;br /&gt;
&lt;br /&gt;
==Konfiguration der Clients==&lt;br /&gt;
Heute sind die meisten Rechner mit Client-seitiger DHCP-Unterstützung vorkonfiguriert. Das DHCP-Protokoll vereinfacht die Netzwerkonfiguration erheblich. &lt;br /&gt;
&lt;br /&gt;
Beim Client müssen keinerlei rechnerspezifische Netzwerkeinstellungen mehr vorgenommen werden. Im Prinzip muss man den Rechnern nur mitteilen, dass DHCP verwendet werden soll. &lt;br /&gt;
&lt;br /&gt;
==='''DHCP-Client'''===&lt;br /&gt;
====Linux====&lt;br /&gt;
pump, dhcpclient, dhcpcd, dhclient. ....... &lt;br /&gt;
&lt;br /&gt;
Auch DHCP-Clients können umfangreich konfiguriert werden, siehe /etc/dhcpc/config im Paket dhcpcd. So kann man zum Beispiel verhindern, dass vom DHCP-Server Daten übernommen werden, die eine spezielle Netzwerkkonfiguration überschreiben würden.&lt;br /&gt;
&lt;br /&gt;
====BSD====&lt;br /&gt;
Ebenso wie Linux unterstützen auch BSD-Varianten DHCP als Client und Server. &lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Auch neuere Windows-Systeme bieten direkt nach der Installation DHCP-Unterstützung. &lt;br /&gt;
&lt;br /&gt;
====Mac====&lt;br /&gt;
Sofort nach der Installation ist die Unterstützung vorhanden, ob man will oder nicht.&lt;br /&gt;
&lt;br /&gt;
==DHCP-Server (www.isc.org)==&lt;br /&gt;
Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein. Bei Debian z.B. sieht sie folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
 root@linux # apt-get install dhcp3-server &lt;br /&gt;
&lt;br /&gt;
Bei Debian befindet sich nach der Installation die Konfigurationsdatei /etc/dhcp3/dhcpd.conf auf dem System. &lt;br /&gt;
&lt;br /&gt;
Die Datei ist gut kommentiert, und man sollte sie den eigenen Bedürfnissen anpassen (Domain-Name, IP-Adressen usw.) &lt;br /&gt;
&lt;br /&gt;
Falls man den Server in der Testphase nur von Hand starten möchte, sollte man die Links in den entsprechenden Runleveln löschen.&lt;br /&gt;
&lt;br /&gt;
Debian: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d -f dhcp3-server remove &lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
Nach der Testphase kann man diese wieder aktivieren, bei Debian z.B. folgendermaßen: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d dhcp3-server defaults &lt;br /&gt;
&lt;br /&gt;
==DHCP-Server handling==&lt;br /&gt;
Starten des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server start&lt;br /&gt;
 * Starting DHCP server dhcpd3 &lt;br /&gt;
Stoppen des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server stop&lt;br /&gt;
 * Stopping DHCP server dhcpd3    &lt;br /&gt;
Kontrolle des DHCP-Servers &lt;br /&gt;
*Aktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
 2164&lt;br /&gt;
*Inaktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
*Status&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server status&lt;br /&gt;
 Status of DHCP server: dhcpd3 is running.&lt;br /&gt;
*Anhand des Ports&lt;br /&gt;
 root@linux #/ netstat -lnup | grep &amp;quot;:67&amp;quot; &lt;br /&gt;
 udp    0  0 192.168.11.50:67   0.0.0.0:*   2671/dhcpd3  &lt;br /&gt;
Restarten des DHCP-Servers&lt;br /&gt;
 root@linux #	 /etc/init.d/dhcp3-server restart&lt;br /&gt;
 * Stopping DHCP server dhcpd3                                                                   [ OK ] &lt;br /&gt;
 * Starting DHCP server dhcpd3     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Eine erste Konfigurationsdatei===&lt;br /&gt;
Alles, was man nicht versteht, kommentiert man zunächst einmal aus. Ich habe das meiste der Übersichtlichkeit halber gelöscht. &lt;br /&gt;
&lt;br /&gt;
 minimal dhcp.conf file 	&lt;br /&gt;
      &lt;br /&gt;
 #&lt;br /&gt;
 # Beispielkonfigurationsdatei für ISC dhcpd3&lt;br /&gt;
 # Debian 3.0 Woody&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # Optionsdefinitionen für alle unterstützten&lt;br /&gt;
 # Netzwerke...&lt;br /&gt;
 # option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.31 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nun kann der DHCP-Server den DHCP-Clients zehn Adressen dynamisch zuweisen. &lt;br /&gt;
&lt;br /&gt;
===Testen des Servers===&lt;br /&gt;
Auf einem Debian-System sollte nochmals geprüft werden, ob in /etc/default/dhcp3-server das richtige Interface angegeben ist (z.B. eth0). &lt;br /&gt;
&lt;br /&gt;
Danach kann man zum Testen (Debuggen) übergehen. &lt;br /&gt;
&lt;br /&gt;
Starten des Servers: &lt;br /&gt;
&lt;br /&gt;
  root@linux # /etc/init.d/dhcp3-server start &lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, mit tail -f /var/log/syslog den Startvorgang zu verfolgen, um zu sehen, ob der Server korrekt läuft. &amp;quot;ps ax&amp;quot; bzw. &amp;quot;pidof dhcpd3&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Der folgende Aufruf ist zum Debuggen besser geeignet: &lt;br /&gt;
&lt;br /&gt;
 root@linux # dhcpd3 -d -f &lt;br /&gt;
	&lt;br /&gt;
Bitte unbedingt die Fehlermeldungen beachten! &lt;br /&gt;
&lt;br /&gt;
Auch ein Blick in die Dateien unter /var/log lohnt sich! &lt;br /&gt;
&lt;br /&gt;
Wird auf einem zweitem Rechner, z.B.  Knoppix (Debian von CD), getestet, so verwendet man pump: &lt;br /&gt;
&lt;br /&gt;
 root@linux # pump -s &lt;br /&gt;
&lt;br /&gt;
Auf dem Server kann die Anfrage mit &lt;br /&gt;
&lt;br /&gt;
 root@linux # tcpdump -e &lt;br /&gt;
	&lt;br /&gt;
verfolgt werden. &lt;br /&gt;
&lt;br /&gt;
Dabei muss der Client eine Anfrage absetzen, die vom Server beantwortet wird. &lt;br /&gt;
&lt;br /&gt;
 tcpdump Ausgabe 	&lt;br /&gt;
     &lt;br /&gt;
 (ist leider eine lange Zeile mit \ getrennt)&lt;br /&gt;
 09:47:32.690249 0:48:54:12:4c:df Broadcast ip 342: \&lt;br /&gt;
 0.0.0.0.bootpc &amp;gt; 255.255.255.255.bootps:  \&lt;br /&gt;
 xid:0x1c97abed [|bootp] [tos 0x10]&lt;br /&gt;
 &lt;br /&gt;
 09:47:32.700021 8:0:46:49:60:8d 0:48:54:12:4c:df \&lt;br /&gt;
 ip 62: lapwoody.local.invalid &amp;gt; 192.168.0.40: \&lt;br /&gt;
 icmp: echo request (DF)&lt;br /&gt;
 &lt;br /&gt;
Der erste Abschnitt ist die Broadcast-Anfrage des Clients. Danach folgt die Antwort des Servers, in der dieser dem Client eine IP-Adresse mitteilt. &lt;br /&gt;
&lt;br /&gt;
Anmerkung: Wer die Pakete mit ganzem Inhalt sehen möchte, kann für die Aufzeichnung auch ngrep verwenden. &lt;br /&gt;
&lt;br /&gt;
Nun sollte ein einfacher DHCP-Server laufen.&lt;br /&gt;
&lt;br /&gt;
===Der Server bekommt weitere Fähigkeiten===&lt;br /&gt;
Als Nächstes sollten die sinnvollen Standard-Angaben wieder aktiviert werden. Die Optionen, die nicht &amp;quot;ausgeklammert&amp;quot; sind, gelten als Vorgaben für alle späteren Angaben. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 # Wir haben unseren DHCP- nicht mit einem&lt;br /&gt;
 # DNS-Server kombiniert.&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1;&lt;br /&gt;
 # Unsere Domain und die Nameserver&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 # Wann müssen die Adressen, die wir verteilt haben,&lt;br /&gt;
 # erneuert werden? Die Laufzeit ist in Sekunden angegeben,&lt;br /&gt;
 # d.h. alle DHCP-Rechner sollten nach 10 min anfangen,&lt;br /&gt;
 # sich neue Adressen zu holen. Falls die Adresse innerhalb&lt;br /&gt;
 # von 2 Stunden nicht erneuert werden konnte, liegt&lt;br /&gt;
 # irgendein Fehler vor und der Client-Rechner sollte&lt;br /&gt;
 # seine IP-Adressen nicht mehr benutzen.&lt;br /&gt;
 &lt;br /&gt;
 authoritative;&lt;br /&gt;
 # Regelt, welcher DHCP-Server Priorität hat. :-)&lt;br /&gt;
 # Aktivieren, sobald wir fertig sind.&lt;br /&gt;
&lt;br /&gt;
Weiteres &lt;br /&gt;
&lt;br /&gt;
====Angabe ob ein DNS Update ausgeführt werden soll, wenn eine IP vergeben wurde====&lt;br /&gt;
 ddns-updates [on | off] &lt;br /&gt;
&lt;br /&gt;
====Angabe des Netbios-Nameservers====&lt;br /&gt;
 option netbios-name-servers   192.168.240.21;&lt;br /&gt;
&lt;br /&gt;
====Zuteilen einer IP aufgrund von MAC Adresse====&lt;br /&gt;
 host wutz {&lt;br /&gt;
         hardware ethernet        00:50:9c:1a:52:9f;&lt;br /&gt;
         fixed-address              192.168.254.252;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Schlüssel zum Update von dem DHCP Server an den DNS Server====&lt;br /&gt;
     key DHCP_UPDATER {&lt;br /&gt;
         algorithm HMAC-MD5.SIG-ALG.REG.INT;&lt;br /&gt;
         secret pRP5FapFoJ95JEL06sv4PQ==;&lt;br /&gt;
       };&lt;br /&gt;
&lt;br /&gt;
       zone EXAMPLE.ORG. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       zone 17.127.10.in-addr.arpa. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
primary gibt den Server an, dessen Zoneninformation aktualisiert werden soll. &lt;br /&gt;
Auf dem DNS Server sollte der Update vom DHCP Server erlaubt sein.&lt;br /&gt;
&lt;br /&gt;
Übergabe eines Bootloaders und Rootpfad mittels TFTP bei Netzwerkboot&lt;br /&gt;
 host xyz {&lt;br /&gt;
        ...&lt;br /&gt;
        filename                &amp;quot;/lts/2.6.9-ltsp-3/pxelinux.0&amp;quot;;&lt;br /&gt;
        option root-path        &amp;quot;192.168.254.25:/opt/ltsp/i386&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Weitere Möglichkeiten mit DHCP===&lt;br /&gt;
Es gibt globale Angaben, die von lokalen Angaben überschrieben werden können. &lt;br /&gt;
&lt;br /&gt;
Einige Optionen aus: &amp;quot;man dhcpd.conf&amp;quot; und &amp;quot;man dhcp-conf&amp;quot; (offizielle Optionen sind in RFC 2132 beschrieben): &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1, 192.168.0.2;&lt;br /&gt;
&lt;br /&gt;
Übertragung des Domain-Namens und der DNS-Server. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
     &lt;br /&gt;
 option routers 192.168.0.1;&lt;br /&gt;
     &lt;br /&gt;
Angabe des Default-Gateway.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*http://www.isc.org/products/DHCP/&lt;br /&gt;
*http://standards.ieee.org/regauth/oui/index.shtml&lt;br /&gt;
*http://www.phystech.com/download/dhcpcd.html &lt;br /&gt;
*http://www.rfc-editor.org/ - Bitte dort die Suchmaschine benutzen. &lt;br /&gt;
*http://www.linux-praxis.de/linux3/dhcp.html&lt;br /&gt;
*http://www.linux-fuer-alle.de/doc_show.php?docid=8&lt;br /&gt;
*http://www.linuxwiki.de/DHCP&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
↑ [[Linux-Kompendium|Inhaltsverzeichnis]] ↑&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=311</id>
		<title>Dynamic Host Configuration Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=311"/>
		<updated>2009-07-16T07:31:44Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* DHCP-Server (www.isc.org) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Automatisierung der TCP/IP-Netzwerkadministration lässt sich mit dem DHCP-Protokoll recht erfolgreich durchführen. In diesem Text werden die Grundzüge des Protokolls erklärt. Außerdem werden einige einfache Beispielkonfigurationen besprochen.&lt;br /&gt;
&lt;br /&gt;
__forcetoc__&lt;br /&gt;
&lt;br /&gt;
==DHCP==&lt;br /&gt;
&lt;br /&gt;
Über das Dynamic Host Configuration Protocol (DHCP) werden einem Client-Rechner alle nötigen Netzparameter übermittelt. &lt;br /&gt;
&lt;br /&gt;
Siehe DHCP RFC-2131 und andere. &lt;br /&gt;
&lt;br /&gt;
==Leistungsmerkmale==&lt;br /&gt;
&lt;br /&gt;
DHCP dient der einfachen Zuteilung von Netzwerkinformationen in lokalen TCP/IP-Netzen. Zu diesen Informationen gehören z.B. IP-Nummer, Domainname, Routing und DNS-Server. &lt;br /&gt;
&lt;br /&gt;
Bei Diskless-Workstations bilden DHCP oder BOOTP die Grundlage. &lt;br /&gt;
&lt;br /&gt;
==Kurzbeschreibung der Arbeitsweise==&lt;br /&gt;
Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.&lt;br /&gt;
Diese ist meistens in der Netzwerkhardware (Ethernet, FDDI, Firewire, Wireless LAN) programmiert. Bereiche für MAC-Adressen werden nach einem internationalen Standard von einem Gremium (siehe  http://standards.ieee.org/regauth/oui/index.shtml) an die Hersteller der Hardware vergeben. Diese wiederum teilen jedem Netzwerkport eine eindeutige MAC-Adresse zu. &lt;br /&gt;
&lt;br /&gt;
Mit der MAC-Adresse sendet der Rechner eine Rundfrage (Broadcast) ins Netz mit der Bitte, ihm eine Netzwerkkonfiguration mitzuteilen. &lt;br /&gt;
&lt;br /&gt;
Der DHCP-Server wartet auf solche Rundfragen und teilt dem anfragenden Rechner die entsprechenden Daten mit. &lt;br /&gt;
	&lt;br /&gt;
[[Image:Example.png]]&lt;br /&gt;
	&lt;br /&gt;
Außerdem speichert der Server sowohl die MAC-Adresse des Clients als auch die ihm zugeteilte IP-Adresse in einer Datei. (dhcp.leases) &lt;br /&gt;
&lt;br /&gt;
Diese IP-Adresse wird für eine bestimmte Laufzeit (Lease Time) für diesen Client reserviert. Nach einiger Zeit versucht der Client, seine Adresse beim Server zu erneuern (renewing). Gelingt ihm dies nicht, so fragt er etwas später alle Server nach seiner Adresse (rebinding). &lt;br /&gt;
&lt;br /&gt;
Wird seine Adresse auch nach dieser Anfrage nicht erneuert, muss er alle Netzwerkaktivitäten beenden. Allerdings darf er das DHCP-Protokoll neu beginnen.&lt;br /&gt;
&lt;br /&gt;
==Arten der Zuteilung von IP-Adressen==&lt;br /&gt;
===Feste IP-Adresse aufgrund der MAC-Adresse===&lt;br /&gt;
MAC-Adressen und IP-Adresse werden fest in die dhcpd.conf eingetragen. &lt;br /&gt;
Ausschnitt dhcpd.conf 	&lt;br /&gt;
&lt;br /&gt;
 host test{&lt;br /&gt;
   hardware ethernet 00:00:c0:5d:bd:95;&lt;br /&gt;
   fixed-address 192.168.0.121;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse, automatisch zugeteilt, mit Zeitbegrenzung===&lt;br /&gt;
Hierbei wird die IP-Adresse für eine unbegrenzte (schlecht) oder eine lange Laufzeit zugeteilt. &lt;br /&gt;
&lt;br /&gt;
Hier sollte man die Laufzeit (lease-time) auf einen höheren Wert setzen: &lt;br /&gt;
Ausschnitt dhcpd.conf file 	&lt;br /&gt;
     &lt;br /&gt;
 max-lease-time 432000;&lt;br /&gt;
 # 24*60*60*5 -&amp;gt; 5 Tage&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.32 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Dynamische Zuteilung===&lt;br /&gt;
Die Vorgehensweise ist hier dieselbe wie oben, allerdings wird die Laufzeit auf einen niedrigeren Wert gesetzt. &lt;br /&gt;
&lt;br /&gt;
==Konfiguration der Clients==&lt;br /&gt;
Heute sind die meisten Rechner mit Client-seitiger DHCP-Unterstützung vorkonfiguriert. Das DHCP-Protokoll vereinfacht die Netzwerkonfiguration erheblich. &lt;br /&gt;
&lt;br /&gt;
Beim Client müssen keinerlei rechnerspezifische Netzwerkeinstellungen mehr vorgenommen werden. Im Prinzip muss man den Rechnern nur mitteilen, dass DHCP verwendet werden soll. &lt;br /&gt;
&lt;br /&gt;
==='''DHCP-Client'''===&lt;br /&gt;
====Linux====&lt;br /&gt;
pump, dhcpclient, dhcpcd, dhclient. ....... &lt;br /&gt;
&lt;br /&gt;
Auch DHCP-Clients können umfangreich konfiguriert werden, siehe /etc/dhcpc/config im Paket dhcpcd. So kann man zum Beispiel verhindern, dass vom DHCP-Server Daten übernommen werden, die eine spezielle Netzwerkkonfiguration überschreiben würden.&lt;br /&gt;
&lt;br /&gt;
====BSD====&lt;br /&gt;
Ebenso wie Linux unterstützen auch BSD-Varianten DHCP als Client und Server. &lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Auch neuere Windows-Systeme bieten direkt nach der Installation DHCP-Unterstützung. &lt;br /&gt;
&lt;br /&gt;
====Mac====&lt;br /&gt;
Sofort nach der Installation ist die Unterstützung vorhanden, ob man will oder nicht.&lt;br /&gt;
&lt;br /&gt;
==DHCP-Server (www.isc.org)==&lt;br /&gt;
Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein. Bei Debian z.B. sieht sie folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
 root@linux # apt-get install dhcp3-server &lt;br /&gt;
&lt;br /&gt;
Bei Debian befindet sich nach der Installation die Konfigurationsdatei /etc/dhcp3/dhcpd.conf auf dem System. &lt;br /&gt;
&lt;br /&gt;
Die Datei ist gut kommentiert, und man sollte sie den eigenen Bedürfnissen anpassen (Domain-Name, IP-Adressen usw.) &lt;br /&gt;
&lt;br /&gt;
Falls man den Server in der Testphase nur von Hand starten möchte, sollte man die Links in den entsprechenden Runleveln löschen.&lt;br /&gt;
&lt;br /&gt;
Debian: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d -f dhcp3-server remove &lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
Nach der Testphase kann man diese wieder aktivieren, bei Debian z.B. folgendermaßen: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d dhcp3-server defaults &lt;br /&gt;
&lt;br /&gt;
==DHCP-Server handling==&lt;br /&gt;
Starten des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server start&lt;br /&gt;
 * Starting DHCP server dhcpd3 &lt;br /&gt;
Stoppen des DHCP-Servers&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server stop&lt;br /&gt;
 * Stopping DHCP server dhcpd3    &lt;br /&gt;
Kontrolle des DHCP-Servers &lt;br /&gt;
*Aktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
 2164&lt;br /&gt;
*Inaktiv&lt;br /&gt;
 root@linux # pgrep dhcpd3&lt;br /&gt;
*Status&lt;br /&gt;
 root@linux #/etc/init.d/dhcp3-server status&lt;br /&gt;
 Status of DHCP server: dhcpd3 is running.&lt;br /&gt;
*Anhand des Ports&lt;br /&gt;
 root@linux #/ netstat -lnup | grep &amp;quot;:67&amp;quot; &lt;br /&gt;
 udp    0  0 192.168.11.50:67   0.0.0.0:*   2671/dhcpd3  &lt;br /&gt;
Restarten des DHCP-Servers&lt;br /&gt;
 root@linux #	 /etc/init.d/dhcp3-server restart&lt;br /&gt;
 * Stopping DHCP server dhcpd3                                                                   [ OK ] &lt;br /&gt;
 * Starting DHCP server dhcpd3     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Eine erste Konfigurationsdatei===&lt;br /&gt;
Alles, was man nicht versteht, kommentiert man zunächst einmal aus. Ich habe das meiste der Übersichtlichkeit halber gelöscht. &lt;br /&gt;
&lt;br /&gt;
 minimal dhcp.conf file 	&lt;br /&gt;
      &lt;br /&gt;
 #&lt;br /&gt;
 # Beispielkonfigurationsdatei für ISC dhcpd3&lt;br /&gt;
 # Debian 3.0 Woody&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # Optionsdefinitionen für alle unterstützten&lt;br /&gt;
 # Netzwerke...&lt;br /&gt;
 # option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.31 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nun kann der DHCP-Server den DHCP-Clients zehn Adressen dynamisch zuweisen. &lt;br /&gt;
&lt;br /&gt;
===Testen des Servers===&lt;br /&gt;
Auf einem Debian-System sollte nochmals geprüft werden, ob in /etc/default/dhcp3-server das richtige Interface angegeben ist (z.B. eth0). &lt;br /&gt;
&lt;br /&gt;
Danach kann man zum Testen (Debuggen) übergehen. &lt;br /&gt;
&lt;br /&gt;
Starten des Servers: &lt;br /&gt;
&lt;br /&gt;
 root@linux # /etc/init.d/dhcp start &lt;br /&gt;
&lt;br /&gt;
bzw. &lt;br /&gt;
&lt;br /&gt;
 root@linux # /etc/init.d/dhcp3-server start &lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, mit tail -f /var/log/syslog den Startvorgang zu verfolgen, um zu sehen, ob der Server korrekt läuft. &amp;quot;ps ax&amp;quot; bzw. &amp;quot;pidof dhcpd3&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Der folgende Aufruf ist zum Debuggen besser geeignet: &lt;br /&gt;
&lt;br /&gt;
 root@linux # dhcpd3 -d -f &lt;br /&gt;
	&lt;br /&gt;
Bitte unbedingt die Fehlermeldungen beachten! &lt;br /&gt;
&lt;br /&gt;
Auch ein Blick in die Dateien unter /var/log lohnt sich! &lt;br /&gt;
&lt;br /&gt;
Wird auf einem zweitem Rechner, z.B.  Knoppix (Debian von CD), getestet, so verwendet man pump: &lt;br /&gt;
&lt;br /&gt;
 root@linux # pump -s &lt;br /&gt;
&lt;br /&gt;
Auf dem Server kann die Anfrage mit &lt;br /&gt;
&lt;br /&gt;
 root@linux # tcpdump -e &lt;br /&gt;
	&lt;br /&gt;
verfolgt werden. &lt;br /&gt;
&lt;br /&gt;
Dabei muss der Client eine Anfrage absetzen, die vom Server beantwortet wird. &lt;br /&gt;
&lt;br /&gt;
 tcpdump Ausgabe 	&lt;br /&gt;
     &lt;br /&gt;
 (ist leider eine lange Zeile mit \ getrennt)&lt;br /&gt;
 09:47:32.690249 0:48:54:12:4c:df Broadcast ip 342: \&lt;br /&gt;
 0.0.0.0.bootpc &amp;gt; 255.255.255.255.bootps:  \&lt;br /&gt;
 xid:0x1c97abed [|bootp] [tos 0x10]&lt;br /&gt;
 &lt;br /&gt;
 09:47:32.700021 8:0:46:49:60:8d 0:48:54:12:4c:df \&lt;br /&gt;
 ip 62: lapwoody.local.invalid &amp;gt; 192.168.0.40: \&lt;br /&gt;
 icmp: echo request (DF)&lt;br /&gt;
 &lt;br /&gt;
Der erste Abschnitt ist die Broadcast-Anfrage des Clients. Danach folgt die Antwort des Servers, in der dieser dem Client eine IP-Adresse mitteilt. &lt;br /&gt;
&lt;br /&gt;
Anmerkung: Wer die Pakete mit ganzem Inhalt sehen möchte, kann für die Aufzeichnung auch ngrep verwenden. &lt;br /&gt;
&lt;br /&gt;
Nun sollte ein einfacher DHCP-Server laufen. &lt;br /&gt;
&lt;br /&gt;
===Der Server bekommt weitere Fähigkeiten===&lt;br /&gt;
Als Nächstes sollten die sinnvollen Standard-Angaben wieder aktiviert werden. Die Optionen, die nicht &amp;quot;ausgeklammert&amp;quot; sind, gelten als Vorgaben für alle späteren Angaben. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 # Wir haben unseren DHCP- nicht mit einem&lt;br /&gt;
 # DNS-Server kombiniert.&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1;&lt;br /&gt;
 # Unsere Domain und die Nameserver&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 # Wann müssen die Adressen, die wir verteilt haben,&lt;br /&gt;
 # erneuert werden? Die Laufzeit ist in Sekunden angegeben,&lt;br /&gt;
 # d.h. alle DHCP-Rechner sollten nach 10 min anfangen,&lt;br /&gt;
 # sich neue Adressen zu holen. Falls die Adresse innerhalb&lt;br /&gt;
 # von 2 Stunden nicht erneuert werden konnte, liegt&lt;br /&gt;
 # irgendein Fehler vor und der Client-Rechner sollte&lt;br /&gt;
 # seine IP-Adressen nicht mehr benutzen.&lt;br /&gt;
 &lt;br /&gt;
 authoritative;&lt;br /&gt;
 # Regelt, welcher DHCP-Server Priorität hat. :-)&lt;br /&gt;
 # Aktivieren, sobald wir fertig sind.&lt;br /&gt;
&lt;br /&gt;
Weiteres &lt;br /&gt;
&lt;br /&gt;
====Angabe ob ein DNS Update ausgeführt werden soll, wenn eine IP vergeben wurde====&lt;br /&gt;
 ddns-updates [on | off] &lt;br /&gt;
&lt;br /&gt;
====Angabe des Netbios-Nameservers====&lt;br /&gt;
 option netbios-name-servers   192.168.240.21;&lt;br /&gt;
&lt;br /&gt;
====Zuteilen einer IP aufgrund von MAC Adresse====&lt;br /&gt;
 host wutz {&lt;br /&gt;
         hardware ethernet        00:50:9c:1a:52:9f;&lt;br /&gt;
         fixed-address              192.168.254.252;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Schlüssel zum Update von dem DHCP Server an den DNS Server====&lt;br /&gt;
     key DHCP_UPDATER {&lt;br /&gt;
         algorithm HMAC-MD5.SIG-ALG.REG.INT;&lt;br /&gt;
         secret pRP5FapFoJ95JEL06sv4PQ==;&lt;br /&gt;
       };&lt;br /&gt;
&lt;br /&gt;
       zone EXAMPLE.ORG. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       zone 17.127.10.in-addr.arpa. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
primary gibt den Server an, dessen Zoneninformation aktualisiert werden soll. &lt;br /&gt;
Auf dem DNS Server sollte der Update vom DHCP Server erlaubt sein.&lt;br /&gt;
&lt;br /&gt;
Übergabe eines Bootloaders und Rootpfad mittels TFTP bei Netzwerkboot&lt;br /&gt;
 host xyz {&lt;br /&gt;
        ...&lt;br /&gt;
        filename                &amp;quot;/lts/2.6.9-ltsp-3/pxelinux.0&amp;quot;;&lt;br /&gt;
        option root-path        &amp;quot;192.168.254.25:/opt/ltsp/i386&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Weitere Möglichkeiten mit DHCP===&lt;br /&gt;
Es gibt globale Angaben, die von lokalen Angaben überschrieben werden können. &lt;br /&gt;
&lt;br /&gt;
Einige Optionen aus: &amp;quot;man dhcpd.conf&amp;quot; und &amp;quot;man dhcp-conf&amp;quot; (offizielle Optionen sind in RFC 2132 beschrieben): &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1, 192.168.0.2;&lt;br /&gt;
&lt;br /&gt;
Übertragung des Domain-Namens und der DNS-Server. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
     &lt;br /&gt;
 option routers 192.168.0.1;&lt;br /&gt;
     &lt;br /&gt;
Angabe des Default-Gateway.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*http://www.isc.org/products/DHCP/&lt;br /&gt;
*http://standards.ieee.org/regauth/oui/index.shtml&lt;br /&gt;
*http://www.phystech.com/download/dhcpcd.html &lt;br /&gt;
*http://www.rfc-editor.org/ - Bitte dort die Suchmaschine benutzen. &lt;br /&gt;
*http://www.linux-praxis.de/linux3/dhcp.html&lt;br /&gt;
*http://www.linux-fuer-alle.de/doc_show.php?docid=8&lt;br /&gt;
*http://www.linuxwiki.de/DHCP&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
↑ [[Linux-Kompendium|Inhaltsverzeichnis]] ↑&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=310</id>
		<title>Dynamic Host Configuration Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=310"/>
		<updated>2009-07-16T07:20:08Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Automatisierung der TCP/IP-Netzwerkadministration lässt sich mit dem DHCP-Protokoll recht erfolgreich durchführen. In diesem Text werden die Grundzüge des Protokolls erklärt. Außerdem werden einige einfache Beispielkonfigurationen besprochen.&lt;br /&gt;
&lt;br /&gt;
__forcetoc__&lt;br /&gt;
&lt;br /&gt;
==DHCP==&lt;br /&gt;
&lt;br /&gt;
Über das Dynamic Host Configuration Protocol (DHCP) werden einem Client-Rechner alle nötigen Netzparameter übermittelt. &lt;br /&gt;
&lt;br /&gt;
Siehe DHCP RFC-2131 und andere. &lt;br /&gt;
&lt;br /&gt;
==Leistungsmerkmale==&lt;br /&gt;
&lt;br /&gt;
DHCP dient der einfachen Zuteilung von Netzwerkinformationen in lokalen TCP/IP-Netzen. Zu diesen Informationen gehören z.B. IP-Nummer, Domainname, Routing und DNS-Server. &lt;br /&gt;
&lt;br /&gt;
Bei Diskless-Workstations bilden DHCP oder BOOTP die Grundlage. &lt;br /&gt;
&lt;br /&gt;
==Kurzbeschreibung der Arbeitsweise==&lt;br /&gt;
Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.&lt;br /&gt;
Diese ist meistens in der Netzwerkhardware (Ethernet, FDDI, Firewire, Wireless LAN) programmiert. Bereiche für MAC-Adressen werden nach einem internationalen Standard von einem Gremium (siehe  http://standards.ieee.org/regauth/oui/index.shtml) an die Hersteller der Hardware vergeben. Diese wiederum teilen jedem Netzwerkport eine eindeutige MAC-Adresse zu. &lt;br /&gt;
&lt;br /&gt;
Mit der MAC-Adresse sendet der Rechner eine Rundfrage (Broadcast) ins Netz mit der Bitte, ihm eine Netzwerkkonfiguration mitzuteilen. &lt;br /&gt;
&lt;br /&gt;
Der DHCP-Server wartet auf solche Rundfragen und teilt dem anfragenden Rechner die entsprechenden Daten mit. &lt;br /&gt;
	&lt;br /&gt;
[[Image:Example.png]]&lt;br /&gt;
	&lt;br /&gt;
Außerdem speichert der Server sowohl die MAC-Adresse des Clients als auch die ihm zugeteilte IP-Adresse in einer Datei. (dhcp.leases) &lt;br /&gt;
&lt;br /&gt;
Diese IP-Adresse wird für eine bestimmte Laufzeit (Lease Time) für diesen Client reserviert. Nach einiger Zeit versucht der Client, seine Adresse beim Server zu erneuern (renewing). Gelingt ihm dies nicht, so fragt er etwas später alle Server nach seiner Adresse (rebinding). &lt;br /&gt;
&lt;br /&gt;
Wird seine Adresse auch nach dieser Anfrage nicht erneuert, muss er alle Netzwerkaktivitäten beenden. Allerdings darf er das DHCP-Protokoll neu beginnen.&lt;br /&gt;
&lt;br /&gt;
==Arten der Zuteilung von IP-Adressen==&lt;br /&gt;
===Feste IP-Adresse aufgrund der MAC-Adresse===&lt;br /&gt;
MAC-Adressen und IP-Adresse werden fest in die dhcpd.conf eingetragen. &lt;br /&gt;
Ausschnitt dhcpd.conf 	&lt;br /&gt;
&lt;br /&gt;
 host test{&lt;br /&gt;
   hardware ethernet 00:00:c0:5d:bd:95;&lt;br /&gt;
   fixed-address 192.168.0.121;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse, automatisch zugeteilt, mit Zeitbegrenzung===&lt;br /&gt;
Hierbei wird die IP-Adresse für eine unbegrenzte (schlecht) oder eine lange Laufzeit zugeteilt. &lt;br /&gt;
&lt;br /&gt;
Hier sollte man die Laufzeit (lease-time) auf einen höheren Wert setzen: &lt;br /&gt;
Ausschnitt dhcpd.conf file 	&lt;br /&gt;
     &lt;br /&gt;
 max-lease-time 432000;&lt;br /&gt;
 # 24*60*60*5 -&amp;gt; 5 Tage&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.32 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Dynamische Zuteilung===&lt;br /&gt;
Die Vorgehensweise ist hier dieselbe wie oben, allerdings wird die Laufzeit auf einen niedrigeren Wert gesetzt. &lt;br /&gt;
&lt;br /&gt;
==Konfiguration der Clients==&lt;br /&gt;
Heute sind die meisten Rechner mit Client-seitiger DHCP-Unterstützung vorkonfiguriert. Das DHCP-Protokoll vereinfacht die Netzwerkonfiguration erheblich. &lt;br /&gt;
&lt;br /&gt;
Beim Client müssen keinerlei rechnerspezifische Netzwerkeinstellungen mehr vorgenommen werden. Im Prinzip muss man den Rechnern nur mitteilen, dass DHCP verwendet werden soll. &lt;br /&gt;
&lt;br /&gt;
==='''DHCP-Client'''===&lt;br /&gt;
====Linux====&lt;br /&gt;
pump, dhcpclient, dhcpcd, dhclient. ....... &lt;br /&gt;
&lt;br /&gt;
Auch DHCP-Clients können umfangreich konfiguriert werden, siehe /etc/dhcpc/config im Paket dhcpcd. So kann man zum Beispiel verhindern, dass vom DHCP-Server Daten übernommen werden, die eine spezielle Netzwerkkonfiguration überschreiben würden.&lt;br /&gt;
&lt;br /&gt;
====BSD====&lt;br /&gt;
Ebenso wie Linux unterstützen auch BSD-Varianten DHCP als Client und Server. &lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Auch neuere Windows-Systeme bieten direkt nach der Installation DHCP-Unterstützung. &lt;br /&gt;
&lt;br /&gt;
====Mac====&lt;br /&gt;
Sofort nach der Installation ist die Unterstützung vorhanden, ob man will oder nicht.&lt;br /&gt;
&lt;br /&gt;
==DHCP-Server (www.isc.org)==&lt;br /&gt;
Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein. Bei Debian z.B. sieht sie folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
 root@linux # apt-get install dhcp3-server &lt;br /&gt;
&lt;br /&gt;
Bei Debian befindet sich nach der Installation die Konfigurationsdatei /etc/dhcp3/dhcpd.conf auf dem System. &lt;br /&gt;
&lt;br /&gt;
Die Datei ist gut kommentiert, und man sollte sie den eigenen Bedürfnissen anpassen (Domain-Name, IP-Adressen usw.) &lt;br /&gt;
&lt;br /&gt;
Falls man den Server in der Testphase nur von Hand starten möchte, sollte man die Links in den entsprechenden Runleveln löschen.&lt;br /&gt;
&lt;br /&gt;
Debian: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d -f dhcp3-server remove &lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
Nach der Testphase kann man diese wieder aktivieren, bei Debian z.B. folgendermaßen: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d dhcp3-server defaults &lt;br /&gt;
	&lt;br /&gt;
===Eine erste Konfigurationsdatei===&lt;br /&gt;
Alles, was man nicht versteht, kommentiert man zunächst einmal aus. Ich habe das meiste der Übersichtlichkeit halber gelöscht. &lt;br /&gt;
&lt;br /&gt;
 minimal dhcp.conf file 	&lt;br /&gt;
      &lt;br /&gt;
 #&lt;br /&gt;
 # Beispielkonfigurationsdatei für ISC dhcpd3&lt;br /&gt;
 # Debian 3.0 Woody&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # Optionsdefinitionen für alle unterstützten&lt;br /&gt;
 # Netzwerke...&lt;br /&gt;
 # option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.31 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nun kann der DHCP-Server den DHCP-Clients zehn Adressen dynamisch zuweisen. &lt;br /&gt;
&lt;br /&gt;
===Testen des Servers===&lt;br /&gt;
Auf einem Debian-System sollte nochmals geprüft werden, ob in /etc/default/dhcp3-server das richtige Interface angegeben ist (z.B. eth0). &lt;br /&gt;
&lt;br /&gt;
Danach kann man zum Testen (Debuggen) übergehen. &lt;br /&gt;
&lt;br /&gt;
Starten des Servers: &lt;br /&gt;
&lt;br /&gt;
 root@linux # /etc/init.d/dhcp start &lt;br /&gt;
&lt;br /&gt;
bzw. &lt;br /&gt;
&lt;br /&gt;
 root@linux # /etc/init.d/dhcp3-server start &lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, mit tail -f /var/log/syslog den Startvorgang zu verfolgen, um zu sehen, ob der Server korrekt läuft. &amp;quot;ps ax&amp;quot; bzw. &amp;quot;pidof dhcpd3&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Der folgende Aufruf ist zum Debuggen besser geeignet: &lt;br /&gt;
&lt;br /&gt;
 root@linux # dhcpd3 -d -f &lt;br /&gt;
	&lt;br /&gt;
Bitte unbedingt die Fehlermeldungen beachten! &lt;br /&gt;
&lt;br /&gt;
Auch ein Blick in die Dateien unter /var/log lohnt sich! &lt;br /&gt;
&lt;br /&gt;
Wird auf einem zweitem Rechner, z.B.  Knoppix (Debian von CD), getestet, so verwendet man pump: &lt;br /&gt;
&lt;br /&gt;
 root@linux # pump -s &lt;br /&gt;
&lt;br /&gt;
Auf dem Server kann die Anfrage mit &lt;br /&gt;
&lt;br /&gt;
 root@linux # tcpdump -e &lt;br /&gt;
	&lt;br /&gt;
verfolgt werden. &lt;br /&gt;
&lt;br /&gt;
Dabei muss der Client eine Anfrage absetzen, die vom Server beantwortet wird. &lt;br /&gt;
&lt;br /&gt;
 tcpdump Ausgabe 	&lt;br /&gt;
     &lt;br /&gt;
 (ist leider eine lange Zeile mit \ getrennt)&lt;br /&gt;
 09:47:32.690249 0:48:54:12:4c:df Broadcast ip 342: \&lt;br /&gt;
 0.0.0.0.bootpc &amp;gt; 255.255.255.255.bootps:  \&lt;br /&gt;
 xid:0x1c97abed [|bootp] [tos 0x10]&lt;br /&gt;
 &lt;br /&gt;
 09:47:32.700021 8:0:46:49:60:8d 0:48:54:12:4c:df \&lt;br /&gt;
 ip 62: lapwoody.local.invalid &amp;gt; 192.168.0.40: \&lt;br /&gt;
 icmp: echo request (DF)&lt;br /&gt;
 &lt;br /&gt;
Der erste Abschnitt ist die Broadcast-Anfrage des Clients. Danach folgt die Antwort des Servers, in der dieser dem Client eine IP-Adresse mitteilt. &lt;br /&gt;
&lt;br /&gt;
Anmerkung: Wer die Pakete mit ganzem Inhalt sehen möchte, kann für die Aufzeichnung auch ngrep verwenden. &lt;br /&gt;
&lt;br /&gt;
Nun sollte ein einfacher DHCP-Server laufen. &lt;br /&gt;
&lt;br /&gt;
===Der Server bekommt weitere Fähigkeiten===&lt;br /&gt;
Als Nächstes sollten die sinnvollen Standard-Angaben wieder aktiviert werden. Die Optionen, die nicht &amp;quot;ausgeklammert&amp;quot; sind, gelten als Vorgaben für alle späteren Angaben. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 # Wir haben unseren DHCP- nicht mit einem&lt;br /&gt;
 # DNS-Server kombiniert.&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1;&lt;br /&gt;
 # Unsere Domain und die Nameserver&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 # Wann müssen die Adressen, die wir verteilt haben,&lt;br /&gt;
 # erneuert werden? Die Laufzeit ist in Sekunden angegeben,&lt;br /&gt;
 # d.h. alle DHCP-Rechner sollten nach 10 min anfangen,&lt;br /&gt;
 # sich neue Adressen zu holen. Falls die Adresse innerhalb&lt;br /&gt;
 # von 2 Stunden nicht erneuert werden konnte, liegt&lt;br /&gt;
 # irgendein Fehler vor und der Client-Rechner sollte&lt;br /&gt;
 # seine IP-Adressen nicht mehr benutzen.&lt;br /&gt;
 &lt;br /&gt;
 authoritative;&lt;br /&gt;
 # Regelt, welcher DHCP-Server Priorität hat. :-)&lt;br /&gt;
 # Aktivieren, sobald wir fertig sind.&lt;br /&gt;
&lt;br /&gt;
Weiteres &lt;br /&gt;
&lt;br /&gt;
====Angabe ob ein DNS Update ausgeführt werden soll, wenn eine IP vergeben wurde====&lt;br /&gt;
 ddns-updates [on | off] &lt;br /&gt;
&lt;br /&gt;
====Angabe des Netbios-Nameservers====&lt;br /&gt;
 option netbios-name-servers   192.168.240.21;&lt;br /&gt;
&lt;br /&gt;
====Zuteilen einer IP aufgrund von MAC Adresse====&lt;br /&gt;
 host wutz {&lt;br /&gt;
         hardware ethernet        00:50:9c:1a:52:9f;&lt;br /&gt;
         fixed-address              192.168.254.252;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Schlüssel zum Update von dem DHCP Server an den DNS Server====&lt;br /&gt;
     key DHCP_UPDATER {&lt;br /&gt;
         algorithm HMAC-MD5.SIG-ALG.REG.INT;&lt;br /&gt;
         secret pRP5FapFoJ95JEL06sv4PQ==;&lt;br /&gt;
       };&lt;br /&gt;
&lt;br /&gt;
       zone EXAMPLE.ORG. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       zone 17.127.10.in-addr.arpa. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
primary gibt den Server an, dessen Zoneninformation aktualisiert werden soll. &lt;br /&gt;
Auf dem DNS Server sollte der Update vom DHCP Server erlaubt sein.&lt;br /&gt;
&lt;br /&gt;
Übergabe eines Bootloaders und Rootpfad mittels TFTP bei Netzwerkboot&lt;br /&gt;
 host xyz {&lt;br /&gt;
        ...&lt;br /&gt;
        filename                &amp;quot;/lts/2.6.9-ltsp-3/pxelinux.0&amp;quot;;&lt;br /&gt;
        option root-path        &amp;quot;192.168.254.25:/opt/ltsp/i386&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Weitere Möglichkeiten mit DHCP===&lt;br /&gt;
Es gibt globale Angaben, die von lokalen Angaben überschrieben werden können. &lt;br /&gt;
&lt;br /&gt;
Einige Optionen aus: &amp;quot;man dhcpd.conf&amp;quot; und &amp;quot;man dhcp-conf&amp;quot; (offizielle Optionen sind in RFC 2132 beschrieben): &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1, 192.168.0.2;&lt;br /&gt;
&lt;br /&gt;
Übertragung des Domain-Namens und der DNS-Server. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
     &lt;br /&gt;
 option routers 192.168.0.1;&lt;br /&gt;
     &lt;br /&gt;
Angabe des Default-Gateway.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*http://www.isc.org/products/DHCP/&lt;br /&gt;
*http://standards.ieee.org/regauth/oui/index.shtml&lt;br /&gt;
*http://www.phystech.com/download/dhcpcd.html &lt;br /&gt;
*http://www.rfc-editor.org/ - Bitte dort die Suchmaschine benutzen. &lt;br /&gt;
*http://www.linux-praxis.de/linux3/dhcp.html&lt;br /&gt;
*http://www.linux-fuer-alle.de/doc_show.php?docid=8&lt;br /&gt;
*http://www.linuxwiki.de/DHCP&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
↑ [[Linux-Kompendium|Inhaltsverzeichnis]] ↑&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=309</id>
		<title>Dynamic Host Configuration Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=309"/>
		<updated>2009-07-16T07:10:57Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Feste IP-Adresse, automatisch zugeteilt, mit Zeitbegrenzung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Automatisierung der TCP/IP-Netzwerkadministration lässt sich mit dem DHCP-Protokoll recht erfolgreich durchführen. In diesem Text werden die Grundzüge des Protokolls erklärt. Außerdem werden einige einfache Beispielkonfigurationen besprochen.&lt;br /&gt;
&lt;br /&gt;
__forcetoc__&lt;br /&gt;
&lt;br /&gt;
==DHCP==&lt;br /&gt;
&lt;br /&gt;
Über das Dynamic Host Configuration Protocol (DHCP) werden einem Client-Rechner alle nötigen Netzparameter übermittelt. &lt;br /&gt;
&lt;br /&gt;
Siehe DHCP RFC-2131 und andere. &lt;br /&gt;
&lt;br /&gt;
==Leistungsmerkmale==&lt;br /&gt;
&lt;br /&gt;
DHCP dient der einfachen Zuteilung von Netzwerkinformationen in lokalen TCP/IP-Netzen. Zu diesen Informationen gehören z.B. IP-Nummer, Domainname, Routing und DNS-Server. &lt;br /&gt;
&lt;br /&gt;
Bei Diskless-Workstations bilden DHCP oder BOOTP die Grundlage. &lt;br /&gt;
&lt;br /&gt;
==Kurzbeschreibung der Arbeitsweise==&lt;br /&gt;
Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.&lt;br /&gt;
Diese ist meistens in der Netzwerkhardware (Ethernet, FDDI, Firewire, Wireless LAN) programmiert. Bereiche für MAC-Adressen werden nach einem internationalen Standard von einem Gremium (siehe  http://standards.ieee.org/regauth/oui/index.shtml) an die Hersteller der Hardware vergeben. Diese wiederum teilen jedem Netzwerkport eine eindeutige MAC-Adresse zu. &lt;br /&gt;
&lt;br /&gt;
Mit der MAC-Adresse sendet der Rechner eine Rundfrage (Broadcast) ins Netz mit der Bitte, ihm eine Netzwerkkonfiguration mitzuteilen. &lt;br /&gt;
&lt;br /&gt;
Der DHCP-Server wartet auf solche Rundfragen und teilt dem anfragenden Rechner die entsprechenden Daten mit. &lt;br /&gt;
	&lt;br /&gt;
[[Image:Example.png]]&lt;br /&gt;
	&lt;br /&gt;
Außerdem speichert der Server sowohl die MAC-Adresse des Clients als auch die ihm zugeteilte IP-Adresse in einer Datei. (dhcp.leases) &lt;br /&gt;
&lt;br /&gt;
Diese IP-Adresse wird für eine bestimmte Laufzeit (Lease Time) für diesen Client reserviert. Nach einiger Zeit versucht der Client, seine Adresse beim Server zu erneuern (renewing). Gelingt ihm dies nicht, so fragt er etwas später alle Server nach seiner Adresse (rebinding). &lt;br /&gt;
&lt;br /&gt;
Wird seine Adresse auch nach dieser Anfrage nicht erneuert, muss er alle Netzwerkaktivitäten beenden. Allerdings darf er das DHCP-Protokoll neu beginnen.&lt;br /&gt;
&lt;br /&gt;
==Arten der Zuteilung von IP-Adressen==&lt;br /&gt;
===Feste IP-Adresse aufgrund der MAC-Adresse===&lt;br /&gt;
MAC-Adressen und IP-Adresse werden fest in die dhcpd.conf eingetragen. &lt;br /&gt;
Ausschnitt dhcpd.conf 	&lt;br /&gt;
&lt;br /&gt;
 host test{&lt;br /&gt;
   hardware ethernet 00:00:c0:5d:bd:95;&lt;br /&gt;
   fixed-address 192.168.0.121;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse, automatisch zugeteilt, mit Zeitbegrenzung===&lt;br /&gt;
Hierbei wird die IP-Adresse für eine unbegrenzte (schlecht) oder eine lange Laufzeit zugeteilt. &lt;br /&gt;
&lt;br /&gt;
Hier sollte man die Laufzeit (lease-time) auf einen höheren Wert setzen: &lt;br /&gt;
Ausschnitt dhcpd.conf file 	&lt;br /&gt;
     &lt;br /&gt;
 max-lease-time 432000;&lt;br /&gt;
 # 24*60*60*5 -&amp;gt; 5 Tage&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.32 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Dynamische Zuteilung===&lt;br /&gt;
Die Vorgehensweise ist hier dieselbe wie oben, allerdings wird die Laufzeit auf einen niedrigeren Wert gesetzt. &lt;br /&gt;
&lt;br /&gt;
==Konfiguration der Clients==&lt;br /&gt;
Heute sind die meisten Rechner mit Client-seitiger DHCP-Unterstützung vorkonfiguriert. Das DHCP-Protokoll vereinfacht die Netzwerkonfiguration erheblich. &lt;br /&gt;
&lt;br /&gt;
Beim Client müssen keinerlei rechnerspezifische Netzwerkeinstellungen mehr vorgenommen werden. Im Prinzip muss man den Rechnern nur mitteilen, dass DHCP verwendet werden soll. &lt;br /&gt;
&lt;br /&gt;
==='''DHCP-Client'''===&lt;br /&gt;
====Linux====&lt;br /&gt;
pump, dhcpclient, dhcpcd, dhclient. ....... &lt;br /&gt;
&lt;br /&gt;
Auch DHCP-Clients können umfangreich konfiguriert werden, siehe /etc/dhcpc/config im Paket dhcpcd. So kann man zum Beispiel verhindern, dass vom DHCP-Server Daten übernommen werden, die eine spezielle Netzwerkkonfiguration überschreiben würden&lt;br /&gt;
vcbnbvcn&lt;br /&gt;
&lt;br /&gt;
====BSD====&lt;br /&gt;
Ebenso wie Linux unterstützen auch BSD-Varianten DHCP als Client und Server. &lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Auch neuere Windows-Systeme bieten direkt nach der Installation DHCP-Unterstützung. &lt;br /&gt;
&lt;br /&gt;
====Mac====&lt;br /&gt;
Sofort nach der Installation ist die Unterstützung vorhanden, ob man will oder nicht.&lt;br /&gt;
&lt;br /&gt;
==DHCP-Server (www.isc.org)==&lt;br /&gt;
Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein. Bei Debian z.B. sieht sie folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
 root@linux # apt-get install dhcp3-server &lt;br /&gt;
&lt;br /&gt;
Bei Debian befindet sich nach der Installation die Konfigurationsdatei /etc/dhcp3/dhcpd.conf auf dem System. &lt;br /&gt;
&lt;br /&gt;
Die Datei ist gut kommentiert, und man sollte sie den eigenen Bedürfnissen anpassen (Domain-Name, IP-Adressen usw.) &lt;br /&gt;
&lt;br /&gt;
Falls man den Server in der Testphase nur von Hand starten möchte, sollte man die Links in den entsprechenden Runleveln löschen.&lt;br /&gt;
&lt;br /&gt;
Debian: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d -f dhcp3-server remove &lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
Nach der Testphase kann man diese wieder aktivieren, bei Debian z.B. folgendermaßen: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d dhcp3-server defaults &lt;br /&gt;
	&lt;br /&gt;
===Eine erste Konfigurationsdatei===&lt;br /&gt;
Alles, was man nicht versteht, kommentiert man zunächst einmal aus. Ich habe das meiste der Übersichtlichkeit halber gelöscht. &lt;br /&gt;
&lt;br /&gt;
 minimal dhcp.conf file 	&lt;br /&gt;
      &lt;br /&gt;
 #&lt;br /&gt;
 # Beispielkonfigurationsdatei für ISC dhcpd3&lt;br /&gt;
 # Debian 3.0 Woody&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # Optionsdefinitionen für alle unterstützten&lt;br /&gt;
 # Netzwerke...&lt;br /&gt;
 # option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.31 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nun kann der DHCP-Server den DHCP-Clients zehn Adressen dynamisch zuweisen. &lt;br /&gt;
&lt;br /&gt;
===Testen des Servers===&lt;br /&gt;
Auf einem Debian-System sollte nochmals geprüft werden, ob in /etc/default/dhcp3-server das richtige Interface angegeben ist (z.B. eth0). &lt;br /&gt;
&lt;br /&gt;
Danach kann man zum Testen (Debuggen) übergehen. &lt;br /&gt;
&lt;br /&gt;
Starten des Servers: &lt;br /&gt;
&lt;br /&gt;
 root@linux # /etc/init.d/dhcp start &lt;br /&gt;
&lt;br /&gt;
bzw. &lt;br /&gt;
&lt;br /&gt;
 root@linux # /etc/init.d/dhcp3-server start &lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, mit tail -f /var/log/syslog den Startvorgang zu verfolgen, um zu sehen, ob der Server korrekt läuft. &amp;quot;ps ax&amp;quot; bzw. &amp;quot;pidof dhcpd3&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Der folgende Aufruf ist zum Debuggen besser geeignet: &lt;br /&gt;
&lt;br /&gt;
 root@linux # dhcpd3 -d -f &lt;br /&gt;
	&lt;br /&gt;
Bitte unbedingt die Fehlermeldungen beachten! &lt;br /&gt;
&lt;br /&gt;
Auch ein Blick in die Dateien unter /var/log lohnt sich! &lt;br /&gt;
&lt;br /&gt;
Wird auf einem zweitem Rechner, z.B.  Knoppix (Debian von CD), getestet, so verwendet man pump: &lt;br /&gt;
&lt;br /&gt;
 root@linux # pump -s &lt;br /&gt;
&lt;br /&gt;
Auf dem Server kann die Anfrage mit &lt;br /&gt;
&lt;br /&gt;
 root@linux # tcpdump -e &lt;br /&gt;
	&lt;br /&gt;
verfolgt werden. &lt;br /&gt;
&lt;br /&gt;
Dabei muss der Client eine Anfrage absetzen, die vom Server beantwortet wird. &lt;br /&gt;
&lt;br /&gt;
 tcpdump Ausgabe 	&lt;br /&gt;
     &lt;br /&gt;
 (ist leider eine lange Zeile mit \ getrennt)&lt;br /&gt;
 09:47:32.690249 0:48:54:12:4c:df Broadcast ip 342: \&lt;br /&gt;
 0.0.0.0.bootpc &amp;gt; 255.255.255.255.bootps:  \&lt;br /&gt;
 xid:0x1c97abed [|bootp] [tos 0x10]&lt;br /&gt;
 &lt;br /&gt;
 09:47:32.700021 8:0:46:49:60:8d 0:48:54:12:4c:df \&lt;br /&gt;
 ip 62: lapwoody.local.invalid &amp;gt; 192.168.0.40: \&lt;br /&gt;
 icmp: echo request (DF)&lt;br /&gt;
 &lt;br /&gt;
Der erste Abschnitt ist die Broadcast-Anfrage des Clients. Danach folgt die Antwort des Servers, in der dieser dem Client eine IP-Adresse mitteilt. &lt;br /&gt;
&lt;br /&gt;
Anmerkung: Wer die Pakete mit ganzem Inhalt sehen möchte, kann für die Aufzeichnung auch ngrep verwenden. &lt;br /&gt;
&lt;br /&gt;
Nun sollte ein einfacher DHCP-Server laufen. &lt;br /&gt;
&lt;br /&gt;
===Der Server bekommt weitere Fähigkeiten===&lt;br /&gt;
Als Nächstes sollten die sinnvollen Standard-Angaben wieder aktiviert werden. Die Optionen, die nicht &amp;quot;ausgeklammert&amp;quot; sind, gelten als Vorgaben für alle späteren Angaben. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 # Wir haben unseren DHCP- nicht mit einem&lt;br /&gt;
 # DNS-Server kombiniert.&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1;&lt;br /&gt;
 # Unsere Domain und die Nameserver&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 # Wann müssen die Adressen, die wir verteilt haben,&lt;br /&gt;
 # erneuert werden? Die Laufzeit ist in Sekunden angegeben,&lt;br /&gt;
 # d.h. alle DHCP-Rechner sollten nach 10 min anfangen,&lt;br /&gt;
 # sich neue Adressen zu holen. Falls die Adresse innerhalb&lt;br /&gt;
 # von 2 Stunden nicht erneuert werden konnte, liegt&lt;br /&gt;
 # irgendein Fehler vor und der Client-Rechner sollte&lt;br /&gt;
 # seine IP-Adressen nicht mehr benutzen.&lt;br /&gt;
 &lt;br /&gt;
 authoritative;&lt;br /&gt;
 # Regelt, welcher DHCP-Server Priorität hat. :-)&lt;br /&gt;
 # Aktivieren, sobald wir fertig sind.&lt;br /&gt;
&lt;br /&gt;
Weiteres &lt;br /&gt;
&lt;br /&gt;
====Angabe ob ein DNS Update ausgeführt werden soll, wenn eine IP vergeben wurde====&lt;br /&gt;
 ddns-updates [on | off] &lt;br /&gt;
&lt;br /&gt;
====Angabe des Netbios-Nameservers====&lt;br /&gt;
 option netbios-name-servers   192.168.240.21;&lt;br /&gt;
&lt;br /&gt;
====Zuteilen einer IP aufgrund von MAC Adresse====&lt;br /&gt;
 host wutz {&lt;br /&gt;
         hardware ethernet        00:50:9c:1a:52:9f;&lt;br /&gt;
         fixed-address              192.168.254.252;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Schlüssel zum Update von dem DHCP Server an den DNS Server====&lt;br /&gt;
     key DHCP_UPDATER {&lt;br /&gt;
         algorithm HMAC-MD5.SIG-ALG.REG.INT;&lt;br /&gt;
         secret pRP5FapFoJ95JEL06sv4PQ==;&lt;br /&gt;
       };&lt;br /&gt;
&lt;br /&gt;
       zone EXAMPLE.ORG. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       zone 17.127.10.in-addr.arpa. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
primary gibt den Server an, dessen Zoneninformation aktualisiert werden soll. &lt;br /&gt;
Auf dem DNS Server sollte der Update vom DHCP Server erlaubt sein.&lt;br /&gt;
&lt;br /&gt;
Übergabe eines Bootloaders und Rootpfad mittels TFTP bei Netzwerkboot&lt;br /&gt;
 host xyz {&lt;br /&gt;
        ...&lt;br /&gt;
        filename                &amp;quot;/lts/2.6.9-ltsp-3/pxelinux.0&amp;quot;;&lt;br /&gt;
        option root-path        &amp;quot;192.168.254.25:/opt/ltsp/i386&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Weitere Möglichkeiten mit DHCP===&lt;br /&gt;
Es gibt globale Angaben, die von lokalen Angaben überschrieben werden können. &lt;br /&gt;
&lt;br /&gt;
Einige Optionen aus: &amp;quot;man dhcpd.conf&amp;quot; und &amp;quot;man dhcp-conf&amp;quot; (offizielle Optionen sind in RFC 2132 beschrieben): &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1, 192.168.0.2;&lt;br /&gt;
&lt;br /&gt;
Übertragung des Domain-Namens und der DNS-Server. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
     &lt;br /&gt;
 option routers 192.168.0.1;&lt;br /&gt;
     &lt;br /&gt;
Angabe des Default-Gateway.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*http://www.isc.org/products/DHCP/&lt;br /&gt;
*http://standards.ieee.org/regauth/oui/index.shtml&lt;br /&gt;
*http://www.phystech.com/download/dhcpcd.html &lt;br /&gt;
*http://www.rfc-editor.org/ - Bitte dort die Suchmaschine benutzen. &lt;br /&gt;
*http://www.linux-praxis.de/linux3/dhcp.html&lt;br /&gt;
*http://www.linux-fuer-alle.de/doc_show.php?docid=8&lt;br /&gt;
*http://www.linuxwiki.de/DHCP&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
↑ [[Linux-Kompendium|Inhaltsverzeichnis]] ↑&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=308</id>
		<title>Dynamic Host Configuration Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=308"/>
		<updated>2009-07-16T07:09:58Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Feste IP-Adresse aufgrund der MAC-Adresse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Automatisierung der TCP/IP-Netzwerkadministration lässt sich mit dem DHCP-Protokoll recht erfolgreich durchführen. In diesem Text werden die Grundzüge des Protokolls erklärt. Außerdem werden einige einfache Beispielkonfigurationen besprochen.&lt;br /&gt;
&lt;br /&gt;
__forcetoc__&lt;br /&gt;
&lt;br /&gt;
==DHCP==&lt;br /&gt;
&lt;br /&gt;
Über das Dynamic Host Configuration Protocol (DHCP) werden einem Client-Rechner alle nötigen Netzparameter übermittelt. &lt;br /&gt;
&lt;br /&gt;
Siehe DHCP RFC-2131 und andere. &lt;br /&gt;
&lt;br /&gt;
==Leistungsmerkmale==&lt;br /&gt;
&lt;br /&gt;
DHCP dient der einfachen Zuteilung von Netzwerkinformationen in lokalen TCP/IP-Netzen. Zu diesen Informationen gehören z.B. IP-Nummer, Domainname, Routing und DNS-Server. &lt;br /&gt;
&lt;br /&gt;
Bei Diskless-Workstations bilden DHCP oder BOOTP die Grundlage. &lt;br /&gt;
&lt;br /&gt;
==Kurzbeschreibung der Arbeitsweise==&lt;br /&gt;
Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.&lt;br /&gt;
Diese ist meistens in der Netzwerkhardware (Ethernet, FDDI, Firewire, Wireless LAN) programmiert. Bereiche für MAC-Adressen werden nach einem internationalen Standard von einem Gremium (siehe  http://standards.ieee.org/regauth/oui/index.shtml) an die Hersteller der Hardware vergeben. Diese wiederum teilen jedem Netzwerkport eine eindeutige MAC-Adresse zu. &lt;br /&gt;
&lt;br /&gt;
Mit der MAC-Adresse sendet der Rechner eine Rundfrage (Broadcast) ins Netz mit der Bitte, ihm eine Netzwerkkonfiguration mitzuteilen. &lt;br /&gt;
&lt;br /&gt;
Der DHCP-Server wartet auf solche Rundfragen und teilt dem anfragenden Rechner die entsprechenden Daten mit. &lt;br /&gt;
	&lt;br /&gt;
[[Image:Example.png]]&lt;br /&gt;
	&lt;br /&gt;
Außerdem speichert der Server sowohl die MAC-Adresse des Clients als auch die ihm zugeteilte IP-Adresse in einer Datei. (dhcp.leases) &lt;br /&gt;
&lt;br /&gt;
Diese IP-Adresse wird für eine bestimmte Laufzeit (Lease Time) für diesen Client reserviert. Nach einiger Zeit versucht der Client, seine Adresse beim Server zu erneuern (renewing). Gelingt ihm dies nicht, so fragt er etwas später alle Server nach seiner Adresse (rebinding). &lt;br /&gt;
&lt;br /&gt;
Wird seine Adresse auch nach dieser Anfrage nicht erneuert, muss er alle Netzwerkaktivitäten beenden. Allerdings darf er das DHCP-Protokoll neu beginnen.&lt;br /&gt;
&lt;br /&gt;
==Arten der Zuteilung von IP-Adressen==&lt;br /&gt;
===Feste IP-Adresse aufgrund der MAC-Adresse===&lt;br /&gt;
MAC-Adressen und IP-Adresse werden fest in die dhcpd.conf eingetragen. &lt;br /&gt;
Ausschnitt dhcpd.conf 	&lt;br /&gt;
&lt;br /&gt;
 host test{&lt;br /&gt;
   hardware ethernet 00:00:c0:5d:bd:95;&lt;br /&gt;
   fixed-address 192.168.0.121;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse, automatisch zugeteilt, mit Zeitbegrenzung===&lt;br /&gt;
Hierbei wird die IP-Adresse für eine unbegrenzte (schlecht) oder eine lange Laufzeit zugeteilt. &lt;br /&gt;
&lt;br /&gt;
Hier sollte man die Laufzeit (lease-time) auf einen höheren Wert setzen: &lt;br /&gt;
Ausschnitt dhcp.conf file 	&lt;br /&gt;
     &lt;br /&gt;
 max-lease-time 432000;&lt;br /&gt;
 # 24*60*60*5 -&amp;gt; 5 Tage&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.32 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
     &lt;br /&gt;
===Dynamische Zuteilung===&lt;br /&gt;
Die Vorgehensweise ist hier dieselbe wie oben, allerdings wird die Laufzeit auf einen niedrigeren Wert gesetzt. &lt;br /&gt;
&lt;br /&gt;
==Konfiguration der Clients==&lt;br /&gt;
Heute sind die meisten Rechner mit Client-seitiger DHCP-Unterstützung vorkonfiguriert. Das DHCP-Protokoll vereinfacht die Netzwerkonfiguration erheblich. &lt;br /&gt;
&lt;br /&gt;
Beim Client müssen keinerlei rechnerspezifische Netzwerkeinstellungen mehr vorgenommen werden. Im Prinzip muss man den Rechnern nur mitteilen, dass DHCP verwendet werden soll. &lt;br /&gt;
&lt;br /&gt;
==='''DHCP-Client'''===&lt;br /&gt;
====Linux====&lt;br /&gt;
pump, dhcpclient, dhcpcd, dhclient. ....... &lt;br /&gt;
&lt;br /&gt;
Auch DHCP-Clients können umfangreich konfiguriert werden, siehe /etc/dhcpc/config im Paket dhcpcd. So kann man zum Beispiel verhindern, dass vom DHCP-Server Daten übernommen werden, die eine spezielle Netzwerkkonfiguration überschreiben würden&lt;br /&gt;
vcbnbvcn&lt;br /&gt;
&lt;br /&gt;
====BSD====&lt;br /&gt;
Ebenso wie Linux unterstützen auch BSD-Varianten DHCP als Client und Server. &lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Auch neuere Windows-Systeme bieten direkt nach der Installation DHCP-Unterstützung. &lt;br /&gt;
&lt;br /&gt;
====Mac====&lt;br /&gt;
Sofort nach der Installation ist die Unterstützung vorhanden, ob man will oder nicht.&lt;br /&gt;
&lt;br /&gt;
==DHCP-Server (www.isc.org)==&lt;br /&gt;
Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein. Bei Debian z.B. sieht sie folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
 root@linux # apt-get install dhcp3-server &lt;br /&gt;
&lt;br /&gt;
Bei Debian befindet sich nach der Installation die Konfigurationsdatei /etc/dhcp3/dhcpd.conf auf dem System. &lt;br /&gt;
&lt;br /&gt;
Die Datei ist gut kommentiert, und man sollte sie den eigenen Bedürfnissen anpassen (Domain-Name, IP-Adressen usw.) &lt;br /&gt;
&lt;br /&gt;
Falls man den Server in der Testphase nur von Hand starten möchte, sollte man die Links in den entsprechenden Runleveln löschen.&lt;br /&gt;
&lt;br /&gt;
Debian: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d -f dhcp3-server remove &lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
Nach der Testphase kann man diese wieder aktivieren, bei Debian z.B. folgendermaßen: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d dhcp3-server defaults &lt;br /&gt;
	&lt;br /&gt;
===Eine erste Konfigurationsdatei===&lt;br /&gt;
Alles, was man nicht versteht, kommentiert man zunächst einmal aus. Ich habe das meiste der Übersichtlichkeit halber gelöscht. &lt;br /&gt;
&lt;br /&gt;
 minimal dhcp.conf file 	&lt;br /&gt;
      &lt;br /&gt;
 #&lt;br /&gt;
 # Beispielkonfigurationsdatei für ISC dhcpd3&lt;br /&gt;
 # Debian 3.0 Woody&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # Optionsdefinitionen für alle unterstützten&lt;br /&gt;
 # Netzwerke...&lt;br /&gt;
 # option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.31 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nun kann der DHCP-Server den DHCP-Clients zehn Adressen dynamisch zuweisen. &lt;br /&gt;
&lt;br /&gt;
===Testen des Servers===&lt;br /&gt;
Auf einem Debian-System sollte nochmals geprüft werden, ob in /etc/default/dhcp3-server das richtige Interface angegeben ist (z.B. eth0). &lt;br /&gt;
&lt;br /&gt;
Danach kann man zum Testen (Debuggen) übergehen. &lt;br /&gt;
&lt;br /&gt;
Starten des Servers: &lt;br /&gt;
&lt;br /&gt;
 root@linux # /etc/init.d/dhcp start &lt;br /&gt;
&lt;br /&gt;
bzw. &lt;br /&gt;
&lt;br /&gt;
 root@linux # /etc/init.d/dhcp3-server start &lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, mit tail -f /var/log/syslog den Startvorgang zu verfolgen, um zu sehen, ob der Server korrekt läuft. &amp;quot;ps ax&amp;quot; bzw. &amp;quot;pidof dhcpd3&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Der folgende Aufruf ist zum Debuggen besser geeignet: &lt;br /&gt;
&lt;br /&gt;
 root@linux # dhcpd3 -d -f &lt;br /&gt;
	&lt;br /&gt;
Bitte unbedingt die Fehlermeldungen beachten! &lt;br /&gt;
&lt;br /&gt;
Auch ein Blick in die Dateien unter /var/log lohnt sich! &lt;br /&gt;
&lt;br /&gt;
Wird auf einem zweitem Rechner, z.B.  Knoppix (Debian von CD), getestet, so verwendet man pump: &lt;br /&gt;
&lt;br /&gt;
 root@linux # pump -s &lt;br /&gt;
&lt;br /&gt;
Auf dem Server kann die Anfrage mit &lt;br /&gt;
&lt;br /&gt;
 root@linux # tcpdump -e &lt;br /&gt;
	&lt;br /&gt;
verfolgt werden. &lt;br /&gt;
&lt;br /&gt;
Dabei muss der Client eine Anfrage absetzen, die vom Server beantwortet wird. &lt;br /&gt;
&lt;br /&gt;
 tcpdump Ausgabe 	&lt;br /&gt;
     &lt;br /&gt;
 (ist leider eine lange Zeile mit \ getrennt)&lt;br /&gt;
 09:47:32.690249 0:48:54:12:4c:df Broadcast ip 342: \&lt;br /&gt;
 0.0.0.0.bootpc &amp;gt; 255.255.255.255.bootps:  \&lt;br /&gt;
 xid:0x1c97abed [|bootp] [tos 0x10]&lt;br /&gt;
 &lt;br /&gt;
 09:47:32.700021 8:0:46:49:60:8d 0:48:54:12:4c:df \&lt;br /&gt;
 ip 62: lapwoody.local.invalid &amp;gt; 192.168.0.40: \&lt;br /&gt;
 icmp: echo request (DF)&lt;br /&gt;
 &lt;br /&gt;
Der erste Abschnitt ist die Broadcast-Anfrage des Clients. Danach folgt die Antwort des Servers, in der dieser dem Client eine IP-Adresse mitteilt. &lt;br /&gt;
&lt;br /&gt;
Anmerkung: Wer die Pakete mit ganzem Inhalt sehen möchte, kann für die Aufzeichnung auch ngrep verwenden. &lt;br /&gt;
&lt;br /&gt;
Nun sollte ein einfacher DHCP-Server laufen. &lt;br /&gt;
&lt;br /&gt;
===Der Server bekommt weitere Fähigkeiten===&lt;br /&gt;
Als Nächstes sollten die sinnvollen Standard-Angaben wieder aktiviert werden. Die Optionen, die nicht &amp;quot;ausgeklammert&amp;quot; sind, gelten als Vorgaben für alle späteren Angaben. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 # Wir haben unseren DHCP- nicht mit einem&lt;br /&gt;
 # DNS-Server kombiniert.&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1;&lt;br /&gt;
 # Unsere Domain und die Nameserver&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 # Wann müssen die Adressen, die wir verteilt haben,&lt;br /&gt;
 # erneuert werden? Die Laufzeit ist in Sekunden angegeben,&lt;br /&gt;
 # d.h. alle DHCP-Rechner sollten nach 10 min anfangen,&lt;br /&gt;
 # sich neue Adressen zu holen. Falls die Adresse innerhalb&lt;br /&gt;
 # von 2 Stunden nicht erneuert werden konnte, liegt&lt;br /&gt;
 # irgendein Fehler vor und der Client-Rechner sollte&lt;br /&gt;
 # seine IP-Adressen nicht mehr benutzen.&lt;br /&gt;
 &lt;br /&gt;
 authoritative;&lt;br /&gt;
 # Regelt, welcher DHCP-Server Priorität hat. :-)&lt;br /&gt;
 # Aktivieren, sobald wir fertig sind.&lt;br /&gt;
&lt;br /&gt;
Weiteres &lt;br /&gt;
&lt;br /&gt;
====Angabe ob ein DNS Update ausgeführt werden soll, wenn eine IP vergeben wurde====&lt;br /&gt;
 ddns-updates [on | off] &lt;br /&gt;
&lt;br /&gt;
====Angabe des Netbios-Nameservers====&lt;br /&gt;
 option netbios-name-servers   192.168.240.21;&lt;br /&gt;
&lt;br /&gt;
====Zuteilen einer IP aufgrund von MAC Adresse====&lt;br /&gt;
 host wutz {&lt;br /&gt;
         hardware ethernet        00:50:9c:1a:52:9f;&lt;br /&gt;
         fixed-address              192.168.254.252;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Schlüssel zum Update von dem DHCP Server an den DNS Server====&lt;br /&gt;
     key DHCP_UPDATER {&lt;br /&gt;
         algorithm HMAC-MD5.SIG-ALG.REG.INT;&lt;br /&gt;
         secret pRP5FapFoJ95JEL06sv4PQ==;&lt;br /&gt;
       };&lt;br /&gt;
&lt;br /&gt;
       zone EXAMPLE.ORG. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       zone 17.127.10.in-addr.arpa. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
primary gibt den Server an, dessen Zoneninformation aktualisiert werden soll. &lt;br /&gt;
Auf dem DNS Server sollte der Update vom DHCP Server erlaubt sein.&lt;br /&gt;
&lt;br /&gt;
Übergabe eines Bootloaders und Rootpfad mittels TFTP bei Netzwerkboot&lt;br /&gt;
 host xyz {&lt;br /&gt;
        ...&lt;br /&gt;
        filename                &amp;quot;/lts/2.6.9-ltsp-3/pxelinux.0&amp;quot;;&lt;br /&gt;
        option root-path        &amp;quot;192.168.254.25:/opt/ltsp/i386&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Weitere Möglichkeiten mit DHCP===&lt;br /&gt;
Es gibt globale Angaben, die von lokalen Angaben überschrieben werden können. &lt;br /&gt;
&lt;br /&gt;
Einige Optionen aus: &amp;quot;man dhcpd.conf&amp;quot; und &amp;quot;man dhcp-conf&amp;quot; (offizielle Optionen sind in RFC 2132 beschrieben): &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1, 192.168.0.2;&lt;br /&gt;
&lt;br /&gt;
Übertragung des Domain-Namens und der DNS-Server. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
     &lt;br /&gt;
 option routers 192.168.0.1;&lt;br /&gt;
     &lt;br /&gt;
Angabe des Default-Gateway.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*http://www.isc.org/products/DHCP/&lt;br /&gt;
*http://standards.ieee.org/regauth/oui/index.shtml&lt;br /&gt;
*http://www.phystech.com/download/dhcpcd.html &lt;br /&gt;
*http://www.rfc-editor.org/ - Bitte dort die Suchmaschine benutzen. &lt;br /&gt;
*http://www.linux-praxis.de/linux3/dhcp.html&lt;br /&gt;
*http://www.linux-fuer-alle.de/doc_show.php?docid=8&lt;br /&gt;
*http://www.linuxwiki.de/DHCP&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
↑ [[Linux-Kompendium|Inhaltsverzeichnis]] ↑&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=307</id>
		<title>Dynamic Host Configuration Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Dynamic_Host_Configuration_Protocol&amp;diff=307"/>
		<updated>2009-07-16T07:06:20Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Feste IP-Adresse aufgrund der MAC-Adresse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Automatisierung der TCP/IP-Netzwerkadministration lässt sich mit dem DHCP-Protokoll recht erfolgreich durchführen. In diesem Text werden die Grundzüge des Protokolls erklärt. Außerdem werden einige einfache Beispielkonfigurationen besprochen.&lt;br /&gt;
&lt;br /&gt;
__forcetoc__&lt;br /&gt;
&lt;br /&gt;
==DHCP==&lt;br /&gt;
&lt;br /&gt;
Über das Dynamic Host Configuration Protocol (DHCP) werden einem Client-Rechner alle nötigen Netzparameter übermittelt. &lt;br /&gt;
&lt;br /&gt;
Siehe DHCP RFC-2131 und andere. &lt;br /&gt;
&lt;br /&gt;
==Leistungsmerkmale==&lt;br /&gt;
&lt;br /&gt;
DHCP dient der einfachen Zuteilung von Netzwerkinformationen in lokalen TCP/IP-Netzen. Zu diesen Informationen gehören z.B. IP-Nummer, Domainname, Routing und DNS-Server. &lt;br /&gt;
&lt;br /&gt;
Bei Diskless-Workstations bilden DHCP oder BOOTP die Grundlage. &lt;br /&gt;
&lt;br /&gt;
==Kurzbeschreibung der Arbeitsweise==&lt;br /&gt;
Beim Booten kennt der Rechner nur die MAC-Adresse seiner Netzwerkkarte.&lt;br /&gt;
Diese ist meistens in der Netzwerkhardware (Ethernet, FDDI, Firewire, Wireless LAN) programmiert. Bereiche für MAC-Adressen werden nach einem internationalen Standard von einem Gremium (siehe  http://standards.ieee.org/regauth/oui/index.shtml) an die Hersteller der Hardware vergeben. Diese wiederum teilen jedem Netzwerkport eine eindeutige MAC-Adresse zu. &lt;br /&gt;
&lt;br /&gt;
Mit der MAC-Adresse sendet der Rechner eine Rundfrage (Broadcast) ins Netz mit der Bitte, ihm eine Netzwerkkonfiguration mitzuteilen. &lt;br /&gt;
&lt;br /&gt;
Der DHCP-Server wartet auf solche Rundfragen und teilt dem anfragenden Rechner die entsprechenden Daten mit. &lt;br /&gt;
	&lt;br /&gt;
[[Image:Example.png]]&lt;br /&gt;
	&lt;br /&gt;
Außerdem speichert der Server sowohl die MAC-Adresse des Clients als auch die ihm zugeteilte IP-Adresse in einer Datei. (dhcp.leases) &lt;br /&gt;
&lt;br /&gt;
Diese IP-Adresse wird für eine bestimmte Laufzeit (Lease Time) für diesen Client reserviert. Nach einiger Zeit versucht der Client, seine Adresse beim Server zu erneuern (renewing). Gelingt ihm dies nicht, so fragt er etwas später alle Server nach seiner Adresse (rebinding). &lt;br /&gt;
&lt;br /&gt;
Wird seine Adresse auch nach dieser Anfrage nicht erneuert, muss er alle Netzwerkaktivitäten beenden. Allerdings darf er das DHCP-Protokoll neu beginnen.&lt;br /&gt;
&lt;br /&gt;
==Arten der Zuteilung von IP-Adressen==&lt;br /&gt;
===Feste IP-Adresse aufgrund der MAC-Adresse===&lt;br /&gt;
MAC-Adressen und IP-Adresse werden fest in die dhcpd.conf eingetragen. &lt;br /&gt;
Ausschnitt dhcpd.conf 	&lt;br /&gt;
&lt;br /&gt;
 host test{&lt;br /&gt;
   hardware ethernet 00:00:c0:5d:bd:95;&lt;br /&gt;
   fixed-address 192.168.0.121;&lt;br /&gt;
 # Bei laufenden Nameservice ist auch&lt;br /&gt;
 # fixed-address test.local.invalid;&lt;br /&gt;
 # möglich&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse, automatisch zugeteilt, mit Zeitbegrenzung===&lt;br /&gt;
Hierbei wird die IP-Adresse für eine unbegrenzte (schlecht) oder eine lange Laufzeit zugeteilt. &lt;br /&gt;
&lt;br /&gt;
Hier sollte man die Laufzeit (lease-time) auf einen höheren Wert setzen: &lt;br /&gt;
Ausschnitt dhcp.conf file 	&lt;br /&gt;
     &lt;br /&gt;
 max-lease-time 432000;&lt;br /&gt;
 # 24*60*60*5 -&amp;gt; 5 Tage&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.32 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
     &lt;br /&gt;
===Dynamische Zuteilung===&lt;br /&gt;
Die Vorgehensweise ist hier dieselbe wie oben, allerdings wird die Laufzeit auf einen niedrigeren Wert gesetzt. &lt;br /&gt;
&lt;br /&gt;
==Konfiguration der Clients==&lt;br /&gt;
Heute sind die meisten Rechner mit Client-seitiger DHCP-Unterstützung vorkonfiguriert. Das DHCP-Protokoll vereinfacht die Netzwerkonfiguration erheblich. &lt;br /&gt;
&lt;br /&gt;
Beim Client müssen keinerlei rechnerspezifische Netzwerkeinstellungen mehr vorgenommen werden. Im Prinzip muss man den Rechnern nur mitteilen, dass DHCP verwendet werden soll. &lt;br /&gt;
&lt;br /&gt;
==='''DHCP-Client'''===&lt;br /&gt;
====Linux====&lt;br /&gt;
pump, dhcpclient, dhcpcd, dhclient. ....... &lt;br /&gt;
&lt;br /&gt;
Auch DHCP-Clients können umfangreich konfiguriert werden, siehe /etc/dhcpc/config im Paket dhcpcd. So kann man zum Beispiel verhindern, dass vom DHCP-Server Daten übernommen werden, die eine spezielle Netzwerkkonfiguration überschreiben würden&lt;br /&gt;
vcbnbvcn&lt;br /&gt;
&lt;br /&gt;
====BSD====&lt;br /&gt;
Ebenso wie Linux unterstützen auch BSD-Varianten DHCP als Client und Server. &lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Auch neuere Windows-Systeme bieten direkt nach der Installation DHCP-Unterstützung. &lt;br /&gt;
&lt;br /&gt;
====Mac====&lt;br /&gt;
Sofort nach der Installation ist die Unterstützung vorhanden, ob man will oder nicht.&lt;br /&gt;
&lt;br /&gt;
==DHCP-Server (www.isc.org)==&lt;br /&gt;
Die Installation des Servers sollte in den gängigen Distributionen kein Problem sein. Bei Debian z.B. sieht sie folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
 root@linux # apt-get install dhcp3-server &lt;br /&gt;
&lt;br /&gt;
Bei Debian befindet sich nach der Installation die Konfigurationsdatei /etc/dhcp3/dhcpd.conf auf dem System. &lt;br /&gt;
&lt;br /&gt;
Die Datei ist gut kommentiert, und man sollte sie den eigenen Bedürfnissen anpassen (Domain-Name, IP-Adressen usw.) &lt;br /&gt;
&lt;br /&gt;
Falls man den Server in der Testphase nur von Hand starten möchte, sollte man die Links in den entsprechenden Runleveln löschen.&lt;br /&gt;
&lt;br /&gt;
Debian: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d -f dhcp3-server remove &lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
Nach der Testphase kann man diese wieder aktivieren, bei Debian z.B. folgendermaßen: &lt;br /&gt;
&lt;br /&gt;
 root@linux # update-rc.d dhcp3-server defaults &lt;br /&gt;
	&lt;br /&gt;
===Eine erste Konfigurationsdatei===&lt;br /&gt;
Alles, was man nicht versteht, kommentiert man zunächst einmal aus. Ich habe das meiste der Übersichtlichkeit halber gelöscht. &lt;br /&gt;
&lt;br /&gt;
 minimal dhcp.conf file 	&lt;br /&gt;
      &lt;br /&gt;
 #&lt;br /&gt;
 # Beispielkonfigurationsdatei für ISC dhcpd3&lt;br /&gt;
 # Debian 3.0 Woody&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # Optionsdefinitionen für alle unterstützten&lt;br /&gt;
 # Netzwerke...&lt;br /&gt;
 # option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
   range dynamic-bootp 192.168.0.31 192.168.0.40;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nun kann der DHCP-Server den DHCP-Clients zehn Adressen dynamisch zuweisen. &lt;br /&gt;
&lt;br /&gt;
===Testen des Servers===&lt;br /&gt;
Auf einem Debian-System sollte nochmals geprüft werden, ob in /etc/default/dhcp3-server das richtige Interface angegeben ist (z.B. eth0). &lt;br /&gt;
&lt;br /&gt;
Danach kann man zum Testen (Debuggen) übergehen. &lt;br /&gt;
&lt;br /&gt;
Starten des Servers: &lt;br /&gt;
&lt;br /&gt;
 root@linux # /etc/init.d/dhcp start &lt;br /&gt;
&lt;br /&gt;
bzw. &lt;br /&gt;
&lt;br /&gt;
 root@linux # /etc/init.d/dhcp3-server start &lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, mit tail -f /var/log/syslog den Startvorgang zu verfolgen, um zu sehen, ob der Server korrekt läuft. &amp;quot;ps ax&amp;quot; bzw. &amp;quot;pidof dhcpd3&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Der folgende Aufruf ist zum Debuggen besser geeignet: &lt;br /&gt;
&lt;br /&gt;
 root@linux # dhcpd3 -d -f &lt;br /&gt;
	&lt;br /&gt;
Bitte unbedingt die Fehlermeldungen beachten! &lt;br /&gt;
&lt;br /&gt;
Auch ein Blick in die Dateien unter /var/log lohnt sich! &lt;br /&gt;
&lt;br /&gt;
Wird auf einem zweitem Rechner, z.B.  Knoppix (Debian von CD), getestet, so verwendet man pump: &lt;br /&gt;
&lt;br /&gt;
 root@linux # pump -s &lt;br /&gt;
&lt;br /&gt;
Auf dem Server kann die Anfrage mit &lt;br /&gt;
&lt;br /&gt;
 root@linux # tcpdump -e &lt;br /&gt;
	&lt;br /&gt;
verfolgt werden. &lt;br /&gt;
&lt;br /&gt;
Dabei muss der Client eine Anfrage absetzen, die vom Server beantwortet wird. &lt;br /&gt;
&lt;br /&gt;
 tcpdump Ausgabe 	&lt;br /&gt;
     &lt;br /&gt;
 (ist leider eine lange Zeile mit \ getrennt)&lt;br /&gt;
 09:47:32.690249 0:48:54:12:4c:df Broadcast ip 342: \&lt;br /&gt;
 0.0.0.0.bootpc &amp;gt; 255.255.255.255.bootps:  \&lt;br /&gt;
 xid:0x1c97abed [|bootp] [tos 0x10]&lt;br /&gt;
 &lt;br /&gt;
 09:47:32.700021 8:0:46:49:60:8d 0:48:54:12:4c:df \&lt;br /&gt;
 ip 62: lapwoody.local.invalid &amp;gt; 192.168.0.40: \&lt;br /&gt;
 icmp: echo request (DF)&lt;br /&gt;
 &lt;br /&gt;
Der erste Abschnitt ist die Broadcast-Anfrage des Clients. Danach folgt die Antwort des Servers, in der dieser dem Client eine IP-Adresse mitteilt. &lt;br /&gt;
&lt;br /&gt;
Anmerkung: Wer die Pakete mit ganzem Inhalt sehen möchte, kann für die Aufzeichnung auch ngrep verwenden. &lt;br /&gt;
&lt;br /&gt;
Nun sollte ein einfacher DHCP-Server laufen. &lt;br /&gt;
&lt;br /&gt;
===Der Server bekommt weitere Fähigkeiten===&lt;br /&gt;
Als Nächstes sollten die sinnvollen Standard-Angaben wieder aktiviert werden. Die Optionen, die nicht &amp;quot;ausgeklammert&amp;quot; sind, gelten als Vorgaben für alle späteren Angaben. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 # Wir haben unseren DHCP- nicht mit einem&lt;br /&gt;
 # DNS-Server kombiniert.&lt;br /&gt;
 &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1;&lt;br /&gt;
 # Unsere Domain und die Nameserver&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200;&lt;br /&gt;
 # Wann müssen die Adressen, die wir verteilt haben,&lt;br /&gt;
 # erneuert werden? Die Laufzeit ist in Sekunden angegeben,&lt;br /&gt;
 # d.h. alle DHCP-Rechner sollten nach 10 min anfangen,&lt;br /&gt;
 # sich neue Adressen zu holen. Falls die Adresse innerhalb&lt;br /&gt;
 # von 2 Stunden nicht erneuert werden konnte, liegt&lt;br /&gt;
 # irgendein Fehler vor und der Client-Rechner sollte&lt;br /&gt;
 # seine IP-Adressen nicht mehr benutzen.&lt;br /&gt;
 &lt;br /&gt;
 authoritative;&lt;br /&gt;
 # Regelt, welcher DHCP-Server Priorität hat. :-)&lt;br /&gt;
 # Aktivieren, sobald wir fertig sind.&lt;br /&gt;
&lt;br /&gt;
Weiteres &lt;br /&gt;
&lt;br /&gt;
====Angabe ob ein DNS Update ausgeführt werden soll, wenn eine IP vergeben wurde====&lt;br /&gt;
 ddns-updates [on | off] &lt;br /&gt;
&lt;br /&gt;
====Angabe des Netbios-Nameservers====&lt;br /&gt;
 option netbios-name-servers   192.168.240.21;&lt;br /&gt;
&lt;br /&gt;
====Zuteilen einer IP aufgrund von MAC Adresse====&lt;br /&gt;
 host wutz {&lt;br /&gt;
         hardware ethernet        00:50:9c:1a:52:9f;&lt;br /&gt;
         fixed-address              192.168.254.252;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Schlüssel zum Update von dem DHCP Server an den DNS Server====&lt;br /&gt;
     key DHCP_UPDATER {&lt;br /&gt;
         algorithm HMAC-MD5.SIG-ALG.REG.INT;&lt;br /&gt;
         secret pRP5FapFoJ95JEL06sv4PQ==;&lt;br /&gt;
       };&lt;br /&gt;
&lt;br /&gt;
       zone EXAMPLE.ORG. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       zone 17.127.10.in-addr.arpa. {&lt;br /&gt;
         primary 127.0.0.1;&lt;br /&gt;
         key DHCP_UPDATER;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
primary gibt den Server an, dessen Zoneninformation aktualisiert werden soll. &lt;br /&gt;
Auf dem DNS Server sollte der Update vom DHCP Server erlaubt sein.&lt;br /&gt;
&lt;br /&gt;
Übergabe eines Bootloaders und Rootpfad mittels TFTP bei Netzwerkboot&lt;br /&gt;
 host xyz {&lt;br /&gt;
        ...&lt;br /&gt;
        filename                &amp;quot;/lts/2.6.9-ltsp-3/pxelinux.0&amp;quot;;&lt;br /&gt;
        option root-path        &amp;quot;192.168.254.25:/opt/ltsp/i386&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Weitere Möglichkeiten mit DHCP===&lt;br /&gt;
Es gibt globale Angaben, die von lokalen Angaben überschrieben werden können. &lt;br /&gt;
&lt;br /&gt;
Einige Optionen aus: &amp;quot;man dhcpd.conf&amp;quot; und &amp;quot;man dhcp-conf&amp;quot; (offizielle Optionen sind in RFC 2132 beschrieben): &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
      &lt;br /&gt;
 option domain-name &amp;quot;local.invalid&amp;quot;;&lt;br /&gt;
 option domain-name-servers 192.168.0.1, 192.168.0.2;&lt;br /&gt;
&lt;br /&gt;
Übertragung des Domain-Namens und der DNS-Server. &lt;br /&gt;
&lt;br /&gt;
 config-datei 	&lt;br /&gt;
     &lt;br /&gt;
 option routers 192.168.0.1;&lt;br /&gt;
     &lt;br /&gt;
Angabe des Default-Gateway.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*http://www.isc.org/products/DHCP/&lt;br /&gt;
*http://standards.ieee.org/regauth/oui/index.shtml&lt;br /&gt;
*http://www.phystech.com/download/dhcpcd.html &lt;br /&gt;
*http://www.rfc-editor.org/ - Bitte dort die Suchmaschine benutzen. &lt;br /&gt;
*http://www.linux-praxis.de/linux3/dhcp.html&lt;br /&gt;
*http://www.linux-fuer-alle.de/doc_show.php?docid=8&lt;br /&gt;
*http://www.linuxwiki.de/DHCP&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
↑ [[Linux-Kompendium|Inhaltsverzeichnis]] ↑&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>