架設 DHCP 伺服器

FlossDoc,自由中文開源知識庫

Jump to: navigation, search

目录

安裝 ISC DHCP 伺服器

DebianUbuntu 管理員請打以下命令安裝套件 dhcp3-server:

apt-get install dhcp3-server

設定 DHCP 伺服器 (基本設定)

在設定檔案 /etc/dhcp3/dhcpd.conf 加入以下設定:

option domain-name "example.com";
option domain-name-servers 172.16.23.1;

default-lease-time 600;
max-lease-time 7200;

subnet 172.16.23.1 netmask 255.255.255.192 {
    range 172.16.23.10 172.16.23.30;
    option subnet-mask 255.255.255.192;
    option broadcast-address 172.16.23.192;
    option routers 172.16.23.1;
}

dhcpd.conf 的內容由多個敘述組成,敘述只要分兩類:

  • 參數敘述 (Parameter Statement) - 主要指示一些 DHCP 伺服器的設定,所有參數敘述都要以分號 (";") 結束。例如 option routers 172.16.23.1; 等。
  • 宣告 (Declaration) - 主要指示某些參數敘述或宣告所屬的組別。例如 subnet 172.16.23.1 netmask 255.255.255.0 { .... } 中可以指定 subnet 宣告內的敘述只適用於該子網絡。

一般 dhcpd.conf 都會有以下參數敘述:

  • default-lease-time 600; - 設定當用戶端沒有求特定的 IP 地址租用時間時,伺服器預設設定的租用時間,以秒為單位。
  • max-lease-time 7200; - 設定用戶端可以要求最長的 IP 地址租用時間,以秒為單位。
  • option domain-name "example.com"; - 指定本地網域名稱
  • option domain-name-servers 172.16.23.1, 172.16.23.2; - 指定名稱伺服器 (DNS)。可以用逗號間開兩個名稱伺服器來指定多個名稱伺服器。
  • option subnet-mask 255.255.255.224; - 指定子網絡遮罩
  • option broadcast-address 255.255.255.224; - 指定廣播地址
  • option routers 172.16.23.1; - 指定路由器 (router)
  • range 172.16.23.10 172.16.23.20; - 在 subnet 宣告指定分派 IP 地址的範圍

大部份設定都可以放在主部份 (宣告以外) 或宣告部份表示該設定是整個 DHCP 系統的預設值還是只適用於個別宣告。subnet 宣告主要用來設定一個子網絡的設定,它需要網絡地址 (network address) 和網絡遮罩 (network mask) 兩個參數,例如:

default-lease-time 600;
max-lease-time 7200;
option domain-name "example.com";
option domain-name-servers 192.168.0.1, 192.168.0.2;

subnet 172.16.12.0 netmask 255.255.255.0 { }

subnet 192.168.0.0 netmask 255.255.255.192 {
    range 192.168.0.10 192.168.0.50;
    option subnet-mask 255.255.255.192;
    option broadcast-address 192.168.0.63;
    option routers 192.168.0.1;
}

subnet 192.168.0.64 netmask 255.255.255.192 {
    range 192.168.0.70 192.168.0.100;
    option subnet-mask 255.255.255.192;
    option broadcast-address 192.168.0.127;
    option routers 192.168.0.65;
}

上例中,default-lease-time、max-lease-time 和 domain-name 等設定適用使用此 DHCP 伺服器的電腦,而 routers 和 broadcast-address 等定適用於有關子網絡的電腦。subnet 宣告的子網絡如果需要有動態分配 IP 地址,就一定要有 range 敘述指定在該子網絡供動態分配的 IP 地址範圍。range 要有兩個參數,分別為供動態分配範圍的第一個和最尾 IP 地址。留意電腦如有多於一個網絡介面,每一個 DHCP 伺服器察聽的網絡介面在 dhcpd.conf 都需要有一個對應的 subnet 宣告。

重新啟動 DHCP 伺服器

設定好後。可以打以下命令重新啟動 DHCP 伺服器:

/etc/init.d/dhcp3-server restart

啟動 DHCP 伺服器後,您可以設定相同網絡上的機器使用 DHCP 連接網路或 Internet

指定個別電腦設定

使用 host 宣告可以指定個別電腦的設定,例如:

host buzz {
    hardware ethernet 08:10:43:5e:a2:74;
    fixed-address 192.168.0.53;
    default-lease-time 86400;
    max-lease-time 86400;
}

上例中,當有電腦向 DHCP 伺服器要求分配 IP 地址而其硬體地址是 08:10:43:5e:a2:74,那 DHCP 伺服器將分配 fixed-address 中的 IP 地址 192.168.0.53、 host 宣告的設定和其他主部份預設設定給讓電腦。您亦可以把 host 宣告放入 subnet 宣告中,那有關電腦的設定會依從相關 subnet 宣告的設定,例如:

subnet 172.16.23.0 netmask 255.255.255.0 {
    range 172.16.23.10 192.16.23.200;
    option subnet-mask 255.255.255.0;
    option broadcast-address 172.16.23.255;
    option routers 172.16.23.1;

    host laserprinter {
        hardware ethernet 00:26:73:e4:52:6e;
        fixed-address 172.16.23.5;
    }

    host jrandom {
        hardware ethernet 08:10:43:5e:a2:74;
        fixed-address 172.16.23.201;
    }
}

請參看

外部連結

Personal tools