bentole / dhcpproxy Goto Github PK
View Code? Open in Web Editor NEWDHCP Proxy For Deleting and Inserting Relayed Option 82
DHCP Proxy For Deleting and Inserting Relayed Option 82
In order for us to get this working we had to do the following.
Changed "not ip broadcast" to "not broadcast" line 26
changed I to i in "relay_agent_Information" line 21.
Run python2 as it will not work with python3
Nothing mind blowing.
I would have wanted to see more logs when running directly from CLI, not as a service. Maybe even what options were being sent/asked for back and forth. Also what "Irrevelant DHCP pkt" actually was.
Mind you, I haven't studied the code yet.
dhcpProxy actually helped us prove that VMware VDI's behind ACI could actually PXE-boot, and that it was not a limitation in VMware BIOS or anywhere else.
We then moved the DHCP options to a proper DHCP-server (Infoblox) and that worked every time. The guys handling SCCM were almost ecstatic.
dhcpProxy should have support for relaying DHCP packets to multiple upstream DHCP servers. This is neccesary as having multiple DHCP servers is common practice.
I have a half-way functioning prototype of this and will be finishing it in the next few days.
The current set_dhcp_option function does not account for the order of DHCP options.
Option 82 is replaced with FF 00 00 00 by edge switches in Cisco SD access. It seems like client machines consider the FF as option 255 (END) and drops the packet.
def set_dhcp_option(pkt, option_key, new_value):
try:
pkt[DHCP].options.insert(0, (option_key, new_value))
return "success"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.