Centos

DHCPD 忽略我的子網聲明

  • March 4, 2021

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. **

更新 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

噢!嗨!那裡沒有網關!使用and文件GATEWAY=192.168.0.1中的a 很容易解決這個問題。和…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 configtestSyntax: OK。所以,這幾乎可以肯定不是支架放錯的情況。

好的,我可以得到一個“D’oh!” 來自會眾!

在 RHEL6 及其衍生版本中,dhcpd 配置文件現在位於/etc/dhcp/dhcpd.conf,而不是/etc/dhcpd.conf. 移動文件,一切都很好。

您在其中指定的dhcpd.conf子網遮罩必須與您的介面子網遮罩匹配。

跑:

/sbin/ifconfig eth0

您將子網遮罩指定為255.255.255.0,這很可能是錯誤的。更改您dhcpd.conf以匹配您的界面。

DHCP 伺服器正在偵聽的介面必須具有您在 DHCP 配置中使用的同一子網的靜態 IP。

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