dhcpd ล้มเหลวในการเริ่มต้นบน eth1


10

ฉันมีปัญหาในการกำหนดค่าและเริ่มต้นเซิร์ฟเวอร์ ISC DHCP บนเครื่องของฉัน ฉันใช้ Ubuntu 11.10 รุ่นเดสก์ท็อป ฉันติดตั้ง ISC DHCP โดยเรียกใช้

$ sudo apt-get install dhcp3-server

เครื่องของฉันมี NIC สองตัว:

eth0ซึ่งเชื่อมต่อกับเราเตอร์สำหรับการเข้าถึงอินเทอร์เน็ตที่มีที่อยู่ IP ของ192.168.2.2. eth1ซึ่งฉันต้องการให้ dhcpd ให้บริการการร้องขอสำหรับเครือข่ายย่อย

ฉันได้ปรับเปลี่ยน/etc/default/isc-dhcp-serverให้ชี้ไปที่ eth1:

$ cat /etc/default/isc-dhcp-server
# Defaults for dhcp initscript
INTERFACES="eth1"

ฉันได้กำหนดค่า dhcpd สำหรับซับเน็ตง่าย ๆ :

$ cat /etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
  interface eth1;
  range 192.168.0.50 192.168.0.100;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.0.255;
}

ด้วยการกำหนดค่านี้ dhcpd ล้มเหลวในการเริ่มต้นสำหรับฉัน:

$ sudo /etc/init.d/isc-dhcp-server start
* Starting ISC DHCP server dhcpd
* check syslog for diagnostics.               [fail]

$ tail /var/log/syslog
Aug 15 15:29:45 eptc4 dhcpd: No subnet declaration for eth1 (no IPv4 addresses).
Aug 15 15:29:45 eptc4 dhcpd: ** Ignoring requests on eth1.  If this is not what
Aug 15 15:29:45 eptc4 dhcpd:    you want, please write a subnet declaration
Aug 15 15:29:45 eptc4 dhcpd:    in your dhcpd.conf file for the network segment
Aug 15 15:29:45 eptc4 dhcpd:    to which interface eth1 is attached. **
Aug 15 15:29:45 eptc4 dhcpd: 
Aug 15 15:29:45 eptc4 dhcpd: 
Aug 15 15:29:45 eptc4 dhcpd: Not configured to listen on any interfaces!

ฉันไม่มีขั้นตอนหรือไม่ ฉันไม่เข้าใจว่าทำไม dhcpd บ่นว่าไม่ได้กำหนดค่าให้ฟังในอินเทอร์เฟซใด ๆ

นี่เป็นครั้งแรกที่ฉันตั้งค่า DHCP ฉันใช้เวลาสามวันในการอ่านคู่มือและฟอรัมและคิดว่าฉันทำทุกอย่างถูกต้องแล้ว แต่ยังคงได้รับข้อผิดพลาดเดิม เคล็ดลับใด ๆ เพื่อให้ฉันไปในเส้นทางที่ถูกต้องจะได้รับการชื่นชมอย่างมาก!

คำตอบ:


6

กล่าวโดยย่อ: คุณต้องตั้งค่าที่อยู่บนอินเทอร์เฟซeth1ก่อนที่ DHCP จะสามารถให้บริการตามคำขอได้

อีกต่อไปเรื่องราว: เซิร์ฟเวอร์ DHCP จะอ่านไฟล์กำหนดค่าจากนั้นจับคู่การsubnetประกาศกับที่อยู่ IP ที่กำหนดให้กับอินเทอร์เฟซในปัจจุบัน เฉพาะอินเตอร์เฟสที่มีที่อยู่ IP ตรงกับการsubnetประกาศเท่านั้นที่จะให้บริการการร้องขอสำหรับซับเน็ตนั้น ดังนั้นคุณต้องตั้งค่าeth1ที่อยู่ในช่วง 192.168.0.0/24 หากคุณต้องการเซิร์ฟเวอร์ ISC DHCP เพื่อให้บริการคำขอสำหรับ 192.168.0.0/24


ขอบคุณ Riccardo! ฉันอัปเดต / etc / network / interfaces รัน ifup eth1 และรีสตาร์ท dhcpd สำเร็จ ฉันรู้ว่าฉันพลาดขั้นตอนบางอย่างไป แต่ไม่เข้าใจกระบวนการมากพอที่จะรู้ว่านั่นคืออะไร คำตอบของคุณมีประโยชน์และลึกซึ้ง
Vivek

2

ทำงานด้านล่างสำหรับฉันใน Ubuntu 12.04

apt-get remove --purge dhcp3-server
sudo apt-get install isc-dhcp-server

ไปที่ / etc / dhcp สร้างไฟล์ใหม่ "dhcp.conf" ก่อนหน้านั้นจะทำการสำรองข้อมูลไฟล์ "dhcp.conf" ที่มีอยู่

เพิ่มรายละเอียดด้านล่างลงในไฟล์ dhcp.conf ใหม่

# Sample /etc/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.example";
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.10 192.168.1.100;
    range 192.168.1.150 192.168.1.200;
} 

ตอนนี้ไปที่/etc/defaults/isc-dhcp-serverและเพิ่มชื่ออินเทอร์เฟซของคุณไปยังไฟล์isc-dhcp-server

แก้ไข/etc/network/interfacesไฟล์ด้วยรายละเอียดคงที่เซิร์ฟเวอร์ของคุณคล้ายกับด้านล่าง

auto eth1
iface inet eth1 static
    address 192.168.1.149
    netmask 255.255.255.0
    gateway 192.168.1.255
    dns-nameservers 192.168.1.1

หลังจากการวิ่งครั้งนี้sudo /etc/init.d/isc-dhcp-server restartและsudo /etc/init.d/networking restart

หมายเหตุ: อย่าลืมติดตั้งไคลเอ็นต์ dhcp ในระบบไคลเอ็นต์ของคุณ นอกจากนี้หลังจากติดตั้ง dhcp-server ในระบบเซิร์ฟเวอร์ของคุณให้ลบระบบออกจากเครือข่ายภายนอกเพื่อที่จะไม่เป็นอันตรายต่ออุปกรณ์อื่น ๆ ที่มีอยู่แล้วในเครือข่ายอื่น ๆ นอกเหนือจากลูกค้าเฉพาะที่คุณสนใจ

ตอนนี้ถ้าคุณเชื่อมต่อลูกค้าของคุณกับเครือข่ายเดียวกันกับที่โฮสต์เซิร์ฟเวอร์ของคุณลูกค้าจะได้รับ IP ด้วยในช่วงที่ระบุ


0

อีกวิธีในการเริ่ม dhcp-server เป็นไปได้โดยใช้ยูทิลิตี้บริการ

ตัวอย่างเช่น:

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