As of 13.2 (for most platforms), Juniper ethernet switches now offer Enhanced Layer 2 Services (ELS) which changed the syntax to configure a number of different objects throughout Junos. Recently I had to configure DHCP on an EX switch for a customer on EX3300s which were running ELS.
Though Juniper has documentation describing how to configure DHCP on ELS I found that it was light on the details particularly around the situation I needed to support where I had non-contiguous address blocks within the same network address space.
In my case the customer was running a /23 network block but had static configurations on some PCs out of that address space so the EX was going to allocate from one small block and then a larger one. If this is on different networks it’s possible to configure overflow pools and link them together.
The key pieces of information that I found missing was:
- You must have a network address on the network for which you want to provide DHCP. Note that if you don't have a local address there is no warning on commit, there's just no DHCP handed out.
- Multiple address ranges configured in the same pool will overflow from one to the other as needed.
In the end our configuration came out looking like the following:
system {
services {
dhcp-local-server {
group LAN {
interface irb.1
}
}
}
}
interfaces {
irb {
unit 1 {
family inet {
address 1.2.3.17/23;
}
}
}
}
access {
address-assignment {
pool LAN {
family inet {
network 1.2.2.0/23;
range 1st-range {
low 1.2.2.200;
high 1.2.2.254;
}
range 2nd-range {
low 1.2.3.3;
high 1.2.3.16;
}
dhcp-attributes {
name-server {
8.8.8.8
}
router {
1.2.2.1;
}
}
}
}
}
}
or
set system services dhcp-local-server group LAN
set access address-assignment pool LAN family inet network 1.2.2.0/23
set access address-assignment pool LAN family inet range 1st-range low 1.2.2.200
set access address-assignment pool LAN family inet range 1st-range high 1.2.2.254
set access address-assignment pool LAN family inet range 2nd-range low 1.2.3.3
set access address-assignment pool LAN family inet range 2nd-range high 1.2.3.16
set access address-assignment pool LAN family inet dhcp-attributes name-server 8.8.8.8
set access address-assignment pool LAN family inet dhcp-attributes router 1.2.4.1
set interfaces irb unit 1 family inet address 1.2.3.17/23