dhcp伺服器配置linux
Ⅰ 如何在Debian linux上安裝配置ISC DHCP伺服器
工具/原料
一台Linux主機或虛擬機(這里CentOS 6.5為例)
編譯源碼或軟體源方式安裝dhcp軟體
方法/步驟
首先我們先了解下 DHCP,DHCP採用客戶端/伺服器的工作模式,由客戶端向伺服器發出獲取IP地址的請求,伺服器接收到請求後會把網路配置信息發送給客戶端,實現IP地址的動態分配。DHCP提供三種地址分配策略:
1:手工分配 在伺服器上指定為哪些主機分配固定的IP,也就是說這些主機永遠獲取的都是給它們設置好的IP。
2:自動分配 地址分配給客戶機後,這個地址就永遠給了客戶機。這樣客戶機不在線也不會回收IP,會造成浪費,不同於手工分配。
3:動態分配 也是用的最多的策略了,它將IP地址分配出去後會有個租約,等租約時間到了,就會回收IP,如果主機還在線,在租約時間快到時,會向DHCP伺服器發送續約請求,以便繼續使用。
以上手工分配適合於列印機、其他提供web服務、ftp服務的主機等,因為它們需要一個固定的IP地址。動態分配能有效解決IP地址不夠用的問題,租約到期後被回收的IP地址會重新給新請求的客戶端使用。
DHCP的安裝可以通過從軟體源直接安裝或自己編譯安裝。編譯安裝的話下載地址在:https://www.isc.org/downloads/
這里選擇編譯安裝DHCP,下圖為DHCP源碼包的官方下載頁面,我們選擇最新版dhcp-4.3.1.tar.gz
首先我們先解壓源碼包
# tar xf dhcp-4.3.1.tar.gz
指定安裝目錄和配置文件目錄
# cd dhcp-4.3.1
# ./configure --prefix=/usr/local/dhcp --sysconfdir=/etc
配置過程非常快,等配置完了可以echo $?確定下是否成功
接著就可以編譯安裝了,請耐心等待編譯完成
# make && make install
如果採用軟體源安裝的話直接 " yum install dhcp "即可,不過版本會比較舊
接著將配置文件復制過去,在安裝目錄的 server 目錄中
# cp server/dhcpd.conf.example /etc/dhcpd.conf
生產地址池文件,用於記錄已經分配出去的IP地址
# touch /var/db/dhcpd.leases
接著修改配置文件,在最後添加提供服務的網段
subnet 10.0.0.0 netmask 255.0.0.0
{
range 10.0.0.50 10.0.0.100;
}
我這里為10.0.0.0網段提供服務,range定義了地址池,記得修改成適合你們的,然後就可以試著啟動服務了。
# /usr/local/dhcp/sbin/dhcpd
如果是以軟體源方式安裝的dhcp軟體,直接 service dhcpd start
我們可以用" killall dhcpd "來結束服務
服務啟動後可以用 " ps aux | grep dhcpd "查看下啟動的進程,DHCP服務監聽 udp 67 埠,客戶端以廣播的方式請求IP地址,整個區域網內,沒開啟DHCP服務的主機就忽視掉了請求,DHCP伺服器就會響應這個請求,如果同時有多個DHCP伺服器在工作肯定看哪個響應的快嘍!
接下來再啟動台主機試試效果把,我又啟動了一台XP,讓其自動獲取IP地址,看 是不是獲取了地址池中第一個IP "10.0.0.50"呢
接下來看下dhcpd的配置文件 " /etc/dhcpd.conf "
dhcpd.conf中由聲明、注釋、參數、選項四大類語句構成
注釋就是"#"開頭的注釋信息。聲明定義網路布局,剛才的subnet就屬於聲明。參數是定義dhcpd服務的各種網路參數,如租約的時間、主機名等。選項是以option作為開始,為客戶機指定主機名、廣播地址、子網掩碼等
聲明:
include "filename" 將指定的文件內容添加到配置文件中
shared-network 名稱 {
【參數】
【聲明】
} 指定共享相同網路的子網
subnet 網段 netmask 子網掩碼 {
【參數】
【聲明】
} 定義哪些IP分配給客戶,一般與range結合使用
range 起始地址 終止地址; 定義IP范圍,終止地址可以沒有
host 主機名 {
【參數】
【聲明】
} 定義保留地址
group {
【參數】
【聲明】
} 為一組參數提供聲明
參數:
ddns-hostname 名稱 指定使用的主機名,不設置默認當前主機名
ddns-domainname 名稱 指定域名
ddns-update-style 參數 指定DNS的更新模式 { ad-hoc | interim | none }
default-lease-time 時間 默認租約時間(單位秒)
max-lease-time 時間 最大租約時間
server-name 名稱 告訴客戶端伺服器的名稱
hardware 介面類型 硬體地址 指定客戶機硬體介面類型和mac地址
fixed-address IP地址 【,IP地址】 為客戶端提供一個或多個IP地址,該參數只能出現在host聲明中
選項: 前面需加option
broadcast-address 廣播地址 指定客戶端廣播地址
domain-name 域名 指定客戶端域名
domain-name-servers 地址 指定客戶端的DNS伺服器
host-name 主機名 指定客戶端主機名
ntp-server 地址 指定時間伺服器地址
routers 地址 指定默認網關IP
subnet-mask 子網掩碼 指定客戶端子網掩碼
比如我們為10.0.0.0網段提供服務,DNS伺服器為8.8.8.8,網關為10.0.0.254,子網掩碼為255.0.0.0,默認租約時間6小時.
subnet 10.0.0.0 netmask 255.0.0.0
{
range 10.0.0.50 10.0.0.100;
option subnet-mask 255.0.0.0;
option routers 10.0.0.254;
option domain-name-servers 8.8.8.8;
default-lease-time 21600;
}
看看是不是網關和DNS也被自動獲取了呢。注意都要以分號結束哦
現在再試試為其配置指定的IP地址,我們先把要指定主機的網卡mac地址記下來,然後給他配置10.10.10.10這個IP
subnet 10.0.0.0 netmask 255.0.0.0
{
range 10.0.0.50 10.0.0.100;
option subnet-mask 255.0.0.0;
option routers 10.0.0.254;
option domain-name-servers 8.8.8.8;
server-name mydhcp;
default-lease-time 21600;
host winXP {
hardware ethernet 00:0C:29:6E:4B:A1;
fixed-address 10.10.10.10;
}
}
這回使用了 ipconfig -all 顯示的更詳細了,這里連伺服器的地址也列出來了,也可以使用這個參數查看網卡的mac地址
11
演示用的是Windows主機,如果是Linux主機需要修改網卡的配置文件,設置"BOOTPROTO=dhcp",然後可以通過 dhclient eth0 來給eth0這塊網卡獲取IP地址。
Ⅱ 請教LINUX怎麼配置主備DHCP伺服器
第一節:安裝軟體包
用命令行安裝軟體包(在第5張光碟上)或直接「添加刪除程序--網路伺服器」,只要安裝dhcp-3.0.1-59.EL4.i386.rpm:
第二節:配置DHCP雙機負載均衡
目前DHCP-Failover(雖然叫failover,但實際上是雙機同時在工作)僅支持最多兩個節點。配置文件和單機配置一樣,依然是/etc/dhcpd.conf;但出於方便管理的目的,在部署時,我們把地址池的配置放在/etc/dhcpd.master文件中,然後在/etc/dhcpd.conf中調用。
主節點的/etc/dhcpd.conf:
authoritative;
ddns-update-style interim;
ignore client-updates;
one-lease-per-client true;
failover peer "dhcp" {
primary;
address 10.14.0.9;
port 520;
peer address 10.14.0.13;
peer port 519;
max-response-delay 60;
max-unacked-updates 10;
mclt 600;
split 128;
load balance max seconds 3;
}
include "/etc/dhcpd.master";
次節點的/etc/dhcpd.conf:
authoritative;
ddns-update-style interim;
ignore client-updates;
one-lease-per-client true;
failover peer "dhcp" {
secondary;
address 10.14.0.13;
port 519;
peer address 10.14.0.9;
peer port 520;
max-response-delay 60;
max-unacked-updates 10;
}
include "/etc/dhcpd.master";
【注意】
1、兩台dhcp server的時間必須同步,可用ntp
2、Dhcp Failover的互相監聽地址可以採用專用網卡互相直連做心跳的方式,甚至心跳卡可以考慮雙網卡綁定!從而使監聽和網路數據流分開,即使網路中斷亦不會因此導致dhcp雙機中斷,如下所示:
這種時候Failover專用介面所在網段,可在地址池中定義一個空池,不做任何地址分配操作:
subnet x.x.x.x netmask 255.255.255.248 {
}
本文列出的配置是採用心跳和數據網卡混用的方式。
/etc/dhcpd.conf
主控伺服器
authoritative;
ddns-update-style interim;
ignore client-updates;
one-lease-per-client true;
failover peer "dhcp" {
primary;
address 10.14.0.9;
port 520;
peer address 10.14.0.13;
peer port 519;
max-response-delay 60;
max-unacked-updates 20;
mclt 3600;
split 128;
load balance max seconds 3;
}
include "/etc/dhcpd.master";
說明
說明這是正式(官方)伺服器,而非測試用
動態DNS的更新方式,有3種1
不允許客戶機更新DNS記錄
每一個客戶機對應一個租約信息(文件)2
指定本機所屬failover域的識別碼為dhcp
指定本機為主控伺服器
指定本機的監聽地址
指定本機的監聽埠
對端的監聽地址
對端的監聽埠
最大無響應時間 60秒,如果地址池很多這個時間可加大3
在得到對端響應之前,最多連續發送20個消息
雙機聯系中斷時所分配的地址的租約時間,3600秒
負載分擔比例,取值0-256,128為平均分擔負載
地址池文件
【注1】這個style參數必須是interim(推薦)、ad-hoc或者none
【注2】假如這個標志配置成true(enabled),當一個客戶端發送一個DHCPREQUEST信息來租用租約時,伺服器會自動釋放任何這個客戶的任何其他租約。伺服器假定當一個客戶端發送DHCPREQUEST信息時,他已忘記任何他沒有在 DHCPREQUEST中提到的租約,例如,客戶端只是個簡單的網路介面,不能記住原來擁有而現在不用的租約。這些假定都是沒有確保,而且不可證實的,因此小心使用這個語句。
【注3】如果這個值不夠大,會發生地址池還未同步結束,就產生連接中斷現象。在擁有近1萬個地址池時,這個值被設為180。
/etc/dhcpd.master
兩個節點的地址池配置必須保持完全一致。
option domain-name-servers 10.14.0.9,10.14.0.13;
default-lease-time 21600;
max-lease-time 43200;
subnet 10.14.0.8 netmask 255.255.255.248 {
option routers 10.14.0.14;
pool {
failover peer "dhcp";
range 10.14.0.11 10.14.0.12;
deny dynamic bootp clients;
}
}
#shuniu
subnet 10.0.0.0 netmask 255.255.224.0 {
option routers 10.0.31.254;
pool {
failover peer "dhcp";
range 10.0.0.1 10.0.31.250;
deny dynamic bootp clients;
}
}
......
有多少個網段就有多少個地址池,一個個配置下去。
域名伺服器
默認租約時間(6小時)
最大租約時間
定義子網/掩碼
定義子網的網關
地址池
屬於名為 dhcp 的failover組
地址范圍,可多條range
拒絕bootp客戶端
第三節:管理操作
在兩個節點依次啟動dhcp服務,先主後備。
# service dhcpd start
配置自動啟動
# chkconfig dhcpd on
驗證
# netstat -anutp | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 6581/dhcpd
查看地址租借信息
# cat /var/lib/dhcp/dhcpd.leases
3.1、租約文件
dhcpd每次都會把所有的租借信息寫到/var/lib/dhcpd.leases文件中,上一次的租借文件被改名成dhcpd.leases~
3.2、地址池同步
每次重啟DHCP服務時,雙機都會自動執行地址池同步操作。
在次伺服器上:
# service dhcpd congrestart
3.3、查看日誌信息
凡是有任何和DHCP伺服器的地址分配有關的故障,都可以通過查看日誌文件分析出原因並得以處理。
# tail -f /var/log/messages
其他的故障絕大部分是由於作為中轉的DHCP-RELAY設備配置有問題導致。
3.4、簡要故障
1、某台伺服器無法為某個網段的客戶機提供地址租借服務
有時會由於某種原因導致雙機地址池無法合理分配,比如主伺服器掌控了某個地址池的所有地址,這時需要先停止兩個節點的dhcp服務,刪除兩個節點的地址租約文件,然後依次重啟服務。
2、無法形成雙機
請注意兩個節點的時間是否一致,如果時間差距太大,比如2分鍾,兩台dhcp伺服器將無法形成集群。可通過配置ntp保持兩個節點的時間同步。
Ⅲ 如何在linux下搭建dhcp伺服器最關鍵的配置文件有哪幾個分別有什麼用一般在linux下搭
dhcp伺服器,就一個配置文件,就是/etc/dhcpd.conf。它是有模板的,你可以i根據模板進行修改就可以了。
搭建dhcp伺服器過程很簡單,安裝軟體、配置主配置文件,重啟服務,驗證是否生效。
配置文件的配置主要有全局配置、網段聲明,還有主機聲明(為某一台主機配置保留地址),主機聲明是可選的
#dhcpd
建議你去網上去找更詳細的配置文件詳解~~懂得每個參數配置的含義
祝你好運~~
Ⅳ linux伺服器DHCP配置問題
僅僅懸賞5分,還要截圖,這樣有人回答才怪了,我直接給你貼出來例子,然後照做吧,一看就是linux課後作業。
今天來說一下在RHEL5.4中搭建DHCP的過程,DHCP伺服器的主要作用就是為客戶機分配IP地址,搭建DHCP伺服器的具體步驟如下:
一、首先確定你的系統中已經安裝好DHCP包,如果安裝好了,那麼就可以繼續下一步配置了,相反,就得到相應的網站去下載最新版本。可以使用命令「rpm-qa|grepdhcpd」來查看DHCP軟體包是否安裝上了。如果沒有安裝好,那麼可以把系統光碟掛載到系統裡面,然後使用命令」rpm-vihdhcp-*」來安裝DHCP軟體包。
二、配置DHCP伺服器的IP地址,可以使用VI編輯器來編輯"/etc/sysconfig/network-scripts/ifcfg-eth0"來配置IP地址,如:要給eth0配置一個192.168.0.1的IP地址,那麼這個配置文件可以這么改:
DEVICE=eth0//為此網卡配置的IP地址;
BOOTPROTO=static//這個網卡介面是靜態IP地址還是動態IP地址,靜態為static,動態為dhcp;
HWADDR=00:0C:29:3A:E3:B7//此網卡的MAC地址;
IPADDR=192.168.0.1//靜態IP地址;
NETMASK=255.255.255.0//上面IP地址的子網掩碼;
三、配置好IP地址後,使用命令「servicenetworkrestart」來重啟網路服務以使IP地址生效。
四、IP地址弄好後,然後就是修改DHCP服務的配置文件,默認DHCP的主配置文件存放在目錄「/etc/dhcpd.conf"里,當我們第一次編輯此配置文件時,配置文件里會提示我們可以參考「/usr/share/doc/dhcp*/dhcpd.conf.sample「幫助文件,我們只要使用命令」cp/usr/share/doc/dhcp*/dhcpd.conf.sample/etc/dhcpd.conf「把那個幫助文件拷到etc下面進行覆蓋,然後再進行配置。
注意:那個*是指DHCP軟體包的版本號,而不是通配符。
五、到這一步就可以對配置文件進行修改來實現DHCP服務的運用了。在修改之前我們首先來看一下這個文件中的一些參數各代表什麼意義:
1.聲明:
DHCP配置文件中的declaration(聲明),用來描述dhcpd伺服器中對網路布局的劃分,是網路設置的邏輯范圍,常用的聲明具體如下:
shared-network:用來告知是否為一些子網路分享相同網路。
subnet:描述一個IP地址是否屬於該子網。
range:用來提供動態分配IP地址的范圍。
host:需要進行特別設置的主機,如為LAN中的某個列印機伺服器配置一個固定的IP地址。
group:為一組參數提供聲明。
allowunknown-clients;denyunknown-clent:是否動態分配IP地址給未知的使用者。
allowbooting;denybooting:是否響應使用者查詢。
filename:開始啟動文件的名稱,應用於無盤工作站。
next-server:設置伺服器從引導文件中裝入主機名,應用於無盤工作站。
2.參數:
ddns-update-style:配置DHCP-DNS為互動更新模式。
default-lease-time:指定默認的租約時間的長度,單位為秒。
max-lease-time:設置最大租約時間長度,單位同樣為秒。
hardware:設置網卡介面類型和MAC地址。
server-name:告知DHCP客戶服務使用的IP地址。
get-lease-hostnamesflag:檢查客戶端使用的IP地址。
fixed-addressip地址:分配給客戶端一個固定的IP地址。
authritative:拒絕不正確的IP地址的要求。
3.選項:
subnet-mask:為客戶端設定子網掩碼。
domain-name:為客戶端指明DNS名稱。
domain-name-server:為客戶端指定DNS伺服器的IP地址。
hostname:為客戶端指定主機名稱。
routers:為客戶端設定默認網關。
broadcast-address:為客戶端設定廣播地址。
ntp-server:為客戶端設定網路時間伺服器IP地址。
time-offset:為客戶端設定和格林威治時間的偏移時間,單位為秒。
六、弄明白各個參數及選項的作用後,我們就可以搭建DHCP伺服器了,下面以一個簡單的實例來演示如何搭建一個DHCP伺服器。
假設一個公司的區域網絡,在該網路中需要使用DHCP伺服器,要求對DHCP伺服器進行以下設置:
1.網路中IP地址的網段為:192.168.1.0。
2.子網掩碼為:255.255.255.0
3.動態分配的IP地址區間為:192.168.1.100-192.168.1.254。
4.DNS伺服器的IP地址為:192.168.1.10。
5.默認網關為:192.168.1.11。
6.公司的列印機伺服器IP地址要求為固定IP:192.168.1.5。
根據以上條件,修改/etc/dhcpd.conf配置文件的內容如下:
ddns-update-stylenone;
ignoreclient-updates;
subnet192.168.1.0netmask255.255.255.0{
optionrouters192.168.1.11;
optionsubnet-mask255.255.255.0;
optiondomain-name"liwei.com";
optiondomain-name-server192.168.1.10;
range192.168.1.100192.168.1.254;
default-lease-time21600;
max-lease-time43200;
hostprint{
hardwareethernet00:0C:12:0F:1D:CE;//列印伺服器的MAC地址;
fixed-address192.168.1.5;
}
}
七、上面就是根據實例中公司的需求來修改的配置文件,修改好後退出。然後建立客戶租約文件,因為運行DHCP伺服器程序還需要一個名為dhcpd.leases的客戶租約文件,在這個文件中保存了所有已經分配出去的IP地址。dhcpd.leases文件默認位於/var/lib/dhcpd目錄中,通過RPM包安裝的DHCP伺服器程序,默認有這個文件,如果不是RPM包安裝的,而是tar包等安裝的,那麼就必須手動創建這么一個文件,不然DHCP服務啟動不起來。
八、啟動dhcpd服務,配置客戶端。可以使用servicedhcpdrestart來重啟dhcpd服務。客戶端配置可以分為兩種,一種是linux客戶端,另一種是windows客戶端,當然也許還有別的客戶端類型,不過應該不多,linux客戶端中需要手動修改/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,把選項BOOTPROTO=dhcp改成這樣,然後重啟一個網路服務。而在windows客戶端里有兩種方法,一是在配置IP地址那裡選擇自動獲得,二是在開始——》運行里輸入cmd命令,在打開的終端中輸入命令:ipconfig/release,然後再輸入ipconfig/renew來自動獲得IP地址。當然做這些之前得保證客戶機到DHCP伺服器的網路是互通的。
九、做完上面這些後,你的DHCP伺服器一般就可以使用了,如果不可以使用,那麼根據出錯的提示來進行排錯。