0

I am trying to setup dnsmasq on my CentOS 7 system. Every time dnsmasq come up it say in the log that it cannot bind dhcp server socket.

Oct 24 14:47:16 centos1 dnsmasq[1200]: started, version 2.76 cachesize 150
Oct 24 14:47:16 centos1 dnsmasq[1200]: compile time options: IPv6 GNU-getopt DBus no-i18n IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth no-DNSSEC loop-detect inotify
Oct 24 14:47:16 centos1 dnsmasq-dhcp[1200]: DHCP, IP range 192.168.2.100 -- 192.168.2.199, lease time 2d
Oct 24 14:47:16 centos1 dnsmasq-tftp[1200]: TFTP root is /var/lib/tftpboot
Oct 24 14:47:16 centos1 dnsmasq[1200]: using nameserver 8.8.4.4#53
Oct 24 14:47:16 centos1 dnsmasq[1200]: reading /etc/resolv.conf
Oct 24 14:47:16 centos1 dnsmasq[1200]: using nameserver 8.8.4.4#53
Oct 24 14:47:16 centos1 dnsmasq[1200]: using nameserver 192.168.2.1#53
Oct 24 14:47:16 centos1 dnsmasq[1200]: read /etc/hosts - 2 addresses
Oct 24 14:47:17 centos1 dnsmasq[1200]: reading /etc/resolv.conf
Oct 24 14:47:17 centos1 dnsmasq[1200]: using nameserver 8.8.4.4#53
Oct 24 14:47:17 centos1 dnsmasq[1200]: using nameserver 192.168.2.1#53
**Oct 24 14:47:20 centos1 dnsmasq[1387]: failed to bind DHCP server socket: Address already in use**

I have checked the port with netstat and all of the port seems okay to me (they all attached to dnsmasq):

[root@centos1 log]# netstat -anlp | grep -w LISTEN
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      1200/dnsmasq
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1206/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1203/cupsd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1481/master
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd
tcp6       0      0 :::21                   :::*                    LISTEN      1213/vsftpd
tcp6       0      0 :::53                   :::*                    LISTEN      1200/dnsmasq
tcp6       0      0 :::22                   :::*                    LISTEN      1206/sshd
tcp6       0      0 ::1:631                 :::*                    LISTEN      1203/cupsd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1481/master
[root@centos1 log]# netstat -anup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 0.0.0.0:36235           0.0.0.0:*                           982/dhclient
udp        0      0 0.0.0.0:4011            0.0.0.0:*                           1200/dnsmasq
udp        0      0 0.0.0.0:53              0.0.0.0:*                           1200/dnsmasq
udp        0      0 0.0.0.0:60476           0.0.0.0:*                           643/avahi-daemon: r
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1200/dnsmasq
udp        0      0 0.0.0.0:68              0.0.0.0:*                           982/dhclient
udp        0      0 0.0.0.0:69              0.0.0.0:*                           1200/dnsmasq
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           643/avahi-daemon: r
udp        0      0 127.0.0.1:323           0.0.0.0:*                           659/chronyd
udp6       0      0 :::53                   :::*                                1200/dnsmasq
udp6       0      0 :::69                   :::*                                1200/dnsmasq
udp6       0      0 :::49922                :::*                                982/dhclient
udp6       0      0 ::1:323                 :::*                                659/chronyd

Also here is my /etc/dnsmasq.conf

interface=enp0s3,lo
#bind-interfaces
domain=centos.home
# DHCP range-leases
dhcp-range= 192.168.2.100,192.168.2.199,255.255.255.0,48h
# PXE
dhcp-boot=pxelinux.0,pxeserver,192.168.2.199
# Gateway
dhcp-option=3,192.168.2.1
# DNS
dhcp-option=6,192.168.2.1,8.8.8.8
server=8.8.4.4
# Broadcast Address
dhcp-option=28,10.0.0.255
dhcp-host=08:00:27:c3:a2:df,192.168.2.199
# NTP Server
#dhcp-option=42,0.0.0.0
pxe-prompt="Press F8 for menu.", 60
pxe-service=x86PC, "Install CentOS 7 from network server 192.168.2.199", pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot

What I am missing?

  • today I have seen two different error, I just did a reboot no changes on the config files were applied. the first one is: Oct 25 11:36:26 centos1 libvirtd: 2017-10-25 16:36:26.487+0000: 1288: error : virCommandWait:2572 : internal error: Child process (VIR_BRIDGE_NAME=virbr0 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper) unexpected exit status 2: Oct 25 11:36:26 centos1 libvirtd: dnsmasq: failed to bind DHCP server socket: Address already in use – Electirc_ar Oct 25 '17 at 18:02
  • the second one: ` Oct 25 11:41:48 centos1 dnsmasq[10937]: cannot open or create lease file /var/lib/dnsmasq/dnsmasq.leases: Permission denied ` if someone need more information, just let me know what you need. I have to fix this asap. – Electirc_ar Oct 25 '17 at 18:03
0

I did stop dnsmasq and checked all the port, but all the port that dnsmasq use were gone. anyway I think this idea put me on the right track. so I tried to check the port status and it came to my mind that the fire wall might be blocking some/all of dnsmasq port connection, and actually that was it. I just disabled the firewall on those port and it started working fine finally.

for the record here is what I did: I check the port that I need from the netstat command above and open all port on the firewall

firewall-cmd --add-service=ftp --permanent     
firewall-cmd --add-service=dns --permanent     
firewall-cmd --add-service=dhcp --permanent 
firewall-cmd --add-port=69/udp --permanent  
firewall-cmd --add-port=4011/udp --permanent
firewall-cmd --reload

Thanks

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.