linux全网段地址吗,基于Linux 实现多网段动态分配 IP 地址

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 消息 ,服务器端收到后向客户端回答 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

DASAVlanTag Type/LenDATAFCS

664246~15004

在 linux 中通过 vconfig 命令设置 802. 1Q Vlan ,

基于 Linux 实现多网段动态分配 IP 地址

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。

672bcb0ed1077e2a1e6a07b31f2ceef4.png

图 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 服务器可以同时给上百个网段提供动态地址分配 ,本文仅例举了一简单的例子。 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值