Назад | Перейти на главную страницу

CentOS 7.5.1804 dnsmasq запускается при загрузке, когда служба systemd dnsmasq отключена

Я настраиваю SAMBA AD DC, используя SAMBA_INTERNAL DNS на CentOS 7.5.1804. Чтобы это работало, ничто не должно прослушивать порт *: 53 / tcp во время запуска samba. Что-то в системе запускает dnsmasq при загрузке и блокирует порт. Я не могу понять, что это. Systemd показывает, что служба dnsmasq отключена:

dnsmasq.service - DNS caching server.
Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; disabled; vendor preset: disabled)
Active: inactive (dead)

Есть идеи, как я могу найти и отключить процесс, запускающий dnsmasq?

Заранее спасибо.

Сначала найдите процесс (ы), прослушивающий 53 UDP-порт с помощью lsof -i <proto>:<port>:

[root@www ~]# lsof -i udp:53
COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dnsmasq 4053 dnsmasq    7u  IPv4  52803      0t0  UDP www.example.com:domain 

Теперь у вас есть идентификаторы процессов для dnsmasq. Узнайте, запустила ли их служба systemd, используя systemctl status <pid>:

[root@www ~]# systemctl status 4053
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-11-18 15:48:33 EST; 17h ago
     Docs: man:libvirtd(8)
           https://libvirt.org
 Main PID: 2881 (libvirtd)
    Tasks: 22 (limit: 32768)
   Memory: 73.0M
   CGroup: /system.slice/libvirtd.service
           ├─2881 /usr/sbin/libvirtd
           └─4053 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper

В моем случае libvirtd запустила dnsmasq для предоставления службы DNS виртуальным машинам. Ваша ситуация может быть другой. (Конечно, если вы все же найдете libvirtd, это означает, что ваша архитектура неправильная. В этом случае ваш Samba DC должен находиться на виртуальной машине; хост виртуальной машины не должен ничего делать, кроме как запускать виртуальные машины.)

Если systemctl status не дает никаких подсказок, тогда используйте ps чтобы проверить командную строку, чтобы увидеть, сможете ли вы найти дополнительные подсказки.

[root@www ~]# ps -l 4053 | cat
F S   UID     PID    PPID  C PRI  NI ADDR SZ WCHAN  TTY        TIME CMD
5 S   968    4053       1  0  80   0 -  6060 x64_sy ?          0:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper