Centos
當 systemd 服務 dnsmasq 被禁用時,CentOS 7.5.1804 dnsmasq 在啟動時啟動
我在 CentOS 7.5.1804 上使用 SAMBA_INTERNAL DNS 配置 SAMBA AD DC。為此,在 samba 啟動時,不應在埠 *:53/tcp 上監聽任何內容。系統中的某些東西在啟動時啟動 dnsmasq 並阻止埠。我不知道它是什麼。Systemd 顯示 dnsmasq 服務已禁用:
dnsmasq.service - DNS caching server. Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; disabled; vendor preset: disabled) Active: inactive (dead)
有什麼想法可以找到和禁用啟動 dnsmasq 的程序嗎?
提前致謝。
首先,找到偵聽 UDP 埠 53 的程序
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 的程序 ID。找出是否有 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 應該在一個 VM 中;VM 主機除了執行虛擬機之外什麼都不做。)
如果
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