1、dhcp簡介:
Dynamic Host Configuration Protocol,動態主機配置協議。是一個局域網的網絡協議,使用UDP協議工作, 主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址,給用戶或者內部網絡管理員作爲對所有計算機作中央管理的手段。
DHCP協議採用客戶端/服務器模型,主機地址的動態分配任務由網絡主機驅動。當DHCP服務器接收到來自網絡主機申請地址的信息時,纔會向網絡主機發送相關的地址配置等信息,以實現網絡主機地址信息的動態配置。
DHCP具有以下功能:
1. 保證任何IP地址在同一時刻只能由一臺DHCP客戶機所使用。
2. DHCP應當可以給用戶分配永久固定的IP地址。
3. DHCP應當可以同用其他方法獲得IP地址的主機共存(如手工配置IP地址的主機)。
4. DHCP服務器應當向現有的BOOTP客戶端提供服務。
服務模式:C/S;
server:dhcp server(運行dhcp服務);
udp:監聽67
client:dhcp client(運行dhcp程序);
udp:監聽68
2、安裝配置dhcp:
[root@localhost ~]# service iptables stop
[root@localhost ~]# setenforce 0 :關閉防火牆和selinux;
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:B2:B7:26
inet addr:192.168.57.172 Bcast:192.168.57.255 Mask:255.255.255.128
inet6 addr: fe80::20c:29ff:feb2:b726/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15489 errors:0 dropped:0 overruns:0 frame:0
TX packets:6489 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10154545 (9.6 MiB) TX bytes:594358 (580.4 KiB)
eth1 Link encap:Ethernet HWaddr 00:0C:29:B2:B7:30
inet addr:1.1.1.1 Bcast:1.1.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feb2:b730/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:336 errors:0 dropped:0 overruns:0 frame:0
TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:66858 (65.2 KiB) TX bytes:21624 (21.1 KiB)
:添加一塊網卡eth1,留給dhcp服務使用。eth0位置管理使用;
[root@localhost ~]# yum -y install dhcp :安裝dhcp服務;
[root@localhost ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
cp:是否覆蓋"/etc/dhcp/dhcpd.conf"? y
[root@localhost ~]# :複製一個dhcpd配置文件示例到固定位置;
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
dhcpd.conf大致可以分爲四個區域:(;分號結尾)
1、定義dhcpd自身的工作屬性:
log-facility:日誌facilify;
2、全局地址分配屬性:option打頭(全局有效,不影響subnet中的)
注意:(“作用範圍越小,優先級越大;作用範圍越大,優先級越小”)
option router :分配網關的;
全局的優先級小於作用域的優先級;
相當於默認配置;
3、子網配置:(“作用範圍越小,優先級越大;作用範圍越大,優先級越小”)
通常每個作用域通過一個subnet定義;
subnet NETWORK_ADDRESS netmask NETMASK {
地址池(range)、網關、dns
}
注意:作用域的優先級優先於全局優先級;
4、主機配置:
通常爲某特定mac地址固定的分配一個固定地址;
host 'HOST ID' {
mac ip地址
}
注意:保留的主機地址,不要出現在任何其他地址池當中,不然會衝突的;
實例1:定義一個dhcp地址池,使用1.1.1.0/24網段,下發給客戶端的地址範圍爲:1.1.1.2-1.1.1.10,網關爲1.1.1.1:
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
subnet 1.1.1.0 netmask 255.255.255.0 {
range 1.1.1.2 1.1.1.10;
option routers 1.1.1.1;
}
[root@localhost ~]# service dhcp restart :重啓dhcp服務;
[root@localhost ~]# ps -aux | grep dhcp
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
dhcpd 27398 0.0 0.2 49088 4044 ? Ss 23:03 0:00 /usr/sbin/dhcpd -user dhcpd -group dhcpd
root 27403 0.0 0.0 103256 844 pts/0 S+ 23:05 0:00 grep dhcp
[root@localhost ~]# :查看dhcp進程;
找了臺windowns機器,設置網卡自動獲得ip地址:
實例2:配置dhcp,爲特定地址保留分配固定的地址;
1、確定被固定ip者的網卡mac地址,這裏是0050-56c0-0002
2、編輯dhcp主配置文件:
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
host test {
hardware ethernet 00:50:56:c0:00:02;
fixed-address 1.1.1.10;
option routers 1.1.1.1;
option domain-name "test.com";
option domain-name-servers 202.96.209.133;
} 實現將1.1.1.10這個ip地址下發給mac地址爲0050-56c0-0002的主機;
[root@localhost ~]# service dhcpd force-reload :重載dhcp配置文件;
重啓下windows機器上的測試網卡;
[root@localhost ~]# tail -f /var/log/boot.log :動態觀察dhcp服務ip下發過程;
Apr 1 23:38:24 localhost dhcpd: uid lease 1.1.1.2 for client 00:50:56:c0:00:02 is duplicate on 1.1.1.0/24
Apr 1 23:38:24 localhost dhcpd: DHCPDISCOVER from 00:50:56:c0:00:02 via eth1
Apr 1 23:38:24 localhost dhcpd: DHCPOFFER on 1.1.1.10 to 00:50:56:c0:00:02 via eth1
Apr 1 23:38:24 localhost dhcpd: uid lease 1.1.1.2 for client 00:50:56:c0:00:02 is duplicate on 1.1.1.0/24
Apr 1 23:38:24 localhost dhcpd: DHCPDISCOVER from 00:50:56:c0:00:02 via eth1
Apr 1 23:38:24 localhost dhcpd: DHCPOFFER on 1.1.1.10 to 00:50:56:c0:00:02 via eth1
Apr 1 23:38:24 localhost dhcpd: Dynamic and static leases present for 1.1.1.10.
Apr 1 23:38:24 localhost dhcpd: Remove host declaration test or remove 1.1.1.10
Apr 1 23:38:24 localhost dhcpd: from the dynamic address pool for 1.1.1.0/24
Apr 1 23:38:24 localhost dhcpd: uid lease 1.1.1.2 for client 00:50:56:c0:00:02 is duplicate on 1.1.1.0/24
Apr 1 23:38:24 localhost dhcpd: DHCPREQUEST for 1.1.1.10 (1.1.1.1) from 00:50:56:c0:00:02 via eth1
Apr 1 23:38:24 localhost dhcpd: DHCPACK on 1.1.1.10 to 00:50:56:c0:00:02 via eth1
ok,ip地址成功固定分配;
結束;