DHCP Relay на MPLS VPN

 

Технические специалисты крупных клиенты компаний, пользующихся услугами IP VPN сталкиваются с необходимостью использовать один DHCP сервер для всех своих площадок. Для этого вполне достаточно просить своего оператора настроить поддержку DHCP Relay`я  на MPLS VPN сети. 

Имеем два FreeBSD, на одном настраиваем dhcp сервер, второй выступает в роли клиента. Главное на стороне dhcp сервера прописать подсеть которая будет раздаваться удаленным площадкам. 

 

subnet 10.168.2.0 netmask 255.255.255.0 {

  range 10.168.2.129 10.168.2.254;

  option routers 10.168.2.1;

}

На стороне клиента прописываем, что интерфейс получает адрес автоматически:

 

ifconfig_re0="dhcp"

либо если получаете в dot1q:

cloned_interfaces="vlan444"

ifconfig_re0="up"

ifconfig_vlan444="dhcp vlan 444 vlandev re0"

И самое основное, прописываем хелпер для удаленной площадки, подключенной к PE1:
interface GigabitEthernet3/40.444
 vrf forwarding helper
 encapsulation dot1Q 444
 ip address 10.168.2.1 255.255.255.0
 ip helper-address 10.168.1.2
end
 
Немножко дебага на PE1:
*Feb 17 17:49:17: %LINK-SP-3-UPDOWN: Interface GigabitEthernet3/40, changed state to up
*Feb 17 17:49:18: DHCPD: relay binding created for client 0100.14d1.10b2.48.
*Feb 17 17:49:18: DHCPD: setting giaddr to 10.168.2.1.
*Feb 17 17:49:18: DHCPD: BOOTREQUEST from 0100.14d1.10b2.48 forwarded to 10.168.1.2.
*Feb 17 17:49:17: %LINEPROTO-SP-5-UPDOWN: Line protocol on Interface GigabitEthernet3/40, changed state to up
*Feb 17 17:49:18: DHCP_SNOOPING: checking expired snoop binding entries
*Feb 17 17:49:25: DHCPD: setting giaddr to 10.168.2.1.
*Feb 17 17:49:25: DHCPD: BOOTREQUEST from 0100.14d1.10b2.48 forwarded to 10.168.1.2.
*Feb 17 17:49:25: DHCPD: forwarding BOOTREPLY to client 0014.d110.b248.
*Feb 17 17:49:25: DHCPD: Forwarding reply on numbered intf
*Feb 17 17:49:25: DHCPD: creating ARP entry (10.168.2.129, 0014.d110.b248).
*Feb 17 17:49:25: DHCPD: unicasting BOOTREPLY to client 0014.d110.b248 (10.168.2.129).
*Feb 17 17:49:27: DHCPD: setting giaddr to 10.168.2.1.
*Feb 17 17:49:27: DHCPD: BOOTREQUEST from 0100.14d1.10b2.48 forwarded to 10.168.1.2.
*Feb 17 17:49:27: DHCPD: forwarding BOOTREPLY to client 0014.d110.b248.
*Feb 17 17:49:27: DHCPD: Forwarding reply on numbered intf
*Feb 17 17:49:27: DHCPD: creating ARP entry (10.168.2.129, 0014.d110.b248).
*Feb 17 17:49:27: DHCPD: unicasting BOOTREPLY to client 0014.d110.b248 (10.168.2.129).
 

 

И на стороне dhcp сервера:

 

dhcpserver# tcpdump -n -i re0 -vvv

tcpdump: listening on re0, link-type EN10MB (Ethernet), capture size 96 bytes

18:50:10.805246 IP (tos 0x0, ttl 254, id 0, offset 0, flags [none], proto UDP (17), length 328)

    10.168.2.1.67 > 10.168.1.2.67: BOOTP/DHCP, Request from 00:14:d1:10:b2:48, length 300, hops 1, xid 0xfced52d6, Flags [none] (0x0000)

 Gateway-IP 10.168.2.1

 Client-Ethernet-Address 00:14:d1:10:b2:48 [|bootp]

18:50:10.805813 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.168.1.1 tell 10.168.1.2, length 28

18:50:10.806500 ARP, Ethernet (len 6), IPv4 (len 4), Reply 10.168.1.1 is-at 00:1f:ca:b3:06:40, length 46

18:50:10.806512 IP (tos 0x0, ttl 64, id 31091, offset 0, flags [none], proto ICMP (1), length 48, bad cksum 0 (->e887)!)

    10.168.1.2 > 10.168.2.129: ICMP echo request, id 8291, seq 0, length 28

18:50:10.806985 IP (tos 0x0, ttl 255, id 16822, offset 0, flags [none], proto ICMP (1), length 56)

    10.168.1.1 > 10.168.1.2: ICMP host 10.168.2.129 unreachable, length 36

IP (tos 0x0, ttl 63, id 31091, offset 0, flags [none], proto ICMP (1), length 48)

    10.168.1.2 > 10.168.2.129: ICMP echo request, id 8291, seq 0, length 28

18:50:11.001041 IP (tos 0x0, ttl 64, id 31092, offset 0, flags [none], proto UDP (17), length 328, bad cksum 0 (->e7de)!)

    10.168.1.2.67 > 10.168.2.1.67: BOOTP/DHCP, Reply, length 300, hops 1, xid 0xfced52d6, Flags [none] (0x0000)

 Your-IP 10.168.2.129

 Gateway-IP 10.168.2.1

 Client-Ethernet-Address 00:14:d1:10:b2:48 [|bootp]

18:50:17.806393 IP (tos 0x0, ttl 254, id 1, offset 0, flags [none], proto UDP (17), length 328)

    10.168.2.1.67 > 10.168.1.2.67: BOOTP/DHCP, Request from 00:14:d1:10:b2:48, length 300, hops 1, xid 0xfced52d6, secs 7, Flags [none] (0x0000)

 Gateway-IP 10.168.2.1

 Client-Ethernet-Address 00:14:d1:10:b2:48 [|bootp]

18:50:17.806733 IP (tos 0x0, ttl 64, id 31098, offset 0, flags [none], proto UDP (17), length 328, bad cksum 0 (->e7d8)!)

    10.168.1.2.67 > 10.168.2.1.67: BOOTP/DHCP, Reply, length 300, hops 1, xid 0xfced52d6, secs 7, Flags [none] (0x0000)

 Your-IP 10.168.2.129

 Gateway-IP 10.168.2.1

 Client-Ethernet-Address 00:14:d1:10:b2:48 [|bootp]

 

18:50:19.817475 IP (tos 0x0, ttl 254, id 3, offset 0, flags [none], proto UDP (17), length 328)

    10.168.2.1.67 > 10.168.1.2.67: BOOTP/DHCP, Request from 00:14:d1:10:b2:48, length 300, hops 1, xid 0xfced52d6, secs 7, Flags [none] (0x0000)

 Gateway-IP 10.168.2.1

 Client-Ethernet-Address 00:14:d1:10:b2:48 [|bootp]

18:50:19.819013 IP (tos 0x0, ttl 64, id 31102, offset 0, flags [none], proto UDP (17), length 328, bad cksum 0 (->e7d4)!)

    10.168.1.2.67 > 10.168.2.1.67: BOOTP/DHCP, Reply, length 300, hops 1, xid 0xfced52d6, secs 7, Flags [none] (0x0000)

 Your-IP 10.168.2.129

 Gateway-IP 10.168.2.1

 Client-Ethernet-Address 00:14:d1:10:b2:48 [|bootp]

Level Up
Sponsors:

Контактная информация

Если у Вас есть какие-либо вопросы, Вы можете связаться с нами:

Отдел продаж: (с 10:00 до 18:00)

Icq: 155-10-6525

E-mail: sales@golas.ru