谢谢您特意做了个图,:wink: 这个图片与我需要的效果我是不是可以理解:
dhcp server <------------> eth0 (router) br-lan <------------>dhcp client
eth0: 192.168.2.2
br-lan: 192.168.1.10
我不理解dhcp server两个IP地址是什么意思?我需要的效果应该是eth0直接接在一个普通的dhcp server,似乎实现不了图中的所画的
dhcp server,您的强调的是DHCP中继的eth0与dhcp client不能同属一子网吧?但现在要达成的效果就是需要dhcp client应该与eth0同
属一子网,而br-lan的IP地址,我觉得有没有都没关系,因为我希望达成的效果就是:连接在br-lan的终端可以直接获取dhcp server分配的
ip地址,但通过中继时,中继需要给它加上option 82字段,并且中继要去掉dhcp server回应报文中的option 82字段,所以连接上后,dhcp
client我觉得应该是与eth0同属一子网的。
请问您觉得可以做到吗?O(∩_∩)O再次非常感谢!
回复 10# rainfinity
1. 先来科普一下DHCP是如何工作的
DHCP client 通过broadcast 方式寻找server, server如果看这个discovery, 会回应offer , client 会发request, server 回应ACK.
2. 为什么需要dhcp relay
在大多数的情况下, server和client不再一个broadcast domain, 即不再一个网段里,需要gateway 将这个broadcast dhcp discovery转换成unicast 方式, 然后发给server, server将offerunicast 发给gateway, gateway 再将offer转换发给client, 下面步骤以此类推, gateway 就是dhcp relay 的角色
3. 为什么需要option 82
一些非法用户, 不断伪造MAC地址, 可以将SERVER pool 地址池全耗光, 这样合法的用户就没有地址可用, 这也是DOS攻击的一种, 所以需要relay 加上 client id 和remote id 来辨识合法用户, 这样server就可以根据client id + remote id + MAC 来分配地址, 而不是单纯的根据MAC地址来分配了.
4. 如果client 来自于网络的多个subnet, server 如何决定分配特定的地址给特定的client
比如一个来自10.1.1.0/24 client1 , 一个10.1.2.0/24 client2, serer如何给他们分配合适的地址, 这个机关就在dhcp relay 上, dhcp relay 用哪个地址作为relay agent的地址, server 就知道该client来自于哪个subnet, 分配给和dhcp relay 同一个网段的地址.
看完我的文章, 你会明白你的部署方式是永远都不会成功的, 你可以按照我的建议做,如果成功你会明白你错在哪里. 我记得我成功过,没记错的话,亲,你少加了一条路由。 回复 1# running910
楼主好!不知你最后实现了么?最近我也在研究这个问题。想实现同网段的dhcp中继。 回复 10# rainfinity
我看http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=2132799这篇帖子里写的,貌似可以实现同网段及不同网段的dhcp中继,不知到底可以成功么?望解答,谢谢! 回复 13# goodlucktoxx
同网段的dhcp中继需要怎么设置呢?
页:
1
[2]