私が何か簡単なものを見逃しているのではないかと思いますが、今この問題を修正するにはもっと注意が必要です。同じNICに2つの独立したネットワークが必要です(イーサネット1):192.168.0.0/24そして192.168.1.0/24。インターフェイスは次のとおりです
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> 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<UP,BROADCAST,RUNNING,MULTICAST> 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. **
....
なぜ?
答え1
ネットワークインターフェイス名は、eth1:1
個々のインターフェイスまたは仮想インターフェイスを指定しません。eth1:1
ただ愚かなので、eth1
存在するインターフェイスのエイリアスですifconfig
(上記の説明で述べたように使用しないでください)。
両方の宣言を含めるにshared-network
は、1つの宣言を使用する必要があります。両方のサブネットにIPアドレスも割り当てる必要があります。ただし、互換性のためにアドレスにタグを追加できます。eth1
subnet
eth1
ifconfig
ip addr add 192.168.1.250/24 label eth1:1 dev eth1
それでも問題があります。クライアントからの要求は単一の回線を介して着信し、各要求にはクライアントのMACアドレスと送信元IPアドレスの0.0.0.0が含まれています。動的IPアドレスが展開されている場合、DHCPサーバーはクライアントにIPアドレスを割り当てる必要があるサブネットが何であるかを知りません。このshared-network
設定は、複数のサブネットが1つのアドレスプールに結合されている状況に適しており、役割が異なるサブネットには適していません。