ฉันจะติดตั้งและกำหนดค่าเซิร์ฟเวอร์ DHCP ได้อย่างไร


55

จะติดตั้งและกำหนดค่าเซิร์ฟเวอร์ DHCP ใน Ubuntu 12.04 ได้อย่างไร?

ฉันต้องการการสอนทีละขั้นตอนถ้ามีใครมี


ไม่ใช่เพื่อนผู้ใช้มากที่สุด แต่: help.ubuntu.com/community/dhcp3-server
adempewolff

1
สิ่งนี้อาจเหมือนกัน แต่ ... comtech247.net/2012/05/01/…
Mitch

2
"โปรดทราบว่าใน Ubuntu 12.04 เซิร์ฟเวอร์ ISC DHCP เป็นแพ็คเกจการส่งผ่านสำหรับเซิร์ฟเวอร์ dhcp3" wiki.openelec.tv/…

1
ฉันชอบdnsmasqเซิร์ฟเวอร์ DNS และ DHCP ที่มีไวยากรณ์ไฟล์กำหนดค่าอย่างง่าย
Reinier Post

คำตอบ:


55

สิ่งแรกที่คุณต้องทำคือติดตั้งแพ็คเกจที่เราต้องการ

เปิดเทอร์มินัลแล้วพิมพ์:

sudo apt-get install isc-dhcp-server

มีสองไฟล์หลัก/etc/default/isc-dhcp-serverและ/etc/dhcp/dhcpd.confเราจะต้องกำหนดค่าเพื่อให้ใช้ก่อน

เปิดเทอร์มินัลและใช้ประเภทเครื่องมือแก้ไขข้อความที่คุณชื่นชอบ:

sudo vim /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"

แทนที่eth0ด้านบนด้วยชื่อของอินเทอร์เฟซเครือข่ายที่คุณต้องการให้เซิร์ฟเวอร์เช่าที่อยู่ ไปยังไฟล์ถัดไป

เปิดเทอร์มินัลแล้วพิมพ์:

sudo vim /etc/dhcp/dhcpd.conf

ซึ่งควรให้ผลลัพธ์ด้านล่าง

#
#Sample configuration file for ISC dhcpd for Debian
#
#Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as
#configuration file instead of this file.
#
#
....
option domain-name “example.org”;
option domain-name-servers ns1.example.org, ns2.example.org;
option domain-name “comtech.com”;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.150 10.0.0.253;
option routers 10.0.0.2;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.254;
option domain-name-servers 10.0.0.1, 10.0.0.2;
option ntp-servers 10.0.0.1;
option netbios-name-servers 10.0.0.1;
option netbios-node-type 8;
 ......
}

สิ่งนี้ต้องการคำอธิบายเล็กน้อย

  1. ปรับการตั้งค่าของคุณตามความต้องการเครือข่ายของคุณ
  2. ชื่อโดเมนตัวเลือกคือชื่อโซน DNS ของคุณ ตัวอย่างเช่น mine ถูกตั้งค่าเป็น comtech.com
  3. ช่วงควรเป็นช่วงของที่อยู่ IP ที่คุณต้องการให้เซิร์ฟเวอร์แจกให้กับลูกค้า

ตอนนี้เริ่มบริการ dhcp โดยพิมพ์:

sudo service isc-dhcp-server restart

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

sudo netstat -uap

ซึ่งจะแสดงให้คุณเห็นบางสิ่งบางอย่างดังต่อไปนี้ (มองหาdhcpd, nmbdและnamed):

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address State PID/Program name
udp        0      0 10.0.0.255:netbios-dgm  *:*                   1016/nmbd
udp        0      0 10.0.0.255:netbios-ns   *:*                   1016/nmbd
udp        0      0 *:bootps                *:*                   4525/dhcpd
udp        0      0 *:netbios-dgm           *:*                   1016/nmbd
udp        0      0 *:netbios-ns            *:*                   1016/nmbd
udp        0      0 chris-desktop:domain    *:*                   1273/named
udp        0      0 chris-desktop.lo:domain *:*                   1273/named
udp        0      0 chris-deskt:netbios-dgm *:*                   1016/nmbd
udp        0      0 chris-deskto:netbios-ns *:*                   1016/nmbd
udp6       0      0 [::]:domain             [::]:*                1273/named

1
เพียงคำเตือนตรวจสอบให้แน่ใจว่าได้ใช้งาน/etc/dhcp/dhcpd.confและไม่ใช่ /etc/dhcp3/dhcpd.conf
puk

1
stop: Unknown instance: isc-dhcp-server start/running, process 3027เมื่อผมเริ่มบริการข้อความนี้แสดง: ฉันไม่สามารถเริ่มบริการได้ ฉันใช้ Ubuntu 13.10
JJD

1
ดีค่ะ แต่ตรวจสอบให้แน่ใจว่าคุณได้กำหนด IP b4 แบบคงที่เริ่มต้นบริการ DHCP แล้ว
krizna

มันไม่ยาก แต่การใช้dnsmasqนั้นง่ายกว่าถ้าคุณถามฉัน
Reinier โพสต์

5

สิ่งเพิ่มเติมสามารถรวมอยู่ในคำตอบที่ยอมรับได้

  1. กำหนด IP แบบคงที่ก่อนเริ่มบริการ isc-dhcp-server

  2. คุณสามารถจอง IP สำหรับอุปกรณ์เช่นเครื่องพิมพ์และเครื่อง linux ได้โดยเพิ่ม MAC id ในรูปแบบด้านล่างภายในซับเน็ตเฉพาะ

    ------
    host bla1 { 
            hardware ethernet DD:GH:DF:E5:F7:D7;
            fixed-address 10.0.0.10;
    }
    ----
    

    Dhcp3-server Wiki ชุมชน

    เซิร์ฟเวอร์ Ubuntu DHCP


1

จากหน้าชุมชนของ Ubuntu dhcp3-serverโดยผู้มีส่วนร่วมไปที่วิกิเอกสารของอูบุนตู :

โปรโตคอลการกำหนดค่าโฮสต์แบบไดนามิก (DHCP)

Dynamic Host Configuration Protocol (DHCP) เป็นบริการเครือข่ายที่ช่วยให้คอมพิวเตอร์โฮสต์ได้รับการตั้งค่าโดยอัตโนมัติจากเซิร์ฟเวอร์ซึ่งต่างจากการกำหนดค่าแต่ละโฮสต์เครือข่ายด้วยตนเอง คอมพิวเตอร์ที่กำหนดค่าให้เป็นไคลเอนต์ DHCP จะไม่สามารถควบคุมการตั้งค่าที่ได้รับจากเซิร์ฟเวอร์ DHCP และการกำหนดค่าจะโปร่งใสสำหรับผู้ใช้คอมพิวเตอร์

การติดตั้ง

ที่หน้าจอพร้อมรับคำสั่งให้ป้อนคำสั่งต่อไปนี้เพื่อติดตั้ง dhcpd:

sudo apt-get install dhcp3-server

คุณอาจจะต้องเปลี่ยนการกำหนดค่าเริ่มต้นโดยการแก้ไข /etc/dhcp3/dhcpd.conf เพื่อให้เหมาะกับความต้องการและการกำหนดค่าเฉพาะของคุณ

คุณต้องแก้ไข/etc/default/dhcp3-serverเพื่อระบุอินเทอร์เฟซ dhcpd ที่ควรฟัง โดยค่าเริ่มต้นมันฟังถึง eth0

องค์ประกอบ

ข้อความแสดงข้อผิดพลาดที่การติดตั้งลงท้ายด้วยอาจจะสับสนเล็กน้อย แต่ขั้นตอนต่อไปนี้จะช่วยคุณกำหนดค่าบริการ:

โดยทั่วไปสิ่งที่คุณต้องการทำคือกำหนดที่อยู่ IP แบบสุ่ม สามารถทำได้ด้วยการตั้งค่าดังนี้:

nano -w /etc/dhcp3/dhcpd.conf
# Sample /etc/dhcpd.conf
# (add your comments here) 
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;
} 

สิ่งนี้จะส่งผลให้เซิร์ฟเวอร์ DHCP ให้ที่อยู่ IP ของไคลเอนต์จากช่วง 192.168.1.10-192.168.1.100 หรือ 192.168.1.150-192.168.1.200 มันจะเช่าที่อยู่ IP เป็นเวลา 600 วินาทีหากลูกค้าไม่ขอกรอบเวลาที่เฉพาะเจาะจง มิฉะนั้นการเช่า (อนุญาต) สูงสุดจะเท่ากับ 7200 วินาที เซิร์ฟเวอร์จะ "แนะนำ" ไคลเอนต์ที่ควรใช้ 255.255.255.0 เป็น subnet mask, 192.168.1.255 เป็นที่อยู่การออกอากาศ 192.168.1.254 เป็นเราเตอร์ / เกตเวย์และ 192.168.1.1 และ 192.168.1.2 เป็นเซิร์ฟเวอร์ DNS

หากคุณต้องการระบุเซิร์ฟเวอร์ WINS สำหรับไคลเอนต์ Windows ของคุณคุณจะต้องรวมตัวเลือก netbios-name-servers เช่น

nano -w /etc/default/dhcp3-server
option netbios-name-servers 192.168.1.1; 

dhcp3 เซิร์ฟเวอร์และอินเทอร์เฟซหลาย

ตัวอย่างการเชื่อมต่อหลาย

อินเตอร์เฟซ

nano -w /etc/network/interfaces
auto lo
iface lo inet loopback

mapping hotplug
        script grep
        map eth1

iface eth1 inet dhcp

auto eth0
iface eth0 inet static
    address 10.152.187.1
    netmask 255.255.255.0

auto wlan0
  iface wlan0 inet static
    address 192.168.1.1
    netmask 255.255.255.0
    up     /sbin/iwconfig wlan0 mode TTTTTT && /sbin/iwconfig wlan0 enc
restricted && /sbin/iwconfig wlan0 key [Y] XXXXXXXX && /sbin/iwconfig
wlan0 essid SSSSSSSS

auto eth1

เลือกการ์ดอินเตอร์เฟส

nano -w /etc/default/dhcp3-server
INTERFACES="wlan0 eth0"

กำหนดค่า Subnet

nano -w /etc/dhcp3/dhcpd.conf
ddns-update-style none;
log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {

        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;
        option broadcast-address        192.168.1.255;
        option domain-name-servers      194.168.4.100;
        option ntp-servers              192.168.1.1;
        option netbios-name-servers     192.168.1.1;
        option netbios-node-type 2;
        default-lease-time 86400;
        max-lease-time 86400;

        host bla1 {
                hardware ethernet DD:GH:DF:E5:F7:D7;
                fixed-address 192.168.1.2;
        }
        host bla2 {
                hardware ethernet 00:JJ:YU:38:AC:45;
                fixed-address 192.168.1.20;
        }
}

subnet  10.152.187.0 netmask 255.255.255.0 {

        option routers                  10.152.187.1;
        option subnet-mask              255.255.255.0;
        option broadcast-address        10.152.187.255;
        option domain-name-servers      194.168.4.100;
        option ntp-servers              10.152.187.1;
        option netbios-name-servers     10.152.187.1;
        option netbios-node-type 2;

        default-lease-time 86400;
        max-lease-time 86400;

        host bla3 {
                hardware ethernet 00:KK:HD:66:55:9B;
                fixed-address 10.152.187.2;
        }
}

ตรวจสอบเส้นทาง

ip route
192.168.1.0/24 dev wlan0  scope link
82.16.TT.0/24 dev eth1  scope link
10.152.187.0/24 dev eth0  scope link
default via 82.16.TT.UU dev eth1
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.