我想我可能错过了一些简单的东西,但我在这个问题上需要一些额外的关注。我需要两个不同的网络在同一个网卡上(eth1):192.168.0.0/24和192.168.1.0/24。这些接口是:
eth1: flags=4163 mtu 1500
inet 192.168.1.250 netmask 255.255.255.0 broadcast 192.168.1.255
ether 0c:c4:7a:7d:bb:f8 txqueuelen 1000 (Ethernet)
RX packets 24515 bytes 5405247 (5.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 31116 bytes 3036051 (2.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xdf200000-df220000
eth1:1: flags=4163 mtu 1500
inet 192.168.0.250 netmask 255.255.255.0 broadcast 192.168.0.255
ether 0c:c4:7a:7d:bb:f8 txqueuelen 1000 (Ethernet)
device interrupt 16 memory 0xdf200000-df220000 在/etc/sysconfig/dhcpd我有
DHCPD_INTERFACE="eth1 eth1:1"
DHCPDARGS="eth1 eth1:1"在/etc/dhcpd.conf我有
subnet 192.168.0.0 netmask 255.255.255.0 {
pool {
....
}
}
subnet 192.168.1.0 netmask 255.255.255.0 {
pool {
....
}
}然而,当我启动dhcpd时,我看到了这个
$ sudo journalctl -xeu dhcpd.service
....
dhcpd[5113]: No subnet declaration for eth1:1 (no IPv4 addresses).
dhcpd[5113]: ** Ignoring requests on eth1:1. If this is not what
dhcpd[5113]: you want, please write a subnet declaration
dhcpd[5113]: in your dhcpd.conf file for the network segment
dhcpd[5113]: to which interface eth1:1 is attached. **
....为什么?
发布于 2018-01-14 17:45:26
像eth1:1这样的网络接口名称不指定单独的接口,甚至不指定虚拟接口。eth1:1只是存在的eth1接口的别名,因为ifconfig是哑的(不应该使用,正如上面的注释所指出的)。
您应该为eth1使用一个D5声明,包括两个subnet声明。两个子网的IP地址也应该分配给eth1。顺便说一句,您可以在地址中添加一个标签,以实现与ifconfig的兼容性。
ip addr add 192.168.1.250/24 label eth1:1 dev eth1还有一个问题:客户端的请求以单线方式传入,每个请求都包含客户端的MAC地址,0.0.0.0作为源IP地址。如果要分发动态IP地址,则DHCP服务器不知道应从哪个子网向客户端分配IP地址。shared-network设置用于将两个或多个子网组合在一个地址池中,并且实际上不适合具有不同角色的子网。
https://unix.stackexchange.com/questions/416407
复制相似问题