eth0
私の内部インターフェースである静的アドレスは10.0.0.1
です。またp4p1
、外部インターフェースとして機能するインターフェースも備えています。それが重要な場合、私の外部インターフェイスは物理的に接続されておらず、iptables
オフ/まだ書き込まれています。
/etc/sysconfig/dhcpd
:
DHCPDARGS=eth0
のサブネット句/etc/dhcpd.conf
:
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.1;
option domain-name-servers 10.0.0.1;
option ntp-servers 10.0.0.1;
default-lease-time 86400; # 1 day
max-lease-time 604800; # 7 days
use-host-decl-names on;
ddns-updates on;
use-host-decl-names on;
allow unknown-clients;
ignore client-updates;
option domain-name "localdomain";
ddns-domainname "localdomain";
next-server 10.0.0.1;
filename "pxelinux.0";
group # known hosts
{
host host1.localdomain {hardware ethernet [REDACTED]; fixed-address host1.localdomain;}
host host2.localdomain {hardware ethernet [REDACTED]; fixed-address host2.localdomain;}
{
pool
{
one-lease-per-client true;
ping-check true;
range 10.0.0.51 10.0.0.60;
}
}
それで、起動時に「サブネット宣言がありません」というエラーメッセージが引き続き表示されるのはなぜですか?
No subnet declaration for eth0 (10.0.0.1).
** Ignoring requests on eth0. If this is not what
you want, please write a subnet declaration
in your dhcpd.conf file for the network segment
to which interface eth0 is attached. **
UPDATE 4/1 1900h
今夜の実験の前に:
[root@father ~]# ip addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 90:e2:ba:2d:92:4d brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/24 brd 10.0.0.255 scope global eth0
inet6 fe80::92e2:baff:fe2d:924d/64 scope link
valid_lft forever preferred_lft forever
私は内部ネットワークのIPアドレスを、動作に変化がないように、192.168.100.0/24
変更に合わせて/etc/dhcpd.conf
に切り替えました。
[root@father ~]# ip addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 90:e2:ba:2d:92:4d brd ff:ff:ff:ff:ff:ff
inet 192.168.100.1/24 brd 192.168.100.255 scope global eth0
inet6 fe80::92e2:baff:fe2d:924d/64 scope link
valid_lft forever preferred_lft forever
[root@father ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 p4p1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 p4p1
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth0
ああ、ちょっと!そこにゲートウェイはありません!とファイルGATEWAY=192.168.0.1
で修正するのは簡単です。そして...ifcfg-eth0
ifcfg-p4p1
service network restart
[root@father ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 p4p1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 p4p1
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 p4p1
したがって、ゲートウェイがありservice dhcpd start
ますが、同じエラーで失敗します。
その他の注意事項:
p4p1
物理的に接続されていません。service dhcpd configtest
と言うSyntax: OK
。したがって、これはほぼ間違いなくブレースの配置が間違っている場合ではありません。
systemd
:あなたは、コピーすることができます/lib/systemd/system/dhcpd.service
にを/etc/systemd/system/
して、インターフェイスを指定Execのの行:ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid eth0