User Tools

Site Tools


documentation:examples:dhcp_relay_and_server_lab
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


documentation:examples:dhcp_relay_and_server_lab [2017/07/10 14:20] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== DHCP Relay and Server lab ======
  
 +This Labs show an example of IPv4 DHCP Relay and server with BSDRP (v1.51)
 +
 +===== Presentation =====
 +
 +==== Network diagram ====
 +
 +Here is the logical and physical view:
 +
 +{{:documentation:examples:bsdrp-dhcp-relay-server.png|}}
 +
 +===== Setting-up the lab =====
 +
 +==== Downloading BSD Router Project images ====
 +
 +Download a BSDRP serial image (prevent to have to use an X display) on SourceForge.
 +
 +==== Downloading BSDRP lab scripts and starting the lab =====
 +
 +More information on these BSDRP lab scripts available on [[documentation:examples:How to build a BSDRP router lab]].
 +
 +Start a lab with 3 routers full meshed (no common LAN), example with VirtualBox script:
 +<code>
 +# tools/BSDRP-lab-bhyve.sh -i BSDRP-1.903-full-amd64-serial.img.xz -n 3
 +BSD Router Project (http://bsdrp.net) - bhyve full-meshed lab script
 +Setting-up a virtual lab with 3 VM(s):
 +- Working directory: /tmp/BSDRP
 +- Each VM have 1 core(s) and 256M RAM
 +- Emulated NIC: virtio-net
 +- Switch mode: bridge + tap
 +- 0 LAN(s) between all VM
 +- Full mesh Ethernet links between each VM
 +VM 1 have the following NIC:
 +- vtnet0 connected to VM 2
 +- vtnet1 connected to VM 3
 +VM 2 have the following NIC:
 +- vtnet0 connected to VM 1
 +- vtnet1 connected to VM 3
 +VM 3 have the following NIC:
 +- vtnet0 connected to VM 1
 +- vtnet1 connected to VM 2
 +For connecting to VM'serial console, you can use:
 +- VM 1 : cu -l /dev/nmdm1B
 +- VM 2 : cu -l /dev/nmdm2B
 +- VM 3 : cu -l /dev/nmdm3B
 +</code>
 +===== Routers configuration =====
 +
 +==== VM3 (DHCP server) ====
 +
 +<code>
 +sysrc hostname=VM3
 +sysrc gateway_enable=NO
 +sysrc ipv6_gateway_enable=NO
 +sysrc ifconfig_em1="10.0.23.3/24"
 +sysrc defaultrouter="10.0.23.2" 
 +sysrc dhcpd_enable=YES
 +sysrc dhcpd_flags="-q"
 +sysrc dhcpd_conf="/usr/local/etc/dhcpd.conf"
 +sysrc dhcpd_ifaces="em1"
 +sed -i "" 's/em/vtnet/g' /etc/rc.conf
 +cat > /usr/local/etc/dhcpd.conf <<'EOF'
 +subnet 10.0.23.0 netmask 255.255.255.0 {
 +}
 +subnet 10.0.12.0 netmask 255.255.255.0 {
 +  range 10.0.12.100 10.0.12.200;
 +  option routers 10.0.12.2;
 +}
 +'EOF'
 +
 +hostname VM3
 +service netif restart
 +service routing restart
 +service isc-dhcpd start
 +config save
 +</code>
 +==== VM2 (Router and DHCP Relay) ====
 +
 +<code>
 +sysrc hostname=VM2
 +sysrc ifconfig_em0="10.0.12.2/24"
 +sysrc ifconfig_em1="10.0.23.2/24"
 +sysrc dhcprelya_enable=YES
 +sysrc dhcprelya_servers="10.0.23.3"
 +sysrc dhcprelya_ifaces="em0"
 +sed -i "" 's/em/vtnet/g' /etc/rc.conf
 +hostname VM2
 +service netif restart
 +service routing restart
 +service dhcprelya start
 +config save
 +</code>
 +
 +==== VM1 (DHCP client) ====
 +
 +<code>
 +sysrc hostname=VM1
 +sysrc ifconfig_em0="DHCP"
 +sysrc gateway_enable=NO
 +sysrc ipv6_gateway_enable=NO
 +sed -i "" 's/em/vtnet/g' /etc/rc.conf
 +hostname VM1
 +service netif restart
 +service routing restart
 +config save
 +</code>
 +
 +===== Final testing =====
 +
 +Check data received by DHCP client on VM1:
 +<code>
 +[root@VM1]~# ifconfig vtnet0
 +vtnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
 +        options=80028<VLAN_MTU,JUMBO_MTU,LINKSTATE>
 +        ether 58:9c:fc:01:02:01
 +        hwaddr 58:9c:fc:01:02:01
 +        inet6 fe80::5a9c:fcff:fe01:201%vtnet0 prefixlen 64 scopeid 0x1
 +        inet 10.0.12.100 netmask 0xffffff00 broadcast 10.0.12.255
 +        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
 +        media: Ethernet 10Gbase-T <full-duplex>
 +        status: active
 +[root@VM1]~# cat /var/db/dhclient.leases.vtnet0
 +lease {
 +  interface "vtnet0";
 +  fixed-address 10.0.12.100;
 +  option subnet-mask 255.255.255.0;
 +  option routers 10.0.12.2;
 +  option dhcp-lease-time 43200;
 +  option dhcp-message-type 5;
 +  option dhcp-server-identifier 10.0.23.3;
 +  renew 1 2017/7/10 20:14:07;
 +  rebind 2 2017/7/11 00:44:07;
 +  expire 2 2017/7/11 02:14:07;
 +}
 +</code>
documentation/examples/dhcp_relay_and_server_lab.txt · Last modified: 2017/07/10 14:20 by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: BSD 2-Clause
Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki