ทำไมฉันไม่สามารถเริ่ม isc-dhcp-server ได้เมื่อทำการติดตั้ง?


13

ฉันกำลังทำตาม บทช่วยสอนนี้เพื่อติดตั้ง Linux ในระบบที่ไม่มีเครื่องอ่านซีดีหรือ USB ในการบูต ในที่สุดฉันก็มาถึงจุดที่ฉันต้องทำการติดตั้งisc-dhcp-serverและทำเช่นนั้น

Aptบอกฉันว่ามีแพ็คเกจที่ติดตั้งเพียงบางส่วน ฉันวิ่งsudo apt-get install -fและฉันได้รับต่อไปนี้:

Job for isc-dhcp-server.service failed. See 'systemctl status isc-dhcp server.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript isc-dhcp-server, action "start" failed.
dpkg: error processing package isc-dhcp-server (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
isc-dhcp-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

ถ้าฉันทำ/etc/init.d/isc-dhcp-server startพร้อมท์ประกอบด้วยสองบรรทัดแรกของข้อความเดียวกัน

ออกจากsudo systemctl status isc-dhcp-server:

● isc-dhcp-server.service - LSB: DHCP server
   Loaded: loaded (/etc/init.d/isc-dhcp-server)
   Active: failed (Result: exit-code) since Fri 2014-12-12 13:19:25 CST; 2min 43s ago
  Process: 1677 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)

Dec 12 13:19:23 semplice dhcpd[1684]: you want, please write a subnet declaration
Dec 12 13:19:23 semplice dhcpd[1684]: in your dhcpd.conf file for the network segment
Dec 12 13:19:23 semplice dhcpd[1684]: to which interface eth0 is attached. **
Dec 12 13:19:23 semplice dhcpd[1684]: 
Dec 12 13:19:23 semplice dhcpd[1684]: 
Dec 12 13:19:25 semplice isc-dhcp-server[1677]: Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. ... failed!
Dec 12 13:19:25 semplice isc-dhcp-server[1677]: failed!
Dec 12 13:19:25 semplice systemd[1]: isc-dhcp-server.service: control process exited, code=exited status=1
Dec 12 13:19:25 semplice systemd[1]: Failed to start LSB: DHCP server.
Dec 12 13:19:25 semplice systemd[1]: Unit isc-dhcp-server.service entered failed state.

ออกจากsudo journalctl -xn:

-- Logs begin at Fri 2014-12-12 12:57:16 CST, end at Fri 2014-12-12 13:32:01 CST. --
Dec 12 13:31:58 semplice NetworkManager[505]: <info>   lease time 86400
Dec 12 13:31:58 semplice NetworkManager[505]: <info>   nameserver '192.168.1.254'
Dec 12 13:31:58 semplice NetworkManager[505]: <info>   domain name 'lan'
Dec 12 13:31:58 semplice dbus[518]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.ser
Dec 12 13:31:58 semplice dbus[518]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Dec 12 13:31:58 semplice nm-dispatcher[2194]: Dispatching action 'dhcp4-change' for wlan0
Dec 12 13:31:58 semplice dhclient[616]: bound to 192.168.1.65 -- renewal in 45 seconds.
Dec 12 13:31:58 semplice NetworkManager[505]: bound to 192.168.1.65 -- renewal in 45 seconds.
Dec 12 13:32:01 semplice sudo[2197]: alejandro : TTY=pts/0 ; PWD=/home/alejandro ; USER=root ; COMMAND=/bin/journalctl -xn
Dec 12 13:32:01 semplice sudo[2197]: pam_unix(sudo:session): session opened for user root by alejandro(uid=0)

นี่คือ/etc/dhcp/dhcpd.configไฟล์ของฉันซึ่งเป็นเพียงตัวอย่างในบทช่วยสอนที่กล่าวถึงข้างต้น

เอาต์พุตจากการ/var/log/syslogอ่านทันทีหลังจากรันapt-get install -f

Dec 12 16:42:40 localhost dhclient: DHCPREQUEST on wlan0 to 192.168.1.254 port 67
Dec 12 16:42:40 localhost NetworkManager[505]: DHCPREQUEST on wlan0 to 192.168.1.254 port 67
Dec 12 16:42:40 localhost dhclient: DHCPACK from 192.168.1.254
Dec 12 16:42:40 localhost NetworkManager[505]: DHCPACK from 192.168.1.254
Dec 12 16:42:40 localhost NetworkManager[505]: <info> (wlan0): DHCPv4 state changed renew -> renew
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   address 192.168.1.65
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   plen 24 (255.255.255.0)
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   gateway 192.168.1.254
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   server identifier 192.168.1.254
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   lease time 86400
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   nameserver '192.168.1.254'
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   domain name 'lan'
Dec 12 16:42:40 localhost dbus[518]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Dec 12 16:42:40 localhost dbus[518]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Dec 12 16:42:40 localhost nm-dispatcher: Dispatching action 'dhcp4-change' for wlan0
Dec 12 16:42:41 localhost dhclient: bound to 192.168.1.65 -- renewal in 52 seconds.
Dec 12 16:42:41 localhost NetworkManager[505]: bound to 192.168.1.65 -- renewal in 52 seconds.
Dec 12 16:43:32 localhost dhclient: DHCPREQUEST on wlan0 to 192.168.1.254 port 67
Dec 12 16:43:32 localhost NetworkManager[505]: DHCPREQUEST on wlan0 to 192.168.1.254 port 67
Dec 12 16:43:32 localhost dhclient: DHCPACK from 192.168.1.254
Dec 12 16:43:32 localhost NetworkManager[505]: DHCPACK from 192.168.1.254
Dec 12 16:43:32 localhost NetworkManager[505]: <info> (wlan0): DHCPv4 state changed renew -> renew
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   address 192.168.1.65
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   plen 24 (255.255.255.0)
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   gateway 192.168.1.254
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   server identifier 192.168.1.254
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   lease time 86400
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   nameserver '192.168.1.254'
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   domain name 'lan'
Dec 12 16:43:32 localhost dbus[518]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Dec 12 16:43:32 localhost dbus[518]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Dec 12 16:43:32 localhost nm-dispatcher: Dispatching action 'dhcp4-change' for wlan0
Dec 12 16:43:33 localhost dhclient: bound to 192.168.1.65 -- renewal in 54 seconds.
Dec 12 16:43:33 localhost NetworkManager[505]: bound to 192.168.1.65 -- renewal in 54 seconds.
Dec 12 16:43:40 localhost dhcpd: Internet Systems Consortium DHCP Server 4.3.1
Dec 12 16:43:40 localhost dhcpd: Copyright 2004-2014 Internet Systems Consortium.
Dec 12 16:43:40 localhost dhcpd: All rights reserved.
Dec 12 16:43:40 localhost dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Dec 12 16:43:40 localhost dhcpd: Internet Systems Consortium DHCP Server 4.3.1
Dec 12 16:43:40 localhost dhcpd: Copyright 2004-2014 Internet Systems Consortium.
Dec 12 16:43:40 localhost dhcpd: All rights reserved.
Dec 12 16:43:40 localhost dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Dec 12 16:43:40 localhost dhcpd: Wrote 0 deleted host decls to leases file.
Dec 12 16:43:40 localhost dhcpd: Wrote 0 new dynamic host decls to leases file.
Dec 12 16:43:40 localhost dhcpd: Wrote 0 leases to leases file.
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: No subnet declaration for eth0 (no IPv4 addresses).
Dec 12 16:43:40 localhost dhcpd: ** Ignoring requests on eth0.  If this is not what
Dec 12 16:43:40 localhost dhcpd:    you want, please write a subnet declaration
Dec 12 16:43:40 localhost dhcpd:    in your dhcpd.conf file for the network segment
Dec 12 16:43:40 localhost dhcpd:    to which interface eth0 is attached. **
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: Not configured to listen on any interfaces!
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: If you think you have received this message due to a bug rather
Dec 12 16:43:40 localhost dhcpd: than a configuration issue please read the section on submitting
Dec 12 16:43:40 localhost dhcpd: bugs on either our web page at www.isc.org or in the README file
Dec 12 16:43:40 localhost dhcpd: before submitting a bug.  These pages explain the proper
Dec 12 16:43:40 localhost dhcpd: process and the information we find helpful for debugging..
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: exiting.
Dec 12 16:43:42 localhost isc-dhcp-server[5729]: Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. ... failed!
Dec 12 16:43:42 localhost isc-dhcp-server[5729]: failed!
Dec 12 16:43:42 localhost systemd[1]: isc-dhcp-server.service: control process exited, code=exited status=1
Dec 12 16:43:42 localhost systemd[1]: Failed to start LSB: DHCP server.
Dec 12 16:43:42 localhost systemd[1]: Unit isc-dhcp-server.service entered failed state.

ฉันควรซ่อนที่อยู่ IP ของฉันหรือไม่


1
คุณทำอะไรกับสองบรรทัดที่กล่าวเช่นรัน systemclt และดูวารสาร? กรุณาโพสต์เอาท์พุทจากที่journalctl -xnสร้างขึ้น (อาจต้อง sudo มัน) ในขณะที่คุณพยายามที่จะรันใหม่apt-get install -f
Anthon

1
ดังนั้นมันdhcpdจึงไม่เริ่มต้นและเราได้รับเพียงแค่จุดสิ้นสุดของข้อความที่นี่ ดูเหมือนว่าจะdhcpd.confมีข้อมูลบางอย่างขาดหายไป คุณต้องย้อนกลับไปในบันทึกของระบบอีกเล็กน้อยเพื่อดูชุดข้อความdhcpdทั้งหมด ในระบบดั้งเดิมที่ควรมีการบันทึก/var/log/syslogฉันไม่ทราบว่า systemd เกิดความผิดพลาด
Gilles 'หยุดความชั่วร้าย'

คำตอบ:


5

ดูเหมือนว่าการกำหนดค่าเครือข่ายของคุณไม่ตรงกับการประกาศ subnet ของคุณใน dhcp.conf ตรวจสอบให้แน่ใจว่าคุณมีที่อยู่ IP จากเครือข่ายย่อย 10.10.1.0/24 ที่กำหนดค่าไว้ คุณสามารถตรวจสอบได้โดยใช้:

ip a

หากคุณไม่เห็นที่อยู่ IP ดังกล่าวให้ลองเพิ่มที่อยู่นั้นเช่น eth0:

ip a a 10.10.1.200/24 dev eth0

หลังจากนั้นลองแก้ไขแพ็คเกจอีกครั้ง:

apt-get install -f

หากฉันถูกต้องควรติดตั้งแพ็กเกจและเริ่ม DHCP daemon และคุณอาจต้องการคงอยู่ IP นี้ใน / etc / network / interfaces


2
หมายเหตุ: ip a aย่อมาจากip address add
mxmlnkn

มีข้อผิดพลาดนี้ใน rasp pi ของฉันและไม่สามารถเริ่มบริการเปิดออกไม่มีที่อยู่ IP ใน ip ออกคำสั่ง หลังจากเพิ่มที่อยู่ IP ทุกอย่างทำงานแล้ว
Manny265

@ Manny265 ความคิดเห็นของคุณไม่สมเหตุสมผล เหตุผลที่คุณใช้ DHCP คือควรกำหนดที่อยู่ IP ให้คุณโดยอัตโนมัติ
tripleee

3

ปัญหาของคุณอยู่ที่นี่:

Dec 12 16:43:40 localhost dhcpd: No subnet declaration for eth0 (no IPv4 addresses).
Dec 12 16:43:40 localhost dhcpd: ** Ignoring requests on eth0.  If this is not what
Dec 12 16:43:40 localhost dhcpd:    you want, please write a subnet declaration
Dec 12 16:43:40 localhost dhcpd:    in your dhcpd.conf file for the network segment
Dec 12 16:43:40 localhost dhcpd:    to which interface eth0 is attached. **
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: Not configured to listen on any interfaces!
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: If you think you have received this message due to a bug rather
Dec 12 16:43:40 localhost dhcpd: than a configuration issue please read the section on submitting
Dec 12 16:43:40 localhost dhcpd: bugs on either our web page at www.isc.org or in the README file
Dec 12 16:43:40 localhost dhcpd: before submitting a bug.  These pages explain the proper
Dec 12 16:43:40 localhost dhcpd: process and the information we find helpful for debugging..
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: exiting.

dhcpd -t -cf /etc/dhcp/dhcpd.confคุณควรจะสามารถที่จะทำให้เกิดข้อผิดพลาดโดยการเรียกใช้


ฉันคาดเดาว่าคุณต้องการแบ่งปันการเชื่อมต่ออินเทอร์เน็ตไร้สายกับโฮสต์อื่น ๆ บนอีเธอร์เน็ตดังที่แสดงในโทโพโลยีไดอะแกรมด้านล่าง

                            ↑
                            │ Uplink
                            │
               ┌────────────┴────────────┐
               │          wlan0          │
               │     192.168.1.65/24     │
               │                         │
               │        semplice         │
               │                         │
               │       10.10.1.1/24      │
               │          eth0           │
               └────────────┬────────────┘
                            │
     ┌──────────────┬───────┴────────┬──────────────┐
     │              │                │              │
   Host 1         Host 2           Host 3         Host 4
 10.10.1.21     10.10.1.22       10.10.1.23     10.10.1.24

ฉันสมมติว่าที่อยู่เซิร์ฟเวอร์ของคุณeth0คือ 10.10.1.1 ip addr show dev eth0ตรวจสอบว่าด้วยการวิ่ง

จากนั้นคุณต้องกำหนดค่า /etc/dhcp/dhcpd.confให้แจกที่อยู่บนeth0อินเทอร์เฟซ dhcpdมีการกำหนดค่าออกจากกล่องไม่ตอบสนองต่อสิ่งใดเพราะเซิร์ฟเวอร์ DHCP ที่ใช้งานโดยไม่ตั้งใจจะทำให้เกิดความเสียหายบนเครือข่ายโดยส่งที่อยู่ไปยังโฮสต์ใด ๆ ที่ขอมา

ใน/etc/dhcp/dhcpd.confคุณจะต้องมีบทที่เป็นดังนี้:

subnet 10.10.1.0 netmask 255.255.255.0 {
    option subnet-mask        255.255.255.0;
    option broadcast-address  10.10.1.255;
    option routers            10.10.1.1;
    pool {
        range 10.10.1.21 10.10.1.254;
    }
}

... นอกเหนือไปจากการประกาศเช่นauthoritative, domain-name, และdomain-name-servers default-lease-time(ปรับตามความจำเป็นเฉพาะคุณเท่านั้นที่ทราบการตั้งค่าที่คุณต้องการสำหรับเครือข่ายของคุณ)

นอกจากนี้สำหรับ Debian คุณจะต้องแก้ไข/etc/default/isc-dhcp-serverเพื่อตั้งค่า

INTERFACES="eth0"

เพื่อให้เซิร์ฟเวอร์จะฟังบนพอร์ตอีเธอร์เน็ต (คุณไม่ต้องการฟังwlan0; จุดเชื่อมต่อไร้สายของคุณจะรับผิดชอบการส่งที่อยู่ไปยังไคลเอนต์ไร้สาย)


2
ปัญหาของเขาคือ systemd กำลังเพิกเฉยข้อมูล lsb init ของสคริปต์ init เก่าซึ่งระบุอย่างชัดเจนว่า "# Required-Start: $ remote_fs $ network $ syslog" แทนที่จะรอหน่วยเครือข่ายมันเริ่มต้นมันจะขนาน dhcpd ให้ทำงานก่อนหน้านั้น
Florian Heigl

/etc/dhcp/dhcpd.confควรใช้ไฟล์การกำหนดค่าที่ถูกต้องเพื่อแก้ปัญหานี้ isc-dhcp-serverบริการจะล้มเหลวใช้ผิดdhcpd.confการกำหนดค่า
GAD3R
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.