Initial diagnostics

  1. A DHCP server is started.
  2. Make sure that VLAN ID specified in SSID configuration is correct.
  3. Make sure that a user connects to an appropriate SSID on the AP under consideration.
  4. If encryption is implied for a SSID, make sure that a user has passed authorization successfully.
  5. Check if an address is received by another SSID of the same access point (AP).
  6. Check if an address is received by another device (smartphone/laptop).
  7. Select the mode "Get an address via DHCP" in network settings of a user's device.
  8. Specify a static IP address on a client, check if a gateway is accessible using ping (icmp).

If these settings are correct, move to checking configuration of the server and networking functions. To run diagnostics, it is necessary to know a MAC address of a client's device and have an opportunity to initiate providing a client with an address via DHCP.

Checking a DHCP server

To check DHCP server operation, analyse its logs.
The three main problems can be seen from logs:

 

1. Discover from a client's device is absent in logs.

Start tcpdump on an interface of a server to which Discover was supposed to get. Check the server for Discover.

1.1. Discover is present in a dump, but absent in logs.

Discover is ignored because it arrives on an interface that is not listened by the server. Determine the interface that Discover gets on and add this interface to DHCP server configuration.


In the file /etc/default/isc-dhcp-server all listened interfaces should be listed, for example:
INTERFACES="eth0 eth1"

 

2. Discover is present in DHCP server logs, but Offer is absent.

To determine the cause, check DHCP server logs. Common causes:

2.1 One of the subnetworks used is not specified

Subnetworks containing addresses of listened interfaces and a DHCP-relay (if used) should be specified in the file /etc/dhcp/dhcpd.conf. Even if addresses from these subnetworks are not allocated by the server, for example:

subnet 192.168.1.0 netmask 255.255.255.0 {}

2.2 Pool vacant addresses exhaustion

One of the common causes is a case when a server runs out of vacant addresses. To check it, use a guide: ISC DHCP server pool range usage monitoring


3 Discover and Offer are present in DHCP server logs, but Request is not.

Use tcpdump for the interface that Discover arrives on and check this dump for Offer.


4 Checking a connection between a DHCP server and a DHCP relay

Ping a DHCP relay from a server. Ping should be done from an appropriate interface.
 

Checking a DHCP relay

Debugging in the Scheme with GRE

1. Checking GRE tunnels status.

To check status of GRE tunnels,

show tunnels status | include <XXX.XXX.XXX.XXX>
where XXX.XXX.XXX.XXX – AP primary IP


The command will return a list of tunnels built by this AP.


2. Creating a traffic dump on a SUB-GRE tunnel of an AP under consideration.

To get a dump, connect under the 'techsupport' user, enable 'su' mode and enter the command:


 tcpdump -i dygreХХХ.YYY -evn -c100

  where XXX is a GRE tunnel number found on the previous step, YYY isVLAN ID


In a dump received, perform a search for Discover from a client:


3. Creating a traffic dump when exchanging packets with a DHCP server.

To get a dump, connect under the 'techsupport' user, enable 'su' mode and enter the command:


tcpdump -i te1_YYY.ZZZ -evn -c100
, where YYY– ESR port number, ZZZ – VLAN number.



Debug in the Scheme without GRE

1. Creating a traffic dump on an interface directed to a client.

Find Discover from a client during the dump analysis.

  1. Firewall configuration on a DHCP-relay.
  2. Network configuration for connection with an AP.
  3. AP configuration.


2. Creating a tcpdump of DHCP server exchange.


Checking an access point

Configure an opened SSID without authorization in the same VLAN with the SSID considered. According to an instruction on creating a dump (pcap) of an access point, create dumps on a radio interface to which a user is connected and on eth interface. Results should be interpreted depending on a connection scheme used.

For any scheme:

For the scheme with GRE:

For the scheme without GRE: