5.DHCP服務
DHCP的全稱是動態主機配置協議(Dynamic Host Configuration Protocol),是由IETF(Internet網路工程師任務小組). .它是用來自動給客戶機器分配 TCP/IP信息的網路協議.每個DHCP客戶都連接到中央位置的DHCP伺服器,該伺服器包括IP地址、網關、DNS伺服器信息的客戶網路配置.
.註:對於共享網路作用域其實只是很多作用域的集合,它並不用於設置具體的作用範圍或者具體的參數
DHCP中繼代理:不同網路段中能夠轉發 DHCP請求消息的路由器或者主機
工作過程:
租用請求:當DHCP客戶機啟動后,向網路內廣播一個DHCP請求信息,所有機器都會收到,但不是DHCP伺服器的機器會把信息丟掉.
租用提供:DHCP伺服器回應客戶機,提供一個網內沒有的IP地址.
租用選擇:如果DHCP伺服器有多個,則選擇第一個回應的信息,然後向網路中廣播一個消息,表明自己已經接受一個
租用確認:DHCP伺服器接受到客戶的選擇信息之後,會返回給客戶一個消息包,客戶機按伺服器的信息配置機器IP,伺服器記錄客戶機的IP地址.
配置文件
/etc/dhcpd.conf主配置文件
(dhcpd.conf.sample樣本文件
/usr/sbin/dhcpd執行文件
/var/lib/dhcp/dhcpd.leases 租約文件
/etc/sysconfig/dhcrelay 中繼代理配置文件
主配置文件/etc/dhcpd.conf
全局配置項
Subnet語句(網段地址)
選項:選項所定義的參數、值用來應答DHCP請求
range語句:設定地址範圍
Host語句:指定的主機保留IP地址
Ddns-update-style interim:動態DNS更新(ad-hoc特殊模式,interim互動草圖過渡模式;none不更新)
Ignore client-updates:忽略客戶端動態更新
DHCP配置
租期為秒,-1永不過期
是否支持動態更新
聲明子網{
指定客戶端網關
子網掩碼
網路信息服務域名
設定DNS域
設定DNS伺服器地址,如果多個用“,”隔開
設定偏移時間
設定NTP伺服器地址(保持系統時間精準)
設定NETBIOS伺服器地址
設定地址範圍(可設定多個同網段地址池)
本IP租期
本IP最大租期
設定主機IP保留{
設置從引導文件裝入的主機名稱,只有無盤工作站使用
所要進行綁定的客戶端MAC地址
定義與上面
}
配置完成後啟動DHCP協議服務
#service dhcpd start
/etc/rc.d/init.d/hcpd start
/usr/sbin/dhcpd start
/usr/sbin/dhcpd eth1
#cat /etc/srvices |grep bootps
Dhcp前身為bootps
檢查進程
#ps ax |grep dhcpd
檢查埠
#netstat -naup|grep 67
指定網路介面啟動DHCP協議伺服器
#echo "DHCPDARGS=eth0">>/eth/sysconfig/dhcpd
如果是雙網卡主機,
客戶租約文件
文件位於/var/lib/dhcp目錄中,rpm
若不是ISC DHCP協議安裝,則手工建立空文件
#touch /var/lib/dhcp/dhcpd.leases
配置DHCP client
修改/etc/sysconfig/network文件,修改以下行
NETWORKING=Yes
//引導時啟動聯網
#echo "NETWORKING =yes">>/etc/sysconfig/network
Service network start/stop/restart
修改/etc/sysconfig/network-scripts/ifcfg-eth0
應該包含以下行:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
#dhclient或#dhclient eth0
釋放地址
#dhclient -r
查看租約
配置DHCP中繼代理
配置中繼代理可以接受客戶端的廣播並轉發到伺服器上,這樣客戶端就可以利用中繼代理把自己所請求的IP地址的廣播消息穿過路由器與伺服器取得聯繫.
在本地子網的客戶端發送廣播等待得到IP地址,中繼代理截獲消極將其發送到另一個子網中
的伺服器上,伺服器利用一個特殊的數據包對DHCP中繼代理做出回應然後中繼代理將此數據包回應廣播到整個本地子網上.當本地子網的接收到此回應就可以使用所獲得的 IP和相關配置
# vi /etc/sysconfig/dhcrelay
修改
#Command line options here
INTERFACES="eth0 eth1 eth2"指定中繼代理接收到客戶端消息的時候用哪個網路設備將消息通知到伺服器
DHCPSERVERS="192.168.1.168"指定dhcp伺服器的 IP地址
編輯完成之後啟動代理服務
#servers dhcrelay start
DHCP冗餘
server1 (192.168.0.2/24)
vi /etc/dhcpd.conf
#vi /etc/dhcpd.conf
通過上面可以看出,兩個伺服器都可以對子網 A和B的客戶端進行IP地址分配,而且每個伺服器所提供的IP地址都可以完全對其它網路中的客戶端進行分配IP,還可以看出在兩個子網
中各有一台伺服器,,這樣不僅能減輕網路負載還使伺服器擁有了一定的冗餘能力
如果打算為不同地址範圍的主機分配不同的網路參數,那麼
可以改進配置文件.
配置內核文件開轉發
Vim /etc/sysctl.conf
Net.ipv4.ip_forword = 1原來是0
#sysctl -p 查看改的結果
將DHCP服務的日誌信息從系統的日誌服務中分離.在不改變其他配置內容的前提下,在配置文件/etc/dhcpd.conf的全局配置項中加入如下語句:
log-facility local4;
修改日誌服務的主配置文件為如下所示:
#vi /etc/syslog.conf
超級域
實際上對於超級域來說,它就是同一物理網路中有很多邏輯子網的集合.它本身並沒有太多的意義,而是將本來就屬於同一個物理網路段中的其它子網歸納在一起.超級域不用做其它而外的設置.如:
server-name "hello"
option netbios-name-servers 192.168.0.2;
shared-network test {共享網路的配置,在shared-network之後必須自定義一個共享網路名.
subnet 192.168.0.0 netmask 255.255.255.0{
option broadcast-address 192.168.0.255;
option routers 192.168.0.254;
range 192.168.0.2 192.168.0.166;
range 192.168.0.169 192.168.0.254;
}
subnet 192.168.1.0 netmask 255.255.255.0{
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
range 192.168.1.1 192.168.1.166;
range 192.168.1.168 192.168.1.254;
}
}
group {可以將類似的條件歸為一個組中,這樣可以對整個組進行管理
host hehe {
option host-name "abc.com";指定所要進行綁定的IP地址的DHCP客戶端計算機名稱.只是方便管理員在查看租約的時候能夠看到哪些IP分配給哪些客戶端,但是不能在Windows的DHCP客戶端下用
hardware ethernet aa:bb:cc:dd:ee:ff;
fixed-address 192.168.0.166;
host winxp {
hareware ethernet bb:cc:dd:ee:ff:aa;
fixed-address 192.168.0.160;
}
}
設置
1#setup-system service-dhcpd
2 # ntsysv-dhcpd
3 # chkconfig-add dhcpd
4.#chkconfig --level 345 dhcpd on/off 啟DHCP服務
目標功能:
使用一台 RHEL5伺服器[Server1]連接 A、B、C三個網段,A網段中有一台 DHCP伺服器[Server2].需要在 Server1上配置 dhcp中繼代理,以使Server2能夠給三個網段的客戶機自動分配IP地址,給A網段的網路印表機綁定永久
實驗參數如下:
Server1:
eth0: 172.17.17.1/24
eth1: 192.168.1.1/24
eth2: 192.168.2.1/24
eth0: 172.17.17.2/24
注意:dhcp也就是 Server2上要配置默認網關172.17.17.1
實驗環境:一台有三塊網卡的RHEL5充當dhcp中繼,eth0在vmnet2中,eth1在vmnet3中,eth2在
具體配置步驟:
[DHCP中繼]:
1、# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
# echo 1 > /proc/sys/net/ipv4/conf/all/bootp_relay
# echo 1 > /proc/sys/net/ipv4/ip_forward
#sysctl –p
2、# vi /etc/sysconfig/dhcrelay
INTERFACES="eth0 eth1 eth2"
DHCPSERVERS="172.17.17.2"
//這裡要定寫上dhcp的IP地址:
3、# chkconfig --level 2345 dhcrelay on
# /etc/init.d/dhcrelay start
注意:安裝 DHCP伺服器的軟體包,否則下面的dhcrelay命令沒法用
#dhcrelay 192.168.1.2在DHCRELAY伺服器上需要安裝DHCP伺服器軟體包,不需要創建
dhcpd.conf
[註:如果僅當次測試可以使用“
/usr/sbin/dhcrelay -i eth0 -i eth1 -i eth2 172.17.17.2”命令啟動dhcp中繼服務]
Server2
[DHCP伺服器]
1、# vi /etc/dhcpd.conf
ddns-update-style none;
ignore client-updates;
default-lease-time 36000;
max-lease-time 86400;
option time-offset -18000;
subnet 172.17.17.0 netmask 255.255.255.0
{ option routers 172.17.17.1; option subnet-mask 255.255.255.0;
option domain-name-servers 172.17.17.1,202.106.0.20;
range 172.17.17.100 172.17.17.200;
host printer
{ hardware ethernet 00:12:fc:78:AB:CD;
fixed-address 172.17.17.250;
}
}
subnet 192.168.1.0 netmask 255.255.255.0
{ option routers 192.168.1.1;
option subnet-mask
255.255.255.0;
option domain-name-servers 192.168.1.1,202.106.0.20;
range 192.168.1.100 192.168.1.200;
}
subnet 192.168.2.0 netmask 255.255.255.0
{
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.2.1,202.106.0.20;
range 192.168.2.100 192.168.2.200;
}
2、# vi /etc/sysconfig/dhcpd DHCPDARGS="eth0"
3
# /etc/init.d/dhcpd start
[火星人 ] Linux筆記5.DHCP服務已經有753次圍觀