Package DHCP - Dynamic Host Configuration Protocol | ||
OPT_DHCP | OPT_DHCLIENT | OPT_DHCPCD |
Ein DHCP-Server kann IP-Adressen aus einem vorgegebenen Bereich (Pool) vergeben. Dabei können diese IP-Adressen sowohl an eine Hardware-Adresse (MAC-Adresse) der Ethernetkarte gebunden werden als auch dynamisch frei vergeben werden.
Die Bindung an eine MAC-Adresse ist auf jeden Fall zu bevorzugen, denn nur dann bekommen PCs im Netz (als sog. DHCP-Clients) auch reproduzierbar ein- und dieselbe IP-Adresse zugewiesen. Rechner, die nicht an eine MAC-Adresse gebunden werden, bekommen irgendeine IP-Adresse aus dem vorgegebenen Adress-Bereich zugewiesen. Und diese kann sich jedes Mal ändern. Diese Möglichkeit ist deshalb lediglich für PCs im LAN zu verwenden, die nur sporadisch in das Netzwerk eingebunden werden sollen - z.B. bei Notebooks.
Einem DHCP-Client werden von fli4l nicht nur eine IP-Adresse zugewiesen, sondern auch der Domain-Name, die IP-Adresse des DNS-Servers und der Default-Router (also fli4l :) werden zum Client übertragen, außerdem (wenn konfiguriert) die WINS-Server-Adressen.
Variable Funktion im DHCP --------------------------------------- DOMAIN_NAME -> Domain-Name IP_ETH_1_IPADDR -> DNS-Server IP_ETH_x_NETMASK -> Subnetzmaske IP_ETH_x_IPADDR -> Router IP_ETH_1_IPADDR -> WINS-Server oder DHCP_WINSSERVER_1 -> WINS-Server DHCP_WINSSERVER_2 -> WINS-Server oder NMBD_EXTWINSIP -> WINS-Server
hängt. Statt IP_ETH_1_IPADDR kann auch IP_ETH_2_IPADDR als DNS-IP-Adresse vom DHCP-Server übertragen werden, und zwar dann, wenn die erste Netzwerkkarte für PPPoE verwendet wird und deshalb keine IP-Adresse hat (Die Parameter IP_ETH_* befinden sich in der base.txt!).
Möchte man fli4l als DHCP-Server verwenden, ist die Konfigurationsvariable OPT_DHCP auf 'yes' zu setzen.
Diese beiden Variablen geben die Zeitdauer an, wie lange eine dynamisch vergebene IP-Adresse gültig ist (ohne Angabe der MAC-Adresse in der Konfigurationsdatei).
Standard-Werte sind:
DHCP_LS_TIME_DYN='3600' # 1 Stunde DHCP_MAX_LS_TIME_DYN='7200' # 2 Stunden
Die erste Variable ist der Vorgabewert, die zweite gibt die maximale Zeitdauer an - und zwar für den Fall, daß der Client selbst eine spezielle Zeitdauer wünscht. Meines Wissens ist so etwas jedoch nicht bei Windows-Clients einstellbar (oder doch?).
Diese beiden Variablen geben die Zeitdauer an, wie lange eine über die MAC-Adresse vergebene *feste* IP-Adresse gültig ist.
Standard-Werte sind:
DHCP_LS_TIME_FIX='86400' # 1 Tag DHCP_MAX_LS_TIME_FIX='604800' # 1 Woche
Die erste Variable ist der Vorgabewert, die zweite gibt die maximale Zeitdauer an - wie oben bei den dynamisch vergebenen Adressen.
Für jedes an fli4l angeschlossene Netz muss ein IP-Adressbereich angegeben werden, aus dem die IP-Adressen vergeben werden können. Die Anzahl der Adressbereiche ist gleich dem Wert von IP_ETH_N. Aus diesem Grund müssen genauso viele DHCP_RANGE_x-Variablen wie z.B. IP_ETH_x_NETWORK-Variablen definiert definiert werden (Die Parameter IP_ETH_* befinden sich in der base.txt!).
In jedem Bereich wird ein Anfangs- und ein Ende-Wert als Bereich angegeben, z.B.
IP_ETH_N='2' DHCP_RANGE_1='192.168.6.50 192.168.6.100' DHCP_RANGE_2='192.168.7.50 192.168.7.100'
Soll für das 2. Netzwerk jedoch kein DHCP zum Einsatz kommen, ist der Bereich dann dafür leer zu lassen, also z.B.
IP_ETH_N='2' DHCP_RANGE_1='192.168.6.50 192.168.6.100' DHCP_RANGE_2=''
WICHTIG:
Es darf kein Rechner im Netz eine feste Adresse aus diesem Bereich verwenden! Der Bereich ist also mit Bedacht zu wählen...
Um nun bestimmten Rechnern immer ein- und dieselbe IP-Adresse zuzuweisen, ist die Angabe einer MAC-Adresse notwendig. Dieser wird in den Variablen HOST_1 ... HOST_x als dritter Wert eingetragen - wenn gewünscht. HOST_x-Variablen, die keine MAC-Adresse enthalten, beschreiben Rechner, die entweder bereits eine statische IP-Adresse haben (außerhalb des DHCP-Adressbereichs) oder IP-Adressen, die dynamisch ohne feste Bindung vergeben werden (innerhalb des DHCP-Adressbereichs).
Die MAC-Adresse ist eine 48-Bit-Adresse und besteht aus 6 Hex-Werten, welche durch einen Doppelpunkt voneinander getrennt werden, z.B.
00:00:E8:83:72:92
WICHTIG (2):
IP-Adressen, die über HOST_x an eine feste MAC-Adresse gebunden werden, sollten außerhalb des DHCP-Adressbereichs liegen.
Beispiel:
IP_ETH_N='1' DHCP_RANGE_1='192.168.6.50 192.168.6.100' HOSTS_N='3' HOST_1='192.168.6.1 fli4l' HOST_2='192.168.6.2 joe 00:00:E8:83:72:92' HOST_3='192.168.6.50 gast1' HOST_4='192.168.6.51 gast2'
Dabei hat HOST_1 bereits eine feste IP-Adresse, HOST_2 bekomt die Adresse vom DHCP-Server fest zugewiesen und die beiden letzten Hosts bekommen die IP-Adressen dynamisch aus dem vorgegebenen Adressbereich zugewiesen (Die Parameter HOST_* befinden sich in der base.txt!).
In DHCP_WINSSERVER_1 kann die IP-Adresse eines externen WINS-Servers hinterlegt werden. Die Angabe darf hier nur gemacht werden, wenn
OPT_NMBD='no'
ist.
Die WINS-Serveradresse wird bei aktiviertem OPT_NMBD ansonsten in jedem Fall aus den dort hinterlegten Informationen gewonnen und mit an die DHCP-Clients übergeben, egal ob der nmbd im Server- oder Clientmodus läuft.
Mit externem WINS-Server ist eine IP-Adresse aus dem internen Netz hinter fli4l gemeint, da die Ports 137-139 außerhalb der fli4-Subnetze von der Firewall in der Standardeinstellung geblockt werden. Extern heißt der WINS-Server deshalb, weil er nicht auf fli4l selbst läuft.
Möchte man also bei deaktiviertem OPT_NMBD den DHCP-Clients die Adresse eines WINS-Servers mitteilen, so ist diese hier zu hinterlegen.
Hier ein Beispiel mit der IP-Adresse 192.168.6.11:
DHCP_WINSSERVER_1='192.168.6.11'
Standard-Einstellung: DHCP_WINSSERVER_1=''
In DHCP_WINSSERVER_2 kann die IP-Adresse eines weiteren externen WINS-Servers hinterlegt werden.
Hier ein Beispiel mit der IP-Adresse 192.168.6.12:
DHCP_WINSSERVER_2='192.168.6.12'
Standard-Einstellung: DHCP_WINSSERVER_2=''
Als letztes ist noch zu erwähnen, daß der DHCP-Server Informationen über "verliehene" IP-Adressen in einer Leases-Datei auf der Diskette speichert. Grund: Diese Adressen müssen einen fli4l-Reboot überstehen und dürfen nicht verlorengehen. Deshalb muss bei Einsatz von DHCP die Variable MOUNT_BOOT='rw' eingestellt werden.