歡迎您光臨本站 註冊首頁

Linux-DHCP服務的配置

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

1、 DHCP服務的配置.

1.1 DHCP簡介:

DHCP動態主機配置協議,在一個小型區域網里可以通過手工指定ip地址的方式,但如有大量的主機,如果還是手工指定,那是一個很大的工作量,而且也容易出錯,這時,就可以通過配置一台DHCP伺服器來解決,為每台主機分配一個ip地址.

DHCP作用域是指DHCP伺服器可分配給DHCP客戶端的IP地址範圍,一個DHCP伺服器至少要一個作用域,如有多個作用域,作用域之間的IP地址不能重疊.

1.2 DHCP的工作原理:

DHCP工作過程分為四個步驟:

第一步(DHCPDISCOVER):客戶端發送廣播查找可以給自己提供

IP地址的DHCP伺服器,

第二步(DHCPOFFER)DHCP伺服器發送廣播提供一個可用的IP地址,並在地址池中將該地址打上標記,以防再次分配.

第三步(DHCPREQUEST):客戶端收到廣播后再次發送一個廣播請求該地址,如果有多台DHCP響應,則第一個收到的優先.

第四步(DHCPACK)DHCP伺服器收到廣播后再發送一個廣播,確認該地址分配給這台主機使用,並在地址池中將該地址打上標記,以防再次分配.

1.3 DHCP的基本配置:

第一步:安裝軟體:

[root@localhost ~]# rpm -ivh /misc/cd/Server/dhcp-3.0.5-18.el5.i386.rpm

第二步:編輯配置文件:

[root@localhost ~]# vi /etc/dhcpd.conf

# see /usr/share/doc/dhcp*/dhcpd.conf.sample

當進入到配置文件裡面時,這裡是空的,有如上一行的提示,說可以參考這個文件來編寫配置文件,那就複製一份再編輯.

[root@localhost ~]# cp -rvf /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf

[root@localhost ~]# vi /etc/dhcpd.conf

ddns-update-style interim; //配置DHCPDNS為互動更新模式,

ignore client-updates; //忽略客戶端的更新.

subnet 192.168.100.0 netmask 255.255.255.0 { //定義作用域

option routers 192.168.100.1; //默認路由

option subnet-mask 255.255.255.0; //子網掩碼

option nis-domain "rhel.com"; //NIS域名

option domain-name "rhel.com"; //DNS域名

option domain-name-servers 192.168.100.10; //DNS伺服器地址

option time-offset -18000; # Eastern Standard Time //為客戶端設置與格林威治的時間偏移

option ntp-servers 192.168.1.1; //網路時間伺服器地址

option netbios-name-servers 192.168.1.1; //指定WINS伺服器地址

range dynamic-bootp 192.168.100.128 192.168.100.254; //動態分配的地址範圍

default-lease-time 21600; //默認租約時間

max-lease-time 43200; //最大租約時間

host abc { //指定特定主機

hardware ethernet 00:0C:29:FD:44:C8; //硬體地址

fixed-address 192.168.100.30; //IP地址

}

}

如有多個要綁定的主機時可以把所有主機信息用group{ }包括起來,這樣更方便管理.格式如下

group {

……這裡不可以添加一些佤全局選項,這樣就不用在每個裡面寫了.

host abc {

……

……

}

host xyz {

……

……

}

}

[root@localhost ~]# service dhcpd restart

測試:

linux下:

讓地址從DHCP獲取:

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=dhcp

[root@localhost ~]# service network restart //重啟一下網路服務,這裡不能使用ifdown

ifup,要配置路由信息.

[root@localhost ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:44:C8

inet addr:192.168.100.30 Bcast:192.168.100.255 Mask:255.255.255.0

這就是綁定的IP地址.

[root@localhost ~]# cat /etc/resolv.conf

; generated by /sbin/dhclient-script

search rhel.com

nameserver 192.168.100.10

這裡的DNS伺服器地址也獲取到了.

[root@localhost ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U

0 0 0 eth0

0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth0

默認路由也獲取到了.查看一下埠:

[root@localhost ~]# netstat -tlunp | grep 68

udp 0 0 0.0.0.0:68 0.0.0.0 16150/dhclient

查看客戶端的租約文件:

lease {

interface "eth0";

fixed-address 192.168.100.30; //固定地址

option subnet-mask 255.255.255.0; //子網掩碼

option time-offset -18000; //時間偏移

option routers 192.168.100.1; //默認路由

option dhcp-lease-time 21600; //租約時間

option dhcp-message-type 5;

option domain-name-servers 192.168.100.10;

option dhcp-server-identifier 192.168.100.20;

option nis-domain "rhel.com";

option domain-name "rhel.com";

renew 5 2010/4/9 09:01:40;

rebind 5 2010/4/9 11:34:53;

expire 5 2010/4/9 12:19:53;

}

windows下:

IP地址設成自動獲取.

C:Documents and SettingsAdministrator>ipconfig /all

Connection-specific DNS Suffix . : rhel.com

Physical Address. . . . . . . . . : 00-0C-29-D3-C6-B3

Dhcp Enabled. . . . . . . . . . . : Yes

Autoconfiguration Enabled . . . . : Yes

IP Address. . . . . . . . . . . . : 192.168.100.253

Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 192.168.100.1

DHCP Server . . . . . . . . . . . : 192.168.100.20

DNS Servers . . . . . . . . . . . : 192.168.100.10

Lease Obtained. . . . . . . . . . : 201049 14:44:12

Lease Expires . . . . . . . . . . : 201049 20:44:12

基本配置完成.

1.4 DHCP超級作用域.

比如現在有一個C類的作用域,但隨著網路的擴大,現在一個C類網路地址已經不夠用了,那別的主機怎麼得到IP地址呢?經過測試,直接再添加一個作用域發現第二個作用域的地址申請不到,那解決的辦法呢?如下:

shared-network supper {

}

用這個把所有的作用域括起來,就可以實現了.shared-network 後面的supper是自己定義的超級作用域名稱,可以隨便.很簡單吧?

1.5 DHCP保留地址.

DHCP里為某個主機綁定地址已經知道了,但怎麼去保留某一段地址來留著備用呢?如有這樣一個要求:DHCP提供

192.168.100.0 /24這上網段的地址,但現在想192.168.100.2-192.168.100.99,192.168.100.101-192.168.100.254這些地址是不能分出去的,要保留使用.(這是為了實驗,這樣就只有兩個IP地址能分配了,能夠證明.)實現如下:

range dynamic-bootp 192.168.100.1 192.168.100.1;

range dynamic-bootp 192.168.100.100 192.168.100.100;

其實原理很簡單,就是把可以分出去的地址寫出來,沒寫的自然就不會被分出去了,這樣就實現了地址的保留.

1.6

DHCP中繼代理.

如果有兩個子網,中間隔著一台路由器,而只有一台DHCP伺服器,主機向DHCP伺服器申請地址時使用的是廣播,路由器又隔離廣播,那另一個子網的主機怎麼獲得IP地址呢?有一種支持RFC1542的路由器可以實現,但不是這種路由器那就沒辦法了嗎?當然不是,這時,就需要用到DHCP中繼代理了.

配置DHCP伺服器:

[root@rhel ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

IPADDR=192.168.10.10

NETMASK=255.255.255.0

GATEWAY=192.168.10.1 //這個網關一定要.

[root@rhel ~]# service network restart

安裝DHCP軟體:

[root@rhel ~]# rpm -ivh /misc/cd/Server/dhcp-3.0.5-18.el5.i386.rpm

編輯配置文件:

[root@rhel ~]# vi /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

option time-offset -18000;

default-lease-time 21600;

max-lease-time 43200;

shared-network supper {

subnet 192.168.10.0 netmask 255.255.255.0 {

option routers 192.168.10.1; //必需配置網關地址.

option subnet-mask 255.255.255.0;

range dynamic-bootp 192.168.10.2 192.168.10.2;

}

subnet 192.168.20.0 netmask 255.255.255.0 {

option routers 192.168.20.1;

option subnet-mask 255.255.255.0;

range dynamic-bootp 192.168.20.2 192.168.20.3;

}

}

[root@rhel ~]# service dhcpd restart

接下來配置DHCP中繼代理伺服器:

DHCP中繼代理伺服器需要有兩塊網卡.eth0用於和DHCP伺服器相連,eth1用於和內網相連.

[root@rhel3 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

IPADDR=192.168.10.1 //這裡的地址是DHCP伺服器的網關地址.

NETMASK=255.255.255.0

[root@rhel3 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=static

IPADDR=192.168.20.1 //這裡的地址是第二個作用域的地址.

NETMASK=255.255.255.0

[root@rhel3 ~]# service network restart

安裝DHCP軟體(必需):

[root@rhel3 ~]# rpm -ivh /misc/cd/Server/dhcp-3.0.5-18.el5.i386.rpm

編輯這個文件,開啟轉發功能:

[root@rhel3 ~]# vi /etc/sysctl.conf

net.ipv4.ip_forward = 1 //把這裡改為1,默認為0.

執行為條命令使其生效:

[root@rhel3 ~]# sysctl -p

[root@rhel3 ~]# dhcrelay 192.168.10.10 //後面是DHCPIP地址.

好了,配置完成,測試.

1.7 DHCP常用命令.

ipconfig /release //windows下釋放IP地址

ipconfig /renew //windows下重新獲取IP地址

service network restart //linux重啟網路服務

1.8 DHCP綜合配置實例.

目標:

當網路中的DHCP伺服器出現問題,另一台伺服器可以繼續承擔分配ip地址,主伺服器的地址為192.168.10.10,輔伺服器的地址為192.168.10.11,分配的地址範圍是192.168.10.100-192.168.10.254,默認租約為

1天,最大租約為2天.默認路由為192.168.10.1,DNS伺服器地址為192.168.20.20,DNS域名為rehl.com.WINS伺服器地址為192.168.20.21.

其中,192.168.10.201保留給計算機名為rhel3,MAC地址為00:0C:29:2B:5B:2F的主機使用,並配置DNS伺服器地址為219.146.0.130,

192.168.20.20.192.168.10.202保留給計算機名為rhel4,MAC地址為00-0C-29-D3-C6-B3的主機使用,並配置DNS伺服器地址為219.146.0.130,192.168.20.20.

192.168.10.150-192.168.10.160地址保留備用.

配置過程:

主伺服器配置:

[root@rhel ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

IPADDR=192.168.10.10

NETMASK=192.168.10.11

[root@rhel ~]# service network restart

[root@rhel ~]# rpm -ivh /misc/cd/Server/dhcp-3.0.5-18.el5.i386.rpm

[root@rhel ~]# vi /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

subnet 192.168.10.0 netmask 255.255.255.0 {

default-lease-time 86400;

max-lease-time 172800;

option routers 192.168.10.1;

option domain-name "rhel.com";

option domain-name-servers 192.168.20.20;

option netbios-name-servers 192.168.20.21;

range dynamic-bootp 192.168.10.100 192.168.10.140;

range dynamic-bootp 192.168.10.161 192.168.10.200;

group {

option domain-name-servers 219.146.0.130,192.168.20.20;

host rhel3 {

hardware ethernet 00:0C:29:2B:5B:2F;

fixed-address 192.168.10.201;

}

host rhel4 {

hardware ethernet 00:0C:29:D3:C6:B3;

fixed-address 192.168.20.202;

}

}

}

[root@rhel ~]# service dhcpd restart

輔伺服器的配置:

[root@rhel2 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

IPADDR=192.168.10.11

NETMASK=255.255.255.0

[root@rhel2 ~]# service network restart

[root@rhel2 ~]# rpm -ivh /misc/cd/Server/dhcp-3.0.5-18.el5.i386.rpm

[root@rhel2 ~]# vi /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

subnet 192.168.10.0 netmask 255.255.255.0 {

default-lease-time 86400;

max-lease-time 172800;

option routers 192.168.10.1;

option domain-name "rhel.com";

option domain-name-servers 192.168.20.20;

option netbios-name-servers 192.168.20.21;

range dynamic-bootp 192.168.10.203 192.168.10.254; //除了這裡不一樣,其他都都一樣.

group {

option domain-name-servers 219.146.0.130,192.168.20.20;

host rhel3 {

hardware ethernet 00:0C:29:2B:5B:2F;

fixed-address 192.168.10.201;

}

host rhel4 {

hardware ethernet 00:0C:29:D3:C6:B3;

fixed-address 192.168.20.202;

}

}

}

[root@rhel2 ~]# service dhcpd restart

實驗完成.測試.


[火星人 ] Linux-DHCP服務的配置已經有712次圍觀

http://coctec.com/docs/linux/show-post-51564.html