• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

USD$50 - DHCP Option 82 on status_dhcp_leases.php page

Bounties
6
13
7.0k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D
    djzort
    last edited by Jan 19, 2014, 11:51 PM

    We configure our switches to do DHCP Snooping and add option 82 information. WiFi access points can also be configured to inject values, as can a variety of equipment.

    This information, if included in the dhcp packets, is already saved in /var/dhcpd/var/db/dhcpd.leases

    lease 192.168.1.53 {
      starts 0 2014/01/19 23:44:58;
      ends 1 2014/01/20 01:44:58;
      cltt 0 2014/01/19 23:44:58;
      binding state active;
      next binding state free;
      rewind binding state free;
      hardware ethernet aa:08:19:0c:9c:ff;
      uid "\001\000\010\031\014\234\307";
      option agent.circuit-id 0:1:0:e;
      option agent.remote-id 64:66:b3:a3:e9:80;
      client-hostname "samoa";
    }

    This bounty is merely to display this information on the status_dhcp_leases.php page. The Hex values should be decoded back to ascii.

    1 Reply Last reply Reply Quote 0
    • B
      bryan.paradis
      last edited by Jan 24, 2014, 3:15 AM Jan 23, 2014, 7:58 AM

      @djzort:

      We configure our switches to do DHCP Snooping and add option 82 information. WiFi access points can also be configured to inject values, as can a variety of equipment.

      This information, if included in the dhcp packets, is already saved in /var/dhcpd/var/db/dhcpd.leases

      lease 192.168.1.53 {
        starts 0 2014/01/19 23:44:58;
        ends 1 2014/01/20 01:44:58;
        cltt 0 2014/01/19 23:44:58;
        binding state active;
        next binding state free;
        rewind binding state free;
        hardware ethernet aa:08:19:0c:9c:ff;
        uid "\001\000\010\031\014\234\307";
        option agent.circuit-id 0:1:0:e;
        option agent.remote-id 64:66:b3:a3:e9:80;
        client-hostname "samoa";
      }

      This bounty is merely to display this information on the status_dhcp_leases.php page. The Hex values should be decoded back to ascii.

      Could you be more clear. I have it already displaying the values I need to understand which ones and in what format.

      1 Reply Last reply Reply Quote 0
      • D
        djzort
        last edited by Jan 24, 2014, 1:17 AM

        agent.circuit-id is the "port" that the dhcp client is attached to. the hover-over tip should explain that. it would probably be most useful to convert from hex to int and display with slashes or dashes or something. so in this case 0:1:0:e becomes 0/1/0/14

        agent.remote-id is a mac address or the device that the dhcp client is connected to. the hover-over tip should explain that too. i guess not much to decode for this really. maybe link it to dhcp leases?

        1 Reply Last reply Reply Quote 0
        • B
          bryan.paradis
          last edited by Jan 24, 2014, 3:14 AM

          @djzort:

          agent.circuit-id is the "port" that the dhcp client is attached to. the hover-over tip should explain that.

          @djzort:

          agent.remote-id is a mac address or the device that the dhcp client is connected to. the hover-over tip should explain that too.

          Added tooltips to each row and to column title. Let me know if you want just column title tooltips.

          @djzort:

          It would probably be most useful to convert from hex to int and display with slashes or dashes or something. so in this case 0:1:0:e becomes 0/1/0/14

          Did the conversion of client-id. Remote-id resting as is.

          client-id: hex:hex:hex:hex -> dec/dec/dec/dec
          remote-id: hex:hex:hex:hex:hex:hex
          

          status_dhcp_leases.php with agent.circuit-id & agent.-remote-id

          1 Reply Last reply Reply Quote 0
          • D
            djzort
            last edited by Jan 28, 2014, 2:04 AM

            dont forget to add yourself to the credits at the top?

            1 Reply Last reply Reply Quote 0
            • B
              bryan.paradis
              last edited by Jan 28, 2014, 6:19 AM Jan 28, 2014, 2:17 AM

              @djzort:

              dont forget to add yourself to the credits at the top?

              So has this work forfilled your bounty requirements? Have you tried it out yet? Simply backup your status_dhcp_leases.php file and place the one posted above.

              1 Reply Last reply Reply Quote 0
              • D
                djzort
                last edited by Jan 30, 2014, 4:46 AM

                yup looks good.

                please submit for inclusion in pfsense and pm me your paypal details

                1 Reply Last reply Reply Quote 0
                • B
                  bryan.paradis
                  last edited by Mar 6, 2014, 1:57 AM

                  @djzort:

                  yup looks good.

                  please submit for inclusion in pfsense and pm me your paypal details

                  Behavoir before merge. Because it is an odd ball thing what do you think about having a option somewhere to enable it or make it show the information if it is exists? I have a feeling that just having it always show up as another column may come up as a problem with the devs on merge.

                  1 Reply Last reply Reply Quote 0
                  • K
                    Klaws
                    last edited by Mar 17, 2014, 3:24 PM

                    Yes.

                    I'd suggest to use the System Patches package to add this feature to a specific installation.

                    1 Reply Last reply Reply Quote 0
                    • B
                      bryan.paradis
                      last edited by Mar 18, 2014, 12:22 AM

                      @Klaws:

                      Yes.

                      I'd suggest to use the System Patches package to add this feature to a specific installation.

                      Yeah probably but then again we may see it get broken. maybe a setting to turn off or on somewhere

                      1 Reply Last reply Reply Quote 0
                      • P
                        pzaharia
                        last edited by Apr 21, 2017, 10:53 PM Apr 3, 2017, 2:35 PM

                        This is an old thread, but posting here anyway for future reference :)

                        @djzort:

                        agent.circuit-id is the "port" that the dhcp client is attached to. the hover-over tip should explain that. it would probably be most useful to convert from hex to int and display with slashes or dashes or something. so in this case 0:1:0:e becomes 0/1/0/14

                        agent.remote-id is a mac address or the device that the dhcp client is connected to. the hover-over tip should explain that too. i guess not much to decode for this really. maybe link it to dhcp leases?

                        Please see RFC 3046:

                        • Agent Circuit ID Sub-option: https://tools.ietf.org/html/rfc3046#section-3.1
                        • Agent Remote ID Sub-option: https://tools.ietf.org/html/rfc3046#section-3.2

                        Both are supposed to be opaque:
                            "The Circuit ID SHOULD be considered an opaque value, with policies based on exact string match only; that is, the Circuit ID SHOULD NOT be internally parsed by the server."
                            "The option [NB: Remote ID] SHOULD be considered an opaque value, with policies based on exact string match only; that is, the option SHOULD NOT be internally parsed by the server."

                        In addition, the meaning of both are left to the specific implementations of each particular DHCP Relay Agents:
                            Circuit ID:
                              - Router interface number
                              - Switching Hub port number
                              - Remote Access Server port number
                              - Frame Relay DLCI
                              - ATM virtual circuit number
                              - Cable Data virtual circuit number
                            Remote ID:
                              – a "caller ID" telephone number for dial-up connection
                              -- a "user name" prompted for by a Remote Access Server
                              -- a remote caller ATM address
                              -- a "modem ID" of a cable data modem
                              -- the remote IP address of a point-to-point link
                              -- a remote X.25 address for X.25 connections

                        IMHO, each switch/router/ras manufacturer/model would have its own implementation that would invalidate the code below (or above depending on sorting :) )

                        If one would be to implement such a feature, maybe an optional input box with some modifiable regex that would be applied on the raw strings might be more future-proof ?

                        1 Reply Last reply Reply Quote 0
                        • H
                          hermandalig
                          last edited by May 11, 2017, 6:26 PM

                          Could you be more clear. I have it already displaying the values I need to understand which ones and in what format.

                          1 Reply Last reply Reply Quote 0
                          • viktor_gV
                            viktor_g Netgate
                            last edited by Jul 13, 2020, 7:11 AM

                            Feature request: https://redmine.pfsense.org/issues/6544

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.