[Xubuntu] DHCP Server

Crys

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.634
Ich habe auf meinen Xubuntu 14 LTS den ISC-DHCPD-Server installiert, konfiguriert und gestartet. Der DHCP der Fritzbox ist aus.
Ich habe das Verzeichnis "/var/lib/dhcpd" (obwohl in im syslog kein besagter Fehler war), es wird aber dennoch keine dhcpd.leases erzeugt. Der DHCP Server funktioniert auch nicht, es werden keine IPs im Netzwerk verteilt.

Einstellung in der dhcpd.conf-Datei ist:
Code:
authoritative;

subnet 192.168.178.0 netmask 255.255.255.0 {
    range 192.168.178.10 192.168.178.99;
    interface eth0;

    default-lease-time 600;
    max-lease-time 7200;

    option domain-name "domain.home";
    option domain-name-servers 192.168.178.90;
    option broadcast-address 192.168.178.255;
    option subnet-mask 255.255.255.0;
    option routers 192.168.178.1;
}

host ChrisXu {
    hardware ethernet 12:34:56:78:9A:BC;
    fixed-address 192.168.178.90;
    option host-name "ChrisXu";
}
Der Server heißt "ChrisXu" (mit der MAC), die Fritzbox ist auf 192.168.178.1

Wenn ich beim Server im Netzwerkmanager keine feste IP eingebe (selben wie in der dhcpd.conf), dann findet der Server selbst nicht mal das Internet.

Was mache ich falsch?
 
Hast du denn auch DNS Masq installiert (und wichtig versuche mal einen anderen DNS...


Viele Grüße,
Thomas
 
tmkoeln schrieb:
Hast du denn auch DNS Masq installiert
Nein, das scheint für mich das selbe zu sein, nur eben mit anderen Eingaben. Das also auch installieren?
Aber wo dann die IPs, Namen usw. vergeben? Nicht das es da Konflikte gibt ...
 
Einen Uplink DNS hast du aber konfiguriert?

Viele Grüße,
Thomas
 
Nicht bewusst, was ist das?
Ergänzung ()

Tja, das ist halt Linux. "Im Prinzip" total einfach und man kann alles machen, in der Praxis bekommt man aber das meiste nicht hin ...
 
Du bastelst am DHCP-Server, während der Rechner selbst noch nicht im Netz funktioniert? Mach doch mal eins nach dem anderen statt 10 Baustellen zugleich.

Irre ich mich, oder versuchst du dem Rechner mit der 192.168.178.90 per DHCP immer die gleiche IP zu verpassen, die er von einem auf eben diesem Rechner laufenden DHCP-Server bekommen soll?? Gib dem Server via /etc/network/interfaces seine feste IP!

Deine Adressaufteilung ist auch komisch. Du deklarierst einerseits 192.168.178.10 bis 92.168.178.99 als dynamischen Bereich, die der DHCP-Server vergeben soll, teilst dem ChrisXu aber die in diesem Bereich liegende .90 fest zu. Unschön. Gib dem ChrisXu doch die .2 oder sowas.
 
Danke, das ist mal ne Antwort!

Ich habe da wohl nen Denkfehler gehabt. Ich wollte die IP vom Server mit dem DHCP-Server zuteilen lassen. Das geht natürlich nicht ... da gibt es keinen Anfang.

Diese komische Adressaufteilung kommt nur daher, da ich rum experimentiert habe und nicht sicher war ob statischen Adressen im DHCP Adressraum liegen müssen. Aber das ist wohl nicht so.

Ich habe in /etc/network/interfaces das geschrieben:
Code:
auto eth0
iface eth0 inet static
    address 192.168.178.9
    netmask 255.255.255.0
... anschließend neu gestartet und er konnte gar keine Netzwerkverbindung mehr herstellen.

Nun wieder rückgängig gemacht in:
Code:
auto lo
iface lo inet loopback

Mein PC hat 2 LAN Anschlüsse. Nur einer ist eingesteckt, dieser wird vom Netzwerkmanager als eth0 bzw. rename3 (mit der selben MAC) angezeigt.

Jetzt habe ich Netzwerkmanager (GUI rechts oben) die Daten:
(IP) 192.168.178.9 / (mask) 255.255.255.0 / (gate) 192.168.178.1 / (DNS) 192.168.178.1
manuell eingegeben (so wie auch schon vorher) und nun findet er das Netzwerk und das Internet geht auch.
Wenn ich aber auf einen anderen PC/iPhone die Adresse per DHCP bestimmen lassen will, dann passiert einfach nichts. Der bekommt keine Adresse zugeteil.

Die dhcpd.conf sieht jetzt so aus:
Code:
authoritative;

subnet 192.168.178.0 netmask 255.255.255.0 {
        range 192.168.178.90 192.168.178.99;
    interface eth0;
        default-lease-time 600;
        max-lease-time 7200;
        option domain-name-servers 192.168.178.9;
        option broadcast-address 192.168.178.255;
        option subnet-mask 255.255.255.0;
        option routers 192.168.178.1;
}

/etc/init.d/isc-dhcp-server status gibt mir keinen Fehler aus. Kann sonst auch keinen Fehler finden.
 
Der DHCP wird am Server als funktionierend angezeigt. Keine mir bekannten Fehler(-meldungen).

Niemand ne Ahnung woran das liegen kann?

Ist unklar wo mein Problem liegt?
 
insofern das Problem noch aktuell sein sollte ....

Hi Crys,

nur die IP Adresse zu konfigurieren reicht für eine Verbindung in das Internet nicht aus. Dir hat vorher der Eintrag in der /etc/resolv.conf gefehlt. Dort gehört in dem Format:
nameserver *IP-Adresse*
die IP des DNS Servers rein. Da die Fritzbox das Gateway bildet und dort der DNS Server drauf läuft sähe das bei dir also so aus:
Code:
nameserver 192.168.178.1

Sofern die Frage auch doof erscheinen mag, aber: Bist du dir ganz sicher, dass der dhcp Server läuft? Was gibt
Code:
ps -ef | grep -i dhcp
zurück.
Generell ist zu sagen, dass es ratsam ist einen Dienst anzuhalten, bevor man Konfigurationsänderungen vornimmt. Wie empfindlich dhcpd ist, weiß ich nicht, aber nach einer Änderung ist ein
Code:
 /etc/init.d/isc-dhcp-server restart
pflicht.

Grüße!
 
Konfigurationsänderungen beim dhcpd im laufenden Betrieb sind kein Problem, da er die config-files nur beim Starten einliest und danach nicht mehr. Generell hast du natürlich mit deiner Aussage vollkommen recht.
 
krehen schrieb:
[...]Dir hat vorher der Eintrag in der /etc/resolv.conf gefehlt. Dort gehört in dem Format:[...]
Dort steht aber das drin:
Code:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated  by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
Also lieber in der dhcpd.conf ?
Code:
subnet 192.168.178.0 netmask 255.255.255.0 {
# ...
        option domain-name-servers 192.168.178.1;
        option routers 192.168.178.1;
}


Danke, ich bekomme das aber trotzdem noch nicht ganz zum laufen.
Ich möchte das alle PCs mit den IPs aus der dhcpd.conf unterwegs sind, das klappt soweit. Aber die PCs sollen auch unter ihren selbst gegeben Namen erreichbar sein oder besser noch unter denen Namen die ich in der dhcpd.conf hinterlegt habe.
Aber eine Namensauflösung funktioniert fast nie ...
Der DNS ist ja für die Namensauflösung zuständig und das bleibt dann ja der Router!?
 
Zuletzt bearbeitet:
Setz dafür doch noch einen BIND DNS-Server auf, kann ja auf der gleichen Maschine liegen. Die BIND-Config ist bei kleinen Umgebungen auch nicht wirklich kompliziert.
 
Dann ist das
Code:
option host-name "name"
ohne Relevanz?

Was für DNS trage ich dann beim dhcp ein, wenn ich auch binds am Server mache?
 
Naja, vielleicht solltest du es doch dabei belassen die Fritzbox als DNS einzutragen, man soll ja nicht zu einem Problem unbedingt noch ein weiteres aufmachen.
Trag mal die Fritzbox als DNS direkt auf dem Server ein:

Saubere Methode.

cd /etc/resolvconf/resolv.conf.d

Kurz ein Backup des "head"-Files machen:
sudo cp -p head head.orig

"head"-File bearbeiten:
sudo nano head

Ans Ende des Files folgendes eintragen:
nameserver 192.168.178.1

File Abspeichern.

Die resolvconf update mit:
sudo resolvconf -u

Jetzt noch die /etc/resolv.conf checken ob da jetzt die Fritzbox drinsteht.
Wenn in der resolv.conf irgendein Müll drinsteht im Zweifel bei "head" alles rausschmeissen, nur die Fritzbox eintragen und die resolvconf updaten.

Und dann wie du bereits geschrieben hast in der dhcpd.conf auch die Fritzbox als DNS an die Clients weitergeben mit:
option domain-name-servers 192.168.178.1
 
Zuletzt bearbeitet:
Danke, ausführliche Anleitung.

Nach jedem resolvconf -u wird aber "nameserver 127.0.0.1" an die resolv.conf angehängt.

Auch ich kann immer noch nicht meinen Server von meinem PC aus per Namen anpingen. Der Löst den Namen "ChrisXu" immer zu "Ping wird ausgeführt für chrisxu.domain [62.157.140.133] ..." auf.
Die IP-Adresse habe ich aber sicher nicht so fest gelegt und es kommt da auch immer Zeitüberschreitung.
Per IP anpingen geht natürlich ...

Vom Server aus kann ich gar nichts per Namen anpingen, findet da gar nichts.

Der Server ist auch nirgends per Namen erreichbar.

Außerdem ist mir aufgefallen, dass für kurze Zeit (Bruchteile von Sekunden) die Verbindung so alle ca. 5-10min weg ist. Merkt man am Internet Radio und das man aus dem VNC-Client fliegt.
Jetzt habe ich den Server DHCP aus gemacht und den Router DHCP wieder ein und noch gibt es keine Verbindungseinbrüche.
Die Restlichen Fehler (von oben) bestehen aber weiter hin.
Ergänzung ()

.

Ich habe jetzt mal versucht dnsmasq zu installieren und konfigurieren. Den dhcpd hab ich gestoppt ...

In die /etc/hosts steht:
Code:
192.168.178.9    chrisxu.domain        ChrisXu            ## Server
192.168.178.11    win7pc.domain    win7kpc        ## PC

In der /etc/dnsmasq.conf steht:
Code:
dhcp-range=192.168.0.100,192.168.0.254,12h  ## 12h ist die Lease-Time
dhcp-option=3,192.168.178.1    ## Gateway
dhcp-host=8C:..:..:..:..:..,Win7pc,192.168.178.11,infinite

Dann habe ich versucht das zu starten service dnsmasq start und es kommt, dass die IP 192.168.178.9 schon vergeben ist.

Nichts scheint zu klappen. Ich möchte jetz eig. nur noch den Server unter seinen Namen erreichen können.
Ergänzung ()

.

Tja, jetzt geht gar nichts mehr. Habe alle DNS- und DHCP- Server (versucht) zu deaktivieren, kann aber trotzdem nicht mehr auf meinen Server, nicht mal mehr per IP, zugreifen :confused_alt:
Anpingen per IP geht, aber tja ...
Ergänzung ()

.

Andere PCs kann ich jetzt per IP von PCs auch nicht mehr erreichen ... vom Server kann ich meinen PC aber noch per IP erreichen ...
Anpingen geht immer, halt zugriff per samba, SSH oder VNC geht nicht mehr ...
Ergänzung ()

.

Was habe ich gemacht, dass ich den Server nur noch anpingen kann und nicht mehr per Samba, VNC oder SSH erreichen kann?
Und wie mache ich das rückgängig?
Ergänzung ()

.

"sudo ufw disable" hat das Problem gelöst, bzw. die Firewall das Problem verursacht. Aber so kann das ja auch nicht bleiben. Was sollte die Firewall eingestellt sein?
 
Zuletzt bearbeitet:
Wieso kann ich den Server nicht mehr erreichen, wenn ich die Firewall eig. richtig einstelle?
http://wiki.ubuntuusers.de/Dnsmasq#Firewall-Einstellungen

Wieso kann ich (jetzt) auf den Server nur noch zugreifen, wenn die Firewall desaktiviert ist?
Was muss ich einstellen, damit das auch mit Firewall klappt?


Was hat folgende Fehlermeldung zu bedeuten: ?
Code:
root@ChrisXu:~# service dnsmasq restart
 * Restarting DNS forwarder and DHCP server dnsmasq                                                                                                                                                                                          
dnsmasq: failed to create listening socket for 192.168.178.9: Die Adresse wird bereits verwendet
192.168.178.9 ist die IP des Servers.
Die IP ist im NetworkManager fest eingestellt.


Wenn ich im Windows den Server per Namen anpinge kommt das:
Code:
C:\>ping chrisxu

Ping wird ausgeführt für chrisxu.domain [80.156.86.78] mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
[...]
Woher kommt diese komische IP?

Im Windows habe ich die LAN-Verbiundung auf DHCP gestellt:
Code:
Ethernet-Adapter LAN-Verbindung:
   Verbindungsspezifisches DNS-Suffix: domain
   Beschreibung. . . . . . . . . . . : Realtek PCIe GBE Family Controller #2
   Physikalische Adresse . . . . . . : 8C-89-A5-7C-53-79
   DHCP aktiviert. . . . . . . . . . : Ja
   Autokonfiguration aktiviert . . . : Ja
   IPv6-Adresse. . . . . . . . . . . : 2003:6d:6f23:7a7:c424:4e9f:c434:9e6c(Bevorzugt)
   IPv6-Adresse. . . . . . . . . . . : 2003:6d:6f23:73a:c424:4e9f:c434:9e6c(Verworfen)
   Temporäre IPv6-Adresse. . . . . . : 2003:6d:6f23:73a:e17a:4436:4eaf:31a6(Verworfen)
   Temporäre IPv6-Adresse. . . . . . : 2003:6d:6f23:7a7:e17a:4436:4eaf:31a6(Bevorzugt)
   Verbindungslokale IPv6-Adresse  . : fe80::c424:4e9f:c434:9e6c%14(Bevorzugt)
   IPv4-Adresse  . . . . . . . . . . : 192.168.178.11(Bevorzugt)
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Lease erhalten. . . . . . . . . . : Sonntag, 6. Juli 2014 11:26:49
   Lease läuft ab. . . . . . . . . . : Sonntag, 6. Juli 2014 14:44:03
   Standardgateway . . . . . . . . . : fe80::1%14
                                       192.168.178.1
   DHCP-Server . . . . . . . . . . . : 192.168.178.9
   DHCPv6-IAID . . . . . . . . . . . : 227314085
   DHCPv6-Client-DUID. . . . . . . . : 00-01-00-01-16-EC-F3-34-8C-89-A5-7C-53-79
   DNS-Server  . . . . . . . . . . . : fe80::1%14
                                       192.168.178.1
   NetBIOS über TCP/IP . . . . . . . : Aktiviert

Was stimmt da nicht?
 
Crys schrieb:
Wieso kann ich den Server nicht mehr erreichen, wenn ich die Firewall eig. richtig einstelle?
Wenn ich im Windows den Server per Namen anpinge kommt das:
Code:
C:\>ping chrisxu

Ping wird ausgeführt für chrisxu.domain [80.156.86.78] mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
[...]
Woher kommt diese komische IP?

Was stimmt da nicht?

Kopier dir die /etc/hosts von denem Server auf dein Windows-Rechner. Unter Windows ist die hosts-Datei ....ein bisschen versteckter...
C:\Windows\system32\drivers\etc\hosts bzw. %SystemRoot%\system32\drivers\etc\hosts
Wenn du das unter Windows einmal eingetragen hast, dann klapts auch mit dem ping auf den Kurznamen ;)
Es könnte gut sein, dass die IP, da oben, schon in der Hosts-Datei drinsteht. Schau dir auf jeden fall noch ein paar sachen zum DNS aufbau an.
 
Danke, aber das bei Windows wusste ich und bringt mir leider nichts. Weil dann könnte ich mir den DNS-Server ja gleich sparen!?
Und an diversen Handys, Laptops und anderen PCs sollte es ja auch gehen. Und möchte das sicher nicht überall manuell einstellen, dann kann jeder gleich die IP eingeben ;)

Und nein, die komische IP-Adresse steht nirgenswo, auch nicht in der \etc\hosts in Windows. Die selbe IP-Adesse pingen auch Ubuntu und Co an, also muss die IP ja vom Server selbst kommen, denn der ist ja für den Namen zuständig!?
 
Zu dnsmasq kann ich leider nichts beitragen, bei mir läuft isc-dhcp-server+bind.
Um herrauszufinden warum du dnsmasq nicht neustarten kannst - stope dnsmasq und führe dann das aus:
Code:
netstat -tulpen | egrep ":53 |:67 "
Wenn da etwas rauskommt, dann belegt ein anderer Dienst die Ports.

Auf deinem Windows-Rechner ist dein Router als DNS-Server eingetragen und nicht dein Server. Wenn in deiner Hosts-Datei nicht die IP eingetragen ist, dann sollte dein router die öffntliche IP zurückliefern.
.domain ist soweit ich weiß keine gültige Top Level Domain, also muss irgendwo in deinem Heimnetz diese IP statisch eingetragen sein.
Was passiert denn wenn du das in cmd eingibst?:

Code:
nslookup chrisxu
 
Code:
root@ChrisXu:~# service dnsmasq stop
 * Stopping DNS forwarder and DHCP server dnsmasq
 * (not running)
root@ChrisXu:~# netstat -tulpen | egrep ":53 |:67 "
tcp        0      0 192.168.178.9:53        0.0.0.0:*               LISTEN      120        31429       1214/named      
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      0          13545       1769/dnsmasq    
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      120        8992        1214/named      
tcp6       0      0 :::53                   :::*                    LISTEN      120        8987        1214/named      
udp        0      0 192.168.178.9:53        0.0.0.0:*                           120        31428       1214/named      
udp        0      0 127.0.1.1:53            0.0.0.0:*                           0          13544       1769/dnsmasq    
udp        0      0 127.0.0.1:53            0.0.0.0:*                           120        8991        1214/named      
udp        0      0 0.0.0.0:67              0.0.0.0:*                           0          11789       1118/dhcpd      
udp6       0      0 :::53                   :::*                                120        8986        1214/named
Was heißt das jetzt?


Code:
C:\>nslookup chrisxu
Server:  speedport.ip
Address:  fe80::1

*** chrisxu wurde von speedport.ip nicht gefunden: Non-existent domain.
Ich habe seit ein paar Wochen ein SpeedPort. der DHCP darauf ist aber auch deaktiviert.
 
Zurück
Oben