Linux上搭建支持OPTION 82功能的 DHCP服务器

新年伊始,我们要尽快调整好心态投入到工作当中去。

DHCP Snooping是预防dhcp攻击的一种手段,通过设置信任端口和非信任端口让非法的dhcp服务器无法攻击客户端,同时它还提供对dhcp报文的检查,如dhcp报文中的chaddr字段和以太帧头中的源mac是否匹配。

DHCP Snooping中还涉及到一个重要的概念是OPTION 82,通过在非信任端口上启用OPTION 82功能,让客户端发出的dhcp报文携带option82字段,然后支持dhcp Snooping option82功能的服务器再根据客户端携带的option82信息分配地址。tw自研交换机的option82支持两个子选项(1)Agent Circuit ID和(2)Agent RemoteID。

sub-option 1,为代理电路id(即circuitid)子项。子选项通常在dhcp中继设备上配置,定义了在传输报文的时候要携带dhcp客户端所连接交换机端口的vlan-id及二层端口号。通常sub-option 1与sub-option 2子选项要共同使用来标识dhcp源端的信息。

sub-option 2,为代理远程id(即remoteid)子项。该子选项也通常在dhcp中继设备上配置,定义了在传输报文的时候要携带中继设备的mac地址信息。通常与sub-option1子选项要共同使用来标识dhcp源端的信息。

这些子选项在报文中的格式是这样的

代码    长度  代理信息字段

+------+------+------+------+------+------+--...-+------+

|   0   |   N   |    s1  |   s2  |   s3  |  s4  |.......| sN  |

+------+------+------+------+------+------+--...-+------+

DHCP OPTION82功能的测试

1、搭建支持option82功能的DHCP服务器

2、配置tw自研交换机的option82功能

3、pc是否能根据不同的option82信息获取到不同的地址

搭建支持option82功能的DHCP服务器

这里我用的是centos系统下面yum命令安装的dhcp服务器,找到/etc/dhcp/dhcpd.conf文件,进行编辑。

普通的dhcpd.conf文件

ddns-update-style interim; #表示dhcp服务器和dns服务器的动态信息更新模式

ignore client-updates; #忽略客户端更新

subnet 192.168.1.0

netmask 255.255.255.0 { #意思是我所分配的ip地址所在的网段为192.168.145.0 子网掩码为255.255.255.0

range 192.168.1.200 192.168.1.210; #租用IP地址的范围

option domain-name-servers ns.example.org;

option domain-name "example.org";

option routers 192.168.1.1; #路由器地址,这里是当前 dhcp 服务器的IP地址

option subnet-mask 255.255.255.0; #子网掩码

default-lease-time 600; #默认租约时间

max-lease-time 7200; #最大租约时间

}

带有option82功能的dhcpd.conf文件

ddns-update-style interim; #表示dhcp服务器和dns服务器的动态信息更新模式 ignore client-updates; #忽略客户端更新

class "port1" { match if option agent.circuit-id=00:04:00:01:00:03; }

class "port2" { match if option agent.circuit-id=00:04:00:01:00:01; }

subnet 192.168.1.0 netmask 255.255.255.0 {

pool {

allow members of "port1";

default-lease-time 600;

max-lease-time 7200;

range 192.168.1.3 192.168.1.100;

option routers 192.168.1.1;

option subnet-mask 255.255.255.0;

option domain-name-servers 8.8.8.8; } }

subnet 192.168.2.0 netmask 255.255.255.0 {

pool {

allow members of "port2";

default-lease-time 600;

max-lease-time 7200;

range 192.168.2.101 192.168.2.199;

option routers 192.168.2.1;

option subnet-mask 255.255.255.0;

option domain-name-servers 8.8.8.8; } }

选择第二个文件,因为它支持根据option82的circuit id去分配不同的IP地址。

linux系统下面启用dhcp服务器的命令为service dhcpd restart,通过cat /var/log/messages可以查看日志信息

配置tw自研交换机的option82功能

首先开启全局和端口的dhcp snooping功能

设置连接dhcp服务器的端口为信任端口

启用端口的option82功能

pc是否能根据不同的option82信息获取到不同的地址

pc连接交换机的端口3,抓到的完整报文如下

pc连接到端口1获到192.168.1.1网段的地址。

pc连接交换机的端口1,抓到的完整报文如下

pc连接到端口1获到192.168.2.1网段的地址。

由此可见,不同端口可以获取到同一DHCP服务器不同网段的地址。

pc连接端口1携带的circuit id为000400010001,dhcpd.conf文件中

class "port2" {match if option agent.circuit-id=00:04:00:01:00:01;}

匹配到的是"port2",该网段为192.168.2.1,地址池为range 192.168.2.101 192.168.2.199

pc连接端口3携带的circuit id为000400010003,dhcpd.conf文件中

class "port1" {match if option agent.circuit-id=00:04:00:01:00:03;}

匹配到的是"port1",该网段为192.168.1.1,地址池为range 192.168.1.3 192.168.1.100

这是dhcp snooping option82的一个应用场景,通过编辑dhcp.conf文件来获取不同网段的地址。其中还需要注意一个问题,因为dhcp服务器只有一张网卡,要想同时分配两个网段的ip地址也需要网卡支持两个网段的ip,所以我们给网卡配置了一个静态ip后有配了一个虚拟ip。

option82最基本的功能就介绍到这儿了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,816评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,729评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,300评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,780评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,890评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,084评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,151评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,912评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,355评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,666评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,809评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,504评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,150评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,121评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,628评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,724评论 2 351

推荐阅读更多精彩内容