Debian dhcpd không có khai báo mạng con cho eth0 '


9


Tôi đang cố gắng thiết lập máy chủ khởi động pxe trên máy Bóp Debian 6.0.3 cung cấp hình ảnh của PLoP Linux. Tôi đã làm theo một hướng dẫn này .
Khi tôi cố gắng khởi động dhcpd (từ gói dhcp3-server), tôi nhận được những điều sau:

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!

My /etc/dhcpd.confgiống hệt như trong hướng dẫn lưu cho một vài thay đổi:

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

thay vào đó

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

Của tôi /etc/network/interfaceslà:

# 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

Và đây là /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"

mà tôi đã sao chép vào /etc/default/dhcp3-server, không chắc nó sẽ kiểm tra.

Tôi cũng đã thử đặt ip /etc/network/interfacesthành 10.0.0.1 và 10.0.0.2, nhưng nó cho kết quả tương tự.

Câu trả lời:


8

Vì dhcpd phải phân phát địa chỉ IP cho khách hàng, nên nó cần biết phạm vi địa chỉ mà nó chịu trách nhiệm. Khai báo mạng con cung cấp cho dhcpd thông tin đó và nhiều hơn nữa. Giả sử bạn đang sử dụng 10.0.0 / 24, những điều sau đây sẽ giúp bạn bắt đầu và vượt qua thông báo lỗi, nhưng bạn thực sự cần phải vào tài liệu để đi xa hơn. Thêm phần này vào dhcpd.conf của bạn:

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"; 
} 

Các địa chỉ IP tôi cắm ở trên là phỏng đoán. Bạn phải thiết lập những thứ này đúng cho thiết lập của bạn.


2

Vấn đề là đó 10.0.0.0không phải là một địa chỉ IPv4 hợp lệ. Địa chỉ đầu tiên trong mạng con (địa chỉ có tất cả các số không cho phần máy chủ) là định danh mạng con và do đó không phải là địa chỉ máy chủ hợp lệ. Hãy thử 10.0.0.1. Bạn cũng nên tránh địa chỉ cuối cùng trong mạng con, vì đó là địa chỉ quảng bá 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

Cuối cùng tôi đã thanh trừng dhcp3-server và sử dụng dnsmasq. Tôi đã xem qua tệp cấu hình cho nó và có thể sử dụng các ví dụ mà nó đã nhận xét để định cấu hình máy chủ của tôi theo cách tôi cần. dnsmasq cũng có một máy chủ tftp tích hợp mà tôi đã sử dụng để khởi động PXE.


Tôi đang gặp vấn đề tương tự như bạn đã làm ở đây Tôi đã tự hỏi liệu bạn có thể chia sẻ một chút ánh sáng về điều này hoặc chia sẻ dnsmasq.conf của bạn xin cảm ơn
dùng1680784

@ user1680784 Tôi không còn hệ thống được thiết lập để làm việc này nên tôi không thể chia sẻ tệp cấu hình của mình. Mặc dù tôi không biết những gì bạn đang cố gắng thực hiện cụ thể, nhưng nếu bạn gặp khó khăn khi định cấu hình dhcpd hoặc dnsmasq bằng tay, bạn có thể muốn thử sử dụng DRBL để đưa ra hình ảnh khởi động Linux.
Thatipi

0

Kiểm tra với

ifconfig eth0

Nếu giao diện eth0 của bạn có ipv4 chính xác

(có vẻ như bạn đặt nó address 10.0.0.0sẽ không hợp lệ)

nếu nó có IP trong phạm vi sai, hãy cung cấp cho nó một địa chỉ mới, ví dụ như:

ifconfig eth0 10.0.0.1

sau đó thử khởi động lại máy chủ dhcp của bạn


0

Loại bỏ dnsmasq đã giải quyết vấn đề của tôi

sudo apt-get -y remove dnsmasq

0

Trên các hệ điều hành dựa trên hệ thống, hãy đảm bảo NetworkManager-Wait-online.service đang chạy.

Tôi đã gặp vấn đề tương tự trên Fedora 26 và vì tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào nên tôi sẽ đăng giải pháp của mình ở đây trong trường hợp ai đó cần nó:

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 là một hệ điều hành dựa trên hệ thống, trong đó các tập lệnh init truyền thống (/etc/rc.d/init.d) đã được thay thế bằng các tệp dịch vụ systemd gốc.

Tệp dhcpd.service của tôi:

[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

Dòng này:

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

đảm bảo rằng dịch vụ bắt đầu sau khi mạng trực tuyến nhưng dịch vụ "chờ" đúng cũng phải được bật 1 : NetworkManager-Wait-online.service

Của tôi thì không.

tham khảo: https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.