Debian dhcpd“ ไม่มีการประกาศ subnet สำหรับ eth0”


9


ฉันพยายามตั้งค่าเซิร์ฟเวอร์บูต pxe บนเครื่อง Debian 6.0.3 Squeeze ที่ให้ภาพของ PLoP Linux ผมก็ทำตามนี้กวดวิชา
เมื่อฉันพยายามเริ่ม dhcpd (จากแพ็คเกจ dhcp3-server) ฉันได้รับสิ่งต่อไปนี้:

No subnet declaration for eth0 (10.0.0.0).
**Ignoring requests on eth0. If this is not what
  you want, please write a subnet delclaration
  in your dhcpd.conf file for the network segment 
  to which interface eth0 is attached. **



Not configured to listen on any interfaces!

ฉัน/etc/dhcpd.confเหมือนกับที่บันทึกไว้ในบทช่วยสอนสำหรับการเปลี่ยนแปลงเล็กน้อย:

host testpc {
        hardware ethernet 00:0C:6E:A6:1A:E6;
        fixed-address 10.0.0.250;
}

แทน

host tablet {
        hardware ethernet 00:02:3F:FB:E2:6F;
        fixed-address 10.0.0.249;
}

ของฉัน/etc/network/interfacesคือ:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 10.0.0.0
        netmask 255.255.255.0

และนี่คือของฉัน/etc/default/isc-dhcp-server:

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

ซึ่งฉันคัดลอกไป/etc/default/dhcp3-serverเช่นกันไม่แน่ใจว่ามันจะตรวจสอบ

ฉันพยายามตั้งค่า ip /etc/network/interfacesเป็น 10.0.0.1 และ 10.0.0.2 แต่มันให้ผลลัพธ์เหมือนกัน

คำตอบ:


8

เนื่องจาก dhcpd ต้องแจกที่อยู่ IP ให้กับลูกค้าจึงจำเป็นต้องทราบช่วงของที่อยู่ที่รับผิดชอบ การประกาศ subnet มอบ dhcpd ข้อมูลนั้นและอื่น ๆ สมมติว่าคุณใช้ 10.0.0 / 24 ต่อไปนี้จะช่วยให้คุณเริ่มต้นและผ่านข้อความแสดงข้อผิดพลาดได้ แต่คุณต้องเข้าสู่เอกสารประกอบเพื่อไปต่อ เพิ่มไปยัง dhcpd.conf ของคุณ:

subnet 10.0.0.0 netmask 255.255.255.0 { 
   authoritative; 
   range 10.0.0.1 10.0.0.254; 
   default-lease-time 3600; 
   max-lease-time 3600; 
   option subnet-mask 255.255.255.0; 
   option broadcast-address 10.0.0.255; 
   option routers 10.0.0.0; 
   option domain-name-servers 8.8.8.8; 
   option domain-name "example.com"; 
} 

ที่อยู่ IP ที่ฉันเสียบด้านบนนั้นเป็นสิ่งที่คาดเดาได้ คุณต้องตั้งค่าเหล่านี้ให้เหมาะสมสำหรับการตั้งค่าของคุณ


2

ปัญหาคือว่า10.0.0.0ไม่ใช่ที่อยู่ IPv4 ที่ถูกต้อง ที่อยู่แรกในซับเน็ต (ที่อยู่ที่มีค่าศูนย์ทั้งหมดสำหรับส่วนโฮสต์) เป็นตัวระบุซับเน็ตดังนั้นจึงไม่ใช่ที่อยู่โฮสต์ที่ถูกต้อง ลอง10.0.0.1ดู คุณควรหลีกเลี่ยงที่อยู่สุดท้ายในซับเน็ตเนื่องจากเป็นที่อยู่ IP ของการออกอากาศ

Decimal: 
  Address:     10   .0  .0  .0
  Subnet Mask: 255.255.255.255
Hex:     
  Address:     0A 00 00 00 
  Subnet Mask: FF FF FF 00
  Network:     ^^ ^^ ^^
  Host:                 ^^
  Smallest Addr:        01 (.1)
  Largest Addr:         FE (.254)
  Broadcast:            FF (.255)

1

ฉันลงเอยด้วยการกวาดล้าง dhcp3-server และใช้ dnsmasq แทน ฉันผ่านไฟล์กำหนดค่าแล้วและสามารถใช้ตัวอย่างที่แสดงความคิดเห็นเพื่อกำหนดค่าเซิร์ฟเวอร์ตามที่ฉันต้องการ dnsmasq ยังมีเซิร์ฟเวอร์ tftp ในตัวที่ฉันใช้สำหรับการบูต PXE


ฉันมีปัญหาเช่นเดียวกับที่คุณทำที่นี่ฉันสงสัยว่าคุณสามารถแบ่งปันแสงนี้หรือแบ่งปัน dnsmasq.conf ของคุณได้โปรด ... ขอบคุณ!
user1680784

@ user1680784 ฉันไม่มีระบบที่ตั้งค่าไว้ให้ทำอีกต่อไปดังนั้นฉันจึงไม่สามารถแชร์ไฟล์ปรับแต่งของฉันได้ ในขณะที่ฉันไม่ทราบว่าคุณพยายามทำอะไรโดยเฉพาะหากคุณมีปัญหาในการกำหนดค่า dhcpd หรือ dnsmasq ด้วยมือคุณอาจต้องการลองใช้ DRBL เพื่อแจกอิมเมจสำหรับบูต Linux
Suchipi

0

ตรวจสอบกับ

ifconfig eth0

หากอินเตอร์เฟสของคุณ eth0 มี ipv4 ที่ถูกต้อง

(ดูเหมือนว่าคุณจะตั้งค่าaddress 10.0.0.0ที่จะไม่ถูกต้องอยู่แล้ว)

หากมี IP อยู่ในช่วงที่ไม่ถูกต้องให้ใส่ที่อยู่ใหม่เช่น:

ifconfig eth0 10.0.0.1

จากนั้นลองรีสตาร์ทเซิร์ฟเวอร์ dhcp ของคุณ



0

บน OS ที่ใช้ systemd ตรวจสอบให้แน่ใจว่า NetworkManager-wait-online.service กำลังทำงานอยู่

ฉันมีปัญหาที่คล้ายคลึงกันใน Fedora 26 และเพราะฉันไม่สามารถหาข้อมูลอ้างอิงได้ฉันจะโพสต์โซลูชันของฉันที่นี่ในกรณีที่มีคนต้องการ:

No subnet declaration for enp2s0 (no IPv4 addresses).  
** Ignoring requests on enp2s0.  If this is not what
   you want, please write a subnet declaration
   in your dhcpd.conf file for the network segment
   to which interface enp2s0 is attached. **

Fedora 26 เป็นระบบปฏิบัติการแบบ systemd ซึ่งสคริปต์ init ดั้งเดิม (/etc/rc.d/init.d) ถูกแทนที่ด้วยไฟล์ systemd services ดั้งเดิม

ไฟล์ dhcpd.service ของฉัน:

[Unit]
Description=DHCPv4 Server Daemon
Documentation=man:dhcpd(8) man:dhcpd.conf(5)
Wants=network-online.target
After=network-online.target
After=time-sync.target

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/dhcpd
ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid $DHCPDARGS
StandardError=null

[Install]
WantedBy=multi-user.target

สายนี้:

Wants=network-online.target
After=network-online.target

ตรวจสอบให้แน่ใจว่าบริการเริ่มต้นหลังจากเครือข่ายออนไลน์ แต่ต้องเปิดใช้งานบริการ "รอ" ที่ถูกต้องด้วย1 : NetworkManager-wait-online.service

ของฉันไม่ได้

การอ้างอิง: https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.