Debian dhcpd “eth0 için alt ağ bildirimi yok”


9


PLoP Linux görüntüleri veren bir Debian 6.0.3 Squeeze makinesinde bir pxe önyükleme sunucusu kurmaya çalışıyorum. Bu dersi takip ediyordum .
Dhcpd (dhcp3-server paketinden) başlatmaya çalıştığımda aşağıdakileri alıyorum:

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!

Benim /etc/dhcpd.confbirkaç değişiklik için kaydetmek öğretici aynıdır:

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

onun yerine

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

Benim /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

Ve bu benim /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"

kopyaladığımdan /etc/default/dhcp3-serveremin olarak kopyaladım .

Ayrıca ip /etc/network/interfaces10.0.0.1 ve 10.0.0.2 olarak ayarlamayı denedim , ancak aynı sonucu verdi.

Yanıtlar:


8

Dhcpd'nin IP adreslerini istemcilere dağıtması gerektiğinden, sorumlu olduğu adres aralığını bilmelidir. Alt ağ bildirimi dhcpd'ye bu bilgileri ve daha fazlasını verir. 10.0.0 / 24 kullandığınızı varsayarsak, aşağıdakiler başlamanıza ve hata mesajını geçmenize neden olur, ancak daha ileri gitmek için belgelere gerçekten girmeniz gerekir . Bunu dhcpd.conf dosyasına ekleyin:

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

Yukarıda taktığım IP adresleri tahminlerdir. Bunları kurulumunuz için uygun şekilde ayarlamanız gerekir.


2

Sorun, 10.0.0.0geçerli bir IPv4 adresi olmamasıdır. Alt ağdaki ilk adres (ana makine bölümü için tüm sıfırları olan adres) alt ağ tanımlayıcısıdır ve bu nedenle geçerli bir ana bilgisayar adresi değildir. Deneyin 10.0.0.1. IP yayın adresi olduğu için bir alt ağdaki son adresten de kaçınmalısınız.

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

Ben sadece dhcp3-sunucu temizleme ve bunun yerine dnsmasq kullanarak sona erdi. Bunun için yapılandırma dosyasını inceledim ve sunucumu nasıl ihtiyacım olduğunu yapılandırmak için yorumladığı örnekleri kullanabildim. dnsmasq ayrıca PXE önyüklemesi için kullandığım yerleşik bir tftp sunucusuna sahiptir.


Ben burada yaptığınızla aynı sorunu yaşıyorum Ben bu konuda biraz ışık paylaşmak ya da dnsmasq.conf paylaşmak lütfen merak ediyordum ... Teşekkürler!
user1680784

@ user1680784 Artık bunu yapmak için ayarlanmış sistemim yok, bu yüzden yapılandırma dosyamı paylaşamıyorum. Özellikle ne yapmaya çalıştığınızı bilmese de, dhcpd veya dnsmasq'ı elle yapılandırmakta sorun yaşıyorsanız, Linux önyükleme görüntülerini vermek için DRBL'yi kullanmayı deneyebilirsiniz.
Suchipi

0

İle kontrol et

ifconfig eth0

Eth0 arayüzünüz doğru ipv4'e sahipse

(Görünüşe göre address 10.0.0.0yine de geçersiz olacak şekilde ayarladınız )

yanlış aralıkta bir IP'si varsa, örneğin aşağıdakilerle yeni bir adres verin:

ifconfig eth0 10.0.0.1

sonra dhcp sunucunuzu yeniden başlatmayı deneyin



0

Systemd tabanlı işletim sistemlerinde NetworkManager-wait-online.service öğesinin çalıştığından emin olun.

Fedora 26'da benzer bir sorun yaşadım ve herhangi bir referans bulamadığım için, birinin ihtiyacı olması durumunda çözümümü burada paylaşacağım:

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, geleneksel başlangıç ​​komut dosyalarının (/etc/rc.d/init.d) yerel sistemd hizmetleri dosyalarıyla değiştirildiği sistemd tabanlı bir işletim sistemidir.

Dhcpd.service dosyam:

[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

Bu satırlar:

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

hizmetin ağ çevrimiçi olduktan sonra başladığından emin olun, ancak doğru "bekleme" hizmetinin de etkinleştirilmesi gerekir 1 : NetworkManager-wait-online.service

Benimki değildi.

başvuru: https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.