Ich habe einen Server wie im folgenden Link https://help.ubuntu.com/community/Dnsmasq eingerichtet
root@user-desktop:/etc/init.d# sudo apt-get install dnsmasq
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
dnsmasq
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/15.4 kB of archives.
After this operation, 120 kB of additional disk space will be used.
Selecting previously unselected package dnsmasq.
(Reading database ... 146283 files and directories currently installed.)
Unpacking dnsmasq (from .../dnsmasq_2.59-4_all.deb) ...
Processing triggers for ureadahead ...
Setting up dnsmasq (2.59-4) ...
* Starting DNS forwarder and DHCP server dnsmasq
dnsmasq: failed to create listening socket for port 53: Address already in use [fail]
invoke-rc.d: initscript dnsmasq, action "start" failed.
dns=dnsmasq
das Auskommentieren wird der Zweck der Installation von DNSmasq nicht zunichte gemacht. Ich habe dielisten-address=127.0.0.1
Änderung vorgenommen und es scheint jetzt gut zu funktionieren.Ich hatte das gleiche problem
dnsmasq-base
wurde auf Port 53 installiert und abgehört und konnte nichtdnsmasq
gestartet werden.Es ist möglich,
dnsmasq-base
insead vondnsmasq
für den gleichen Zweck zu verwenden: Verwenden Sie einfach ein anderes Konfigurationsverzeichnis: das imNetwork Manager
Ordner:quelle
Überprüfen Sie, was auf Port 53 (Domain) abgehört wird, mit:
Deaktivieren Sie alle Dienste, die auf diesem Port ausgeführt werden. Das ist normalerweise so
systemd-resolved
.Ich werde es auch
mask
, damit es beim Neustart nicht automatisch startet.So machen Sie das, was Sie getan haben, rückgängig:
Es
sudo update-rc.d systemd-resolved disable
kann auch sein, dass es beim Booten nicht mehr automatisch gestartet wird, ich habe es jedoch nicht getestet. Verwenden Siedefaults
anstelle vondisable
, um den Befehl rückgängig zu machen.Oder Sie können ändern, welchen Port dnsmasq abhört, indem Sie die Konfigurationsdatei bearbeiten:
Drücken Sie Ctrl+ Wund tippen Sie
listen-address=
und drücken Sie die Eingabetaste.Kommentieren Sie die Zeile aus und fügen Sie 127.0.0.1 mit einem anderen Port als 53 hinzu:
quelle
EDIT: etwas googeln, und ich habe die Lösung gefunden . Es scheint, dass der Netzwerkmanager von einem Paket namens "dnsmasq-base" abhängt, das einige der dnsmasq-Funktionen bietet. Dnsmasq-Eintrag im Ubuntu-Wiki besagt das
Mit anderen Worten: Sie möchten dnsmasq verwenden? Dann wissen Sie besser, was Sie tun. Die zuvor erwähnte Lösung schlägt vor, dnsmasq-base wie folgt durch dnsmasq zu ersetzen (der erste Befehl entfernt auch den Netzwerkmanager):
Und hier ein paar allgemeine Kommentare zum Finden, was Ihre Ports blockiert: Sie können herausfinden, was welchen Port überwacht, indem Sie Folgendes verwenden
lsof
:listet die IPv4-Ports aufgrund der -i4 auf, während
listet die IPv6-Ports auf. Oder tippe einfach
Dies sollte Ihnen (hoffentlich) mitteilen, was Port 53 verwendet. Die
-Pn
Befehlszeilenschalter verhindern die Umwandlung von Portnummer / Host-IPs in Namen.Alternativ können Sie auch ausführen
quelle
sudo apt-get remove dnsmasq-base
keine Netzwerkverbindung mehr hatte und die nächsten Schritte nicht ausführen konnte! Es stellte sich heraus, dass die Lösung dhclient ausführt, um eine neue IP-Adresse zu erhalten.