We have a two-location MPLS. I am told by the ISP that I can have a single DHCP server to service both branches.
But I don't understand this.
Consider this:
- Location1 (Host branch with the DHCP server)
- Location2 (Remote branch)
If I do a ip scan of the network (using Softperfect netscan), any devices that are at Location1 will show the router's mac address as their own mac address. So it seems that I cannot know the mac address of devices at Location2.
But can the DCHP server still assign ip addresses to devices at location2?
Yes, absolutely.
The remote branch needs to have a configured DHCP Forwarder, also known as a DHCP Helper. You typically configure this on a router in the remote branch and tell it to listen for DHCP requests. It will forward those requests to the DHCP server, and then take those assignments and reply to the clients with them.
You'll need to enable (or have the MPLS provider enable) DHCP relay on the router at the remote branch. The remote router will listen for DHCP requests, forward them to your DHCP server, and then return the reply to the client. The router will include its local subnet in the DHCP request so your server will know from which scope to assign an address. Here's the documentation for Cisco IOS - your particular router may implement this feature differently (or not at all).
Your router has to support relaying DHCP requests to MPLS VPNs (DHCP relay = option . MPLS operates 'under' any particular protocol, if you will, so DHCP shouldn't be a problem. Taken from Cisco's documentation
You also get the potential benefit of using the same address pool(s) for different remote branches, b/c every packet forwarded by the router contains the VPNID that the request originated from.