我有一个 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-hosts 文件并将相同的信息放入其中。
我已经从 dnsmasq 服务器的 /var/lib/misc/dnsmasq.leases 中删除了有问题的动态租约
我已经删除了VM客户端的/etc/dhcp/dhclient-eth0.conf和/var/lib/dhclient/dhclient.leases和dhclient-eth0.leases
我奔跑的每一步
dhclient -r eth0;ifdown eth0;ifup eth0
或一些类似的组合
哦,我已经仔细检查过,没有未完成的租约具有相同的 IP 地址,没有其他设备窃取了该 IP,并且具有该 IP 的原始计算机是死机 Windows 虚拟机
以下是运行 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
答案1
结果发现是我的 VLAN 错误。
我最终在第二个以太网端口上创建了第二个桥接口,将其标记到 192.168.2.0 VLAN,更改虚拟机以使用新桥,然后噗