Linux DHCP配置的完美攻略
在Linux系統下進行DHCP配置有著非常大的差異,相較于Windows系統。那么具體的操作是如何的呢?接下來我們就來了解一下Linux DHCP配置的內容。首先讓我們看一下DHCP服務的基本概念和理論吧。
Linux DHCP服務
DHCP也叫做動態主機服務,它的作用主要是為網絡中的主機主機提供IP地址服務的。Dhcp采用client/server模式,客戶機請求,服務端響應。
DHCP工作原理
1.客戶端向網絡上廣播dhcpdiscover包,內包含客戶機的mac地址。
2.DHCP服務器收到客戶機的dhcpdiscover包后,發送一個dhcpoffer廣播包,內包含IP地址,DHCP服務器IP等內容。
3.客戶機收到***個DHCP服務器發送的dhcpdiscover包后,再以廣播的形式發送一個dhcprequest包發給所有的DHCP服務器,內有一個DHCP服務器IP,說我以已經找到了一個DHCP了。
4.被選中的服務器再發一個dhcppak廣播包確認此IP的發放。
這個IP地址可以使用一半租期的時間,超過一半時間應續租,如果過了一半時間后找不到DHCP服務器的話,可以再使用四分之一時間,然后就過期了。用戶就不能通過此IP地址進行通信了。
DHCP服務安裝
首先應確認Linux DHCP服務的安裝
rpm -q dhcp
package dhcp is not installed
沒有安裝,下面是Linux DHCP的安裝。
rpm -ivh dhcp-3.0pl1-23.i386.rpm dhcp的安裝
warning: dhcp-3.0pl1-23.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:dhcp ########################################### [100%]
Linux DHCP配置
Linux DHCP配置文件默認是沒有的,需要在/etc手工創建dhcpd.conf文件。但是幸運的是,在安裝DHCP服務時會為我們提供一個示例文件
/usr/share/doc/dhcp-3.0.1/dhcp.conf.sample
cp dhcp.conf.sample dhcpd.conf
將其復制為/etc/dhcpd.conf 并在其基礎上進行修改配置。#p#
Linux DHCP配置 單網配置文件
編輯dhcp配置文件為以下內容。具體的實際的環境的配置可以在以下配置文件的基礎上進行修改,使其滿足具體環境中的應用。
vi /etc/dhcpd.conf
ddns-update-style interim; /*dhcp支持的dns動態更新方式*/
ignore client-updates; /*忽略客戶端DNS動態更新*/subnet 192.168.1.0 netmask 255.255.255.0 { /*作用域網段*/
range 192.168.1.11 192.168.1.100; /*ip地址段范圍*/
option routers 192.168.1.1; /*網關地址*/
option subnet-mask 255.255.255.0; /*子網掩碼*/
option domain-name "koumm.com"; /*域名*/
option domain-name-servers 192.168.1.1,202.103.24.68; /*dns IP*/
option broadcast-address 192.168.16.255;/*廣播地址*/
default-lease-time 86400; /*租期1天,秒數*/
max-lease-time 172800; /*最長租期2天*/
/*綁定pc1主機ip地址配置*/
host pc1 {
hardware ethernet 00:a0:cc:cf:9C:14; /*綁定機MAC地址*/
fixed-address 192.168.1.20; /*最長租期2天*/
}
host pc2 {
hardware ethernet 04:20:c1:f8:37:11;
fixed-address 192.168.1.30;
}
}
Linux DHCP配置 超網配置文件
vi /etc/dhcp.conf
ddns-update-style interim; /*dhcp支持的dns動態更新方式*/
ignore client-updates; /*忽略客戶端DNS動態更新*/shared-network mynet { /*超網作用域選項,共同部分*/
option subnet-mask 255.255.255.0; /*子網掩碼*/
option domain-name "koumm.net"; /*域名*/
option domain-name-servers 192.168.1.2; /*dns IP*/
option broadcast-address 192.168.1.255; /*廣播地址*/
default-lease-time 86400; /*租期1天,秒數*/
max-lease-time 172800; /*最長租期2天*/subnet 192.168.1.0 netmask 255.255.255.0 { /*1.0子網段*/
range 192.168.1.11 192.168.1.100; /*ip地址段范圍*/
option routers 192.168.1.1; /*網關地址*/
/*綁定pc1主機ip地址配置*/
host pc1 {
hardware ethernet 00:a0:cc:cf:9C:14;
fixed-address 192.168.1.20;
}
/*綁定pc2主機ip地址配置*/
host pc2 {
hardware ethernet 04:20:c1:f8:37:11;
fixed-address 192.168.1.30;
}
}subnet 192.168.2.0 netmask 255.255.255.0 { /*2.0子網段*/
range 192.168.2.10 192.168.2.100; /*ip地址段范圍*/
option routers 192.168.2.1; /*網關地址*/
}subnet 192.168.3.0 netmask 255.255.255.0 { /*3.0子網段*/
range 192.168.3.10 192.168.3.100; /*ip地址段范圍*/
option routers 192.168.3.1; /*網關地址*/
}
}
#p#Linux DHCP配置 中繼代理
只要是安裝了DHCP服務,也就自動安裝了dhcp中繼代理dhcrelay。中繼代理服務默認監聽所有接口上的dhcp請求,也可以只是監聽某一個網卡上的請求。
dhcp中繼代理配置文件:
/etc/sysconfig/dhcrelay
vi /etc/sysconfig/dhcrelay
# Command line options here
INTERFACES="eth1 eth2"
DHCPSERVERS="192.168.1.1"
也可以通過以下命令方式來實現:
dhcrelay -i eth1 -i eth2 192.168.1.1
Linux DHCP配置完成后,重新啟動DHCP服務。
DHCP服務管理
DHCP服務安裝好后沒有開啟,驗證如下。
chkconfig --list |grep dhcpd
dhcpd 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉chkconfig --level 345 dhcpd on 設為開機自動運行
/etc/init.d/dhcpd restart 或service dhcpd restart 重啟服務
DHCP客戶端配置
linux客戶端
vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE = eth0 網卡設備
BOOTPROTO = dhcp 動態ip設置就為DHCP
BROADCAST = 192.168.1.255 廣播地址
HWADDR = 00:0C:29:49:D0:59 MAC地址
IPADDR = 192.168.1.10 本機IP地址
NETMAST = 255.255.255.0 子網掩碼
NETWORK = 192.168.1.0 網絡號
ONBOOT = yes 開機時激活網卡
DHCP服務驗證
1.服務器端驗證
查看dhcp租約文件。
cat /var/lib/dhcp/dhcpd.leases
# This lease file was written by isc-dhcp-V3.0pl1
lease 192.168.1.100 {
starts 3 2009/01/21 12:26:31;
ends 4 2009/01/22 12:26:31;
binding state active;
next binding state free;
hardware ethernet 00:0c:29:3b:20:d5;
}
查看系統日志文件
cat /var/log/messages
....
Jan 21 20:25:23 linux 1月 21 20:25:23 dhcpd: Listening on
Jan 21 20:25:23 linux 1月 21 20:25:23 dhcpd: Sending on
Jan 21 20:25:23 linux 1月 21 20:25:23 dhcpd: Sending on
Jan 21 20:25:23 linux 1月 21 20:25:23 dhcpd: dhcpd 啟動 succeeded
Jan 21 20:26:30 linux dhcpd: DHCPDISCOVER from 00:0c:29:3b:20:d5 via eth0
Jan 21 20:26:31 linux dhcpd: DHCPOFFER on 192.168.1.100 to 00:0c:29:3b:20:d5 via eth0
Jan 21 20:26:31 linux dhcpd: DHCPREQUEST for 192.168.1.100 (192.168.1.8) from 00:0c:29:3b:20:d5 via eth0
Jan 21 20:26:31 linux dhcpd: DHCPACK on 192.168.1.100 to 00:0c:29:3b:20:d5 via eth0
2.客戶端驗證
ip地址驗證:ifconfig
網關:/etc/sysconfig/network
dns: /etc/resolv.conf