DHCP伺服器中自動繫結主機IP MAC位址

2021-10-03 11:05:54 字數 1636 閱讀 5565

在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 準備知識 警告 登錄檔...