Networking

Centos 6.8 VM 客戶端未從 Rasbian dnsmasq 伺服器獲取 DHCP 保留 IP

  • February 10, 2017

我有一個 CentOS VM 客戶端,它應該從我的 Rasbian dnsmasq 伺服器獲取保留 IP,但是客戶端只會一遍又一遍地提取相同的動態租約,而不是我為其配置的 IP。

完整設置如下:

  • CentOS 6.8 KVM 主機 (Dell R710)
  • CentOS 6.8 虛擬機
  • Raspberry Pi 執行最新的 Pixel(?) 版本

Pi 為我的 LAN 中的三個子網託管 dnsmasq 伺服器,192.168.0.0(家庭)、192.168.1.0(實驗室)、192.168.2.0(Wifi)一切正常,我注意到的 DHCP 或 DNS 沒有問題。

CentOS KVM 主機有一個保留的 DHCP 地址,可以正常工作。一個新的 CentOS VM(最小映像,Plex)有一個保留的 DHCP 地址,它拒絕使用。

我嘗試通過以下方式保留 IP:

dhcp-host=MACADDRESS,IPADDRESS

或者

dhcp-host=MACADDRESS,IPADDRESS,HOSTNAME.DOM.AIN

並且還通過指定 dhcp-hostsfile 並將相同的資訊放入其中。

我已經從 dnsmasq 伺服器的 /var/lib/misc/dnsmasq.leases 中刪除了有問題的動態租約

我已經刪除了 VM 客戶端的 /etc/dhcp/dhclient-eth0.conf 和 /var/lib/dh​​client/dhclient.leases 和 dhclient-eth0.leases

我跑步的每一步

dhclient -r eth0;ifdown eth0;ifup eth0

或一些類似的組合

哦,我已經兩次和三次檢查了沒有未完成的租約具有相同的 IP 地址,沒有其他設備竊取了該 IP,並且具有該 IP 的原始電腦是一個當機 Windows VM

這是執行 dhclient -r;dhclient 時來自 dnsmasq 伺服器的日誌文件條目範例

Feb  7 16:42:55 dnsmasq-dhcp[660]: 2347579967 available DHCP range: 192.168.1.100 -- 192.168.1.200
Feb  7 16:42:55 dnsmasq-dhcp[660]: 2347579967 DHCPRELEASE(eth0.2) 192.168.1.192 52:54:00:1c:26:66
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 available DHCP range: 192.168.1.100 -- 192.168.1.200
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 DHCPDISCOVER(eth0.2) 192.168.1.192 52:54:00:1c:26:66
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 tags: tag2, eth0.2
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 DHCPOFFER(eth0.2) 192.168.1.192 52:54:00:1c:26:66
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 requested options: 1:netmask, 28:broadcast, 2:time-offset, 121:classless-static-route,
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 requested options: 15:domain-name, 6:dns-server, 12:hostname,
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 requested options: 40:nis-domain, 41:nis-server, 42:ntp-server,
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 requested options: 26:mtu, 119:domain-search, 3:router
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 next server: 192.168.1.250
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  1 option: 53 message-type  2
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option: 54 server-identifier  192.168.1.250
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option: 51 lease-time  7h
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option: 58 T1  3h30m
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option: 59 T2  6h7m30s
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option:  1 netmask  255.255.255.0
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option: 28 broadcast  192.168.1.255
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size: 18 option: 15 domain-name  ############.com
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size: 12 option:  6 dns-server  192.168.1.250, 8.8.8.8, 192.168.1.1
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option:  3 router  192.168.1.1
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 available DHCP range: 192.168.1.100 -- 192.168.1.200
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 DHCPREQUEST(eth0.2) 192.168.1.192 52:54:00:1c:26:66
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 tags: tag2, eth0.2
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 DHCPACK(eth0.2) 192.168.1.192 52:54:00:1c:26:66
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 requested options: 1:netmask, 28:broadcast, 2:time-offset, 121:classless-static-route,
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 requested options: 15:domain-name, 6:dns-server, 12:hostname,
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 requested options: 40:nis-domain, 41:nis-server, 42:ntp-server,
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 requested options: 26:mtu, 119:domain-search, 3:router
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 next server: 192.168.1.250
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  1 option: 53 message-type  5
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option: 54 server-identifier  192.168.1.250
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option: 51 lease-time  7h
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option: 58 T1  3h30m
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option: 59 T2  6h7m30s
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option:  1 netmask  255.255.255.0
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option: 28 broadcast  192.168.1.255
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size: 18 option: 15 domain-name  #############.com
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size: 12 option:  6 dns-server  192.168.1.250, 8.8.8.8, 192.168.1.1
Feb  7 16:42:55 dnsmasq-dhcp[660]: 171708215 sent size:  4 option:  3 router  192.168.1.1

(接收的正確 IP 地址為 192.168.2.9)

還有我的 dnsmasq.conf 文件:

dhcp-authoritative
log-queries
log-dhcp
log-facility = /var/log/dns-log.log
# Never forward plain names (without a dot or domain part)
domain-needed

# Never forward addresses in the non-routed address spaces.
bogus-priv

# If you don't want dnsmasq to read /etc/resolv.conf or any other
# file, getting its servers from this file instead (see below), then
# uncomment this.
#no-resolv

# If you don't want dnsmasq to poll /etc/resolv.conf or other resolv
# files for changes and re-read them then uncomment this.
#no-poll

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/############.com/
#server=/###########.com/192.168.0.250

###### External DNS
server=ISP#DNS#SERVER
server=8.8.8.8

#################################interfaces to bind, vlan style
interface=eth0.1
interface=eth0.2
interface=eth0.3

# If you don't want dnsmasq to read /etc/hosts, uncomment the
# following line.
#no-hosts
# or if you want it to read another file, as well as /etc/hosts, use
# this.
#addn-hosts=/etc/dnsmasq-static.conf

# Set this (and domain: see below) if you want to have a domain
# automatically added to simple names in a hosts-file.
expand-hosts

# Set the domain for dnsmasq. this is optional, but if it is set, it
# does the following things.
# 1) Allows DHCP hosts to have fully qualified domain names, as long
#     as the domain part matches this setting.
# 2) Sets the "domain" DHCP option thereby potentially setting the
#    domain of all systems configured by DHCP
# 3) Provides the domain part for "expand-hosts"
domain=##########.com


# Uncomment this to enable the integrated DHCP server, you need
# to supply the range of addresses available for lease and optionally
# a lease time. If you have more than one network, you will need to
# repeat this for each network on which you want to supply DHCP
# service.

   ############################################################################################################
dhcp-range=set:tag1,192.168.0.100,192.168.0.200,255.255.255.0,7h
dhcp-range=set:tag2,192.168.1.100,192.168.1.200,255.255.255.0,7h
dhcp-range=set:tag3,192.168.2.100,192.168.2.200,255.255.255.0,7h

#######################################
# Always set the name of the host with hardware address
# 11:22:33:44:55:66 to be "fred"

#FIRST TRY SETTING RESERVATION, THEN MOVED TO STATIC FILE
#dhcp-host=52:54:00:1C:26:66,192.168.2.9
dhcp-hostsfile=/etc/dns-static.conf


# If this line is uncommented, dnsmasq will read /etc/ethers and act
# on the ethernet-address/IP pairs found there just as if they had
# been given as --dhcp-host options. Useful if you keep
# MAC-address/host mappings there for other purposes.
#read-ethers

####################################################################################DEFAULT ROUTES
dhcp-option=tag:tag1,option:router,192.168.0.1
dhcp-option=tag:tag2,option:router,192.168.1.1
dhcp-option=tag:tag3,option:router,192.168.2.1

dhcp-option=tag:tag1,option:dns-server,192.168.0.250,8.8.8.8,192.168.0.1
dhcp-option=tag:tag2,option:dns-server,192.168.1.250,8.8.8.8,192.168.1.1
dhcp-option=tag:tag3,option:dns-server,192.168.2.250,8.8.8.8,192.168.2.1

原來是我的一個 VLAN 錯誤。

我最終在第二個乙太網埠上創建了第二個網橋介面,將其標記到 192.168.2.0 VLAN,將 VM 更改為使用新網橋,然後噗

引用自:https://unix.stackexchange.com/questions/343336