在linux下,要實現dhcp的mac與ip繫結,就需要在/etc/dhcpd.conf 檔案中為每乙個mac指定乙個ip位址。
dhcp的配置檔案是/etc/dhcpd.conf,不過預設的情況下這個檔案不存在,你需要使用它的模板建乙個配置檔案。模板的位置在/usr/share/doc/dhcp-3.0p11/dhcpd.conf.sample,內容如下:
我的dhcp伺服器的ip位址是192.168.88.230,分配的是88段的位址,/etc/dhcpd.conf配置如下:
dhcpd.conf
配置如下:
由於每次在/etc/dhcpd.conf檔案中手工寫入
host hostname
這些內容相當麻煩,於是便動手編寫了個根據閘道器路由表上的內容自動新增ip、mac位址到/etc/dhcpd.conf檔案中的shell程式。
shell程式原理如下:
1. 建立檔案/tmp/factory;
2. 把路由表中所有的ip、mac位址寫入/tmp/factory中;
3. 逐個判斷/tm/factory中的mac位址在/etc/dhcpd.conf中是否已經存在,如果尚未存在則新增進去,如果存在了則無須新增;
shell
原始碼程式如下(autobind.bash):
#!/bin/bash
touch /tmp/factory
file=/tmp/factory
confile=/etc/dhcpd.conf
#awk 'begin ' > $file
/sbin/ip n l | awk '' > $file ##把路由表中所有的ip、mac位址寫入/tmp/factory中
count=1
str=`sed -n -e $count,1p $file`
while [ -n "$str" ]
dogrep -q `awk '' $file|sed -n -e $count,1p` $confile >/dev/null 2>&1
#判斷/tm/factory中的mac位址在/etc/dhcpd.conf中是否已經存在
if [ $? -ne 0 ]
then ##以下是要寫到/etc/dhcpd.conf裡的內容
echo " host " `awk '' $file|sed -n -e $count,1p` " ' $file|sed -n -e $count,1p`";" >>$confile
echo " fixed-address" `awk '' $file|sed -n -e $count,1p`";" >>$confile
echo " }" >>$confile
echo " ">>$confile
fi
count=`expr $count + 1`
str=`sed -n -e $count,1p $file`
done
把該程式放到/etc/crontab裡,讓它定時執行:
*/2 * * * * root locatedir/autobind.bash
以上都是在dhcp伺服器上所做的工作;
在dhcp客戶機上設定成自動獲取ip位址就可以了。
DHCP 伺服器 動態主機配置協議
cidr classless interdomain routing 無類別域間路由選擇,可以減少由核心路由器運載的路由選擇資訊的數量。這是一種為解決位址耗盡而提出的一種措施。它是將好幾個 ip 網路結合在一起,使用一種無類別的域際路由選擇演算法,1 自動管理 ip 位址,防止重複的 ip 位址 2...
Linux中搭建DHCP伺服器
2.修改配置檔案 1 檢視配置檔案 2 修改配置檔案 root www vim etc dhcp dhcpd.conf 在此之前將主機名改為www.xsh.com,並且靜態繫結網域名稱 default lease time 是預設租期,單位秒 max lease time是最大租期,單位秒 subn...
遷移DHCP伺服器
2007年年前在旭東重做dhcp伺服器時,所涉及到dhcp伺服器的遷移,檢視微軟的文件,再此整理記錄一下!客戶的機器系統是windows 2000 server 如果要遷移到windows 2003是,請參見此文件 url 並且需要有乙個工具!dhcpexim.exe url 準備知識 警告 登錄檔...