Centos
dnsmasq 無法在 CentOS 7 上啟動 dhcp 伺服器
我正在嘗試在我的 CentOS 7 系統上設置 dnsmasq。每次 dnsmasq 出現時,它都會在日誌中說它無法綁定 dhcp 伺服器套接字。
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**
我已經檢查了埠,
netstat
所有埠對我來說似乎都可以(它們都連接到 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
這也是我的
/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
我錯過了什麼?
我確實停止了 dnsmasq 並檢查了所有埠,但是 dnsmasq 使用的所有埠都消失了。無論如何,我認為這個想法讓我走上了正軌。所以我嘗試檢查埠狀態,我想到防火牆可能阻止了部分/全部 dnsmasq 埠連接,實際上就是這樣。我剛剛禁用了這些埠上的防火牆,它終於開始正常工作了。
記錄在這裡是我所做的:我從上面的 netstat 命令檢查我需要的埠並打開防火牆上的所有埠
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
謝謝