发布时间:2020-02-24 15:36:54
1 DHCP2服务器和客户机的信息交互2石河子市某所中学架设了校园网,由于通过手动设置动态IP地址工作量太大而且不好维护,经常出现地址冲突问题,给管理工作带来很大麻烦,于是准备动态分配IP地址,共有3个网段要动态分配,现向我们提出技术帮助,根据实际情况我们提出技术方案:架设一台linux dhcp服务器,并结合设置802.1Q Vlan解决问题。
DHCP是一种动态组织网络的机制,在DHCP机制中可分为服务器端和客户端。服务器端使用固定IP地址,在局域网中提供客户端动态IP地址、DNS配置、gateway等配置设置。在局域网里架设了DHCP服务器以后,必须先规划好1段或多段IP区间以提供给DHCP服务器做为设置动态IP POOL,接着在DHCP服务器上设置使用动态IP地址的POOL范围、网域域名、网域的gateway等,设置完成后即可提供服务。
DHCP客户端启动后,会与DHCP服务器进行信息交互沟通,索取IP地址、子网掩码等TCP/IP配置信息。DHCP客户机使用两种不同的租用方式来与
DHCP服务器交互信息并获得配置。
1)向DHCP服务器索取新的IP地址。客户机首次启动时,自动执行初始化过程以便从DHCP服务器获得租约。DHCP采用1个包含4个阶段的过程配置已启用DHCP的客户机。
首先,客户端首先广播DHCPDISCOVR消息,服
收稿日期:2006 06 22
务器端收到后向客户端回答DHCPOFFER消息,然后客户端向服务器发送DHCPREQUEST请求,服务器端回答DHCPACK,然后DHCP服务器便向客户端提供IP地址、网络掩码等数据。
2)更新IP地址的租约。当DHCP客户机关闭并在相同的子网上重新启动时,客户机一般能获得与其关机之前相同的租约。
如果DHCP客户端要延长其使用期限,则必须更新其IP租约。通常,当DHCP客户端租约时间超过50%时,DHCP客户端自动试图更新它的IP地址。DHCP客户端会向原先提供租约的DHCP服务器直接发送DHCPREQUEST数据包,当客户端能够成功更新租约时,DHCP服务器就会给客户端发送1个DHCPACK数据包以响应更新请求。若更新租约时,此IP地址已无法再给该客户端使用(如该地址已经无效或已经被其他计算机使用),则DHCP服务器发送1个DHCPNAK信息包[1]。
2 802.1Q Vlan在linux上的实现
每1个支持802.1Q协议的网络设备,在发送数据包时,都在以太帧头中增加1个4字节的TAG标记,以指明该数据包属于哪一个VLAN。当数据包进入另一个支持802.1Q协议的网络设备时,会根据
802.1Q帧中的Tag标记交换到所属VLAN[2](表1)。表1 802.1Q帧Bytes
DA SA VlanTag Type/Len DATA FCS
6 6 4 2 46~1500 4
在linux中通过vconfig命令设置802.1Q Vlan,
作者简介:徐燕(1971),女,实验师,从事计算机网络应用研究。电话:0993 2058090,email:xy inf shzu.edu.cn。
第6期徐燕,等:基于Linux实现多网段动态分配IP地址777
vconfig的基本使用方法如下:创建vlan 100:
vconfig add eth0 100//创建VLAN100,同时并创
建了一个虚拟VLAN接口eth0.100删除vlan 100:
vconfig rem eth0.100
3实例
我们以架设石河子市某中学的校园网为例,进行说明。该校园网网连接3个部门A、B、C,分别在
3个不同的vlan,其中部门A在vlan 10,可以分配
IP地址范围192.168.1.0/24,部门B在vlan 11,可以分配IP地址范围192.168.2.0/24,部门C在vlan 12,可以分配IP地址范围192.168.3.0/24,要求使用1台DHCP服务器为3个部门动态分配IP地址
(图1),操作系统为RedHat Linux 9.0。网络拓扑图如图1。
图1网络拓扑图
3.1 Linux内核的要求这里要求内核支持802.1Q VLAN,若内核版本
较低可以到http://www.kernel.org/pub/linux/kernel处下载,然后重新编译内核(关于内核的编译本文在这里不做介绍),启用新内核。
3.2网络设备的要求交换机必须支持802.1Q协议,这样当数据帧通过交换机时,交换机根据会把每个数据帧中添加
TAG头,Linux服务器根据每个数据帧的TAG头识别出来自不同VLAN的请求而给出相对应的的IP地址。
3.3在DHCP服务器上创建vlan并做相关配置
vconfig add eth0 10//为部门A创建vlan 10,同时也创建了虚拟VLAN接口eth0.10,以下含义相同vconfig add eth0 11 vconfig add eth0 12 ip address add 192.168.1.253/24 dev eth0.10//给接口eth0.10设置IP地址,等同于给vlan10设置IP地址,此地址也作为服务器的监听地址。以下含义相同
IP address add 192.168.2.253/24 dev eth0.11 ip address add 192.168.3.253/24 dev eth0.12
ip link set dev eth0.10 up//启用接口,以下含义相同
ip link set dev eth0.11 up ip link set dev eth0.12 up
3.4配置/etc/dhcpd.conf
ddns update style interim;ignore client updates;option domain name″company.com″;option domain name servers 201.201.160.8;option time offset 18000;
subnet 192.168.1.0 netmask 255.255.255.0{
option routers 192.168.1.254;option subnet mask 255.255.255.0;
range 192.168.1.1 192.168.1.252;default lease time 86400;max lease2time 86400;
}
subnet 192.168.2.0 netmask 255.255.255.0{
option routers 192.168.2.254;option subnet mask 255.255.255.0;
range 192.168.2.1 192.168.2.252;default lease time 86400;max leasetime 86400;}
subnet 192.168.3.0 netmask 255.255.255.0{
option routers 192.168.3.254;option subnet mask 255.255.255.0;
range 192.168.3.1 192.168.3.252;default lease time 86400;max leasetime 86400;
}
3.5启动DHCP服务器
/usr/sbin/dhcpd
现在此台dhcp服务器就可以同时监听来自3个不同vlan客户端的dhcp请求,从而为它们动态分配IP地址。事实上,通过此技术1个dhcp服务器可
7石河子大学学报78(自然科学版)第24卷
Realize Dynamic Allocation of Multiple Net Segment Network IP
Addresses Based on Linux
以同时给上百个网段提供动态地址分配,本文仅例举了一简单的例子。
4小结
若用户在局域网内通过linux架设dhcp服务器,则必须保证在需要动态分配IP的网段内没有基于windows的dhcp服务器在启用,否则客户端则优先从windows上架设的dhcp上去获取数据,从而干扰正确的数据获取,极大地影响了用户队对网络的正常使用,对网络管理人员的维护工作也带来了很大的麻烦。同时为了提高系统的稳定性和安全性,建议正确设置防火墙。
此技术方案较适用于中小型网络,比较经济且运行稳定,易于维护。若网络较大,骨干设备均具有dhcp中继功能,用户分布较分散,建议使用dhcp中继技术,若仍然要使用此技术则要占用较多的物理链路,性价比相对来说就降低了。
参考文献:
[1]高健,赖阿福.linux网络实际操作经典[M].北京:科学出版社,2002
[2]杨汉祥,罗有萍.基于VLAN技术的用户访问控制和计费研究[J].赣南师范学院学报,2004,(3):44 47.
大客户
微信
置顶