Hello Fabrice,

Adding the line "sub supportsWiredDot1x { return $TRUE; }" to 
/usr/local/pf/lib/pf/Switch/Netgear/MSeries.pm and then rebooting PacketFence 
has worked.

Here are the latest entries from the /usr/local/pf/logs/packetfence.log file:

Nov  2 12:46:30 packetfence-zen packetfence_httpd.aaa: httpd.aaa(2908) INFO: 
[mac:00:21:70:d8:ac:45] handling radius autz request: from switch_ip => 
(192.168.1.12), connection_type => Ethernet-EAP,switch_mac => 
(b0:b9:8a:46:3d:0e), mac => [00:21:70:d8:ac:45], port => 1, username => 
"PFDOMAIN\testme" (pf::radius::authorize)
Nov  2 12:46:30 packetfence-zen packetfence_httpd.aaa: httpd.aaa(2908) INFO: 
[mac:00:21:70:d8:ac:45] Instantiate profile default 
(pf::Connection::ProfileFactory::_from_profile)
Nov  2 12:46:30 packetfence-zen packetfence_httpd.aaa: httpd.aaa(2908) INFO: 
[mac:00:21:70:d8:ac:45] is of status unreg; belongs into registration VLAN 
(pf::role::getRegistrationRole)
Nov  2 12:46:30 packetfence-zen packetfence_httpd.aaa: httpd.aaa(2908) INFO: 
[mac:00:21:70:d8:ac:45] (192.168.1.12) Added VLAN 20 to the returned RADIUS 
Access-Accept (pf::Switch::returnRadiusAccessAccept)
Nov  2 12:46:30 packetfence-zen packetfence_httpd.aaa: httpd.aaa(2908) INFO: 
[mac:[undef]] Updating locationlog from accounting request 
(pf::api::handle_accounting_metadata)


Thank you, Fabrice, for your time and assistance in helping to troubleshoot my 
issue!

James Garcellano

>Ok so you need to add support of 802.1x in the switch module.
>
>In this file, 
>https://github.com/inverse-inc/packetfence/blob/devel/lib/pf/Switch/Netgear/MSeries.pm#L19
> 
>add that:
>
>sub supportsWiredDot1x { return $TRUE; }
>
>Then restart packetfence.
>
>Paste me the packetfence.log after that.
>Regards
>Fabrice
>
>Le 2017-11-01 à 18:04, James Garcellano via PacketFence-users a écrit :
>> Hello Fabrice,
>>
>> Here is the last few entries from the /usr/local/pf/logs/packetfence.log 
>> file:
>>
>> Nov  1 22:03:06 packetfence-zen packetfence_httpd.aaa: httpd.aaa(2852) INFO: 
>> [mac:00:21:70:d8:ac:45] handling radius autz request: from switch_ip => 
>> (192.168.1.12), connection_type => Ethernet-EAP,switch_mac => 
>> (b0:b9:8a:46:3d:0e), mac => [00:21:70:d8:ac:45], port => 1, username => 
>> "PFDOMAIN\testme" (pf::radius::authorize)
>> Nov  1 22:03:06 packetfence-zen packetfence_httpd.aaa: httpd.aaa(2852) 
>> ERROR: [mac:00:21:70:d8:ac:45] Wired 802.1X is not supported on switch type 
>> pf::Switch::Netgear::MSeries. Please let us know what hardware you are 
>> using. (pf::Switch::supportsWiredDot1x)
>> Nov  1 22:03:06 packetfence-zen packetfence_httpd.aaa: httpd.aaa(2852) WARN: 
>> [mac:00:21:70:d8:ac:45] (192.168.1.12) Sending REJECT since switch is 
>> unsupported (pf::radius::_switchUnsupportedReply)
>> Nov  1 22:03:07 packetfence-zen packetfence_httpd.aaa: httpd.aaa(3730) INFO: 
>> [mac:00:21:70:d8:ac:45] Updating locationlog from accounting request 
>> (pf::api::handle_accounting_metadata)
>>
>>
>>> Ok it's better now.
>>>
>>> Now can you check on the packetfence.log, you are suppose to see
>>> different messages now.
>>>
>>>
>>> Le 2017-11-01 à 17:27, James Garcellano via PacketFence-users a écrit :
>>>> It looks like the other test still showed the NAS IP as 192.168.1.5.
>>>>
>>>> I rebooted the switch and did another test.
>>>>
>>>> Here is the raddebug from that...
>>>>
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: Received Access-Request Id 201 from 
>>>> 192.168.1.12:42371 to 192.168.1.5:1812 length 158
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   User-Name = "PFDOMAIN\\testme"
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   Called-Station-Id = 
>>>> "b0-b9-8a-46-3d-0e"
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   Calling-Station-Id = 
>>>> "00:21:70:d8:ac:45"
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   NAS-Identifier = 
>>>> "b0-b9-8a-46-3d-0c"
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   NAS-IP-Address = 192.168.1.12
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   NAS-Port = 1
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   Framed-MTU = 1500
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   NAS-Port-Type = Ethernet
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   EAP-Message = 
>>>> 0x02000014015046444f4d41494e5c746573746d65
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   Message-Authenticator = 
>>>> 0x935d535299b823f31e7748c9271d6225
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: # Executing section authorize from 
>>>> file /usr/local/pf/raddb/sites-enabled/packetfence
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   authorize {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     update {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       EXPAND %{Packet-Src-IP-Address}
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:          --> 192.168.1.12
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       EXPAND %l
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:          --> 1509570793
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     } # update = noop
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     policy 
>>>> rewrite_calling_station_id {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       if (&Calling-Station-Id && 
>>>> (&Calling-Station-Id =~ 
>>>> /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
>>>>  {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       if (&Calling-Station-Id && 
>>>> (&Calling-Station-Id =~ 
>>>> /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
>>>>   -> TRUE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       if (&Calling-Station-Id && 
>>>> (&Calling-Station-Id =~ 
>>>> /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
>>>>   {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         update request {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:           EXPAND 
>>>> %{tolower:%{1}:%{2}:%{3}:%{4}:%{5}:%{6}}
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:              --> 00:21:70:d8:ac:45
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         } # update request = noop
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         [updated] = updated
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       } # if (&Calling-Station-Id && 
>>>> (&Calling-Station-Id =~ 
>>>> /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})$/i))
>>>>   = updated
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       ... skipping else: Preceding 
>>>> "if" was taken
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     } # policy 
>>>> rewrite_calling_station_id = updated
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     policy rewrite_called_station_id 
>>>> {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       if ((&Called-Station-Id) && 
>>>> (&Called-Station-Id =~ 
>>>> /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i))
>>>>  {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       if ((&Called-Station-Id) && 
>>>> (&Called-Station-Id =~ 
>>>> /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i))
>>>>   -> TRUE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       if ((&Called-Station-Id) && 
>>>> (&Called-Station-Id =~ 
>>>> /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i))
>>>>   {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         update request {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:           EXPAND 
>>>> %{tolower:%{1}:%{2}:%{3}:%{4}:%{5}:%{6}}
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:              --> b0:b9:8a:46:3d:0e
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         } # update request = noop
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if ("%{8}") {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         EXPAND %{8}
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:            -->
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if ("%{8}")  -> FALSE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         elsif ( (Colubris-AVPair) && 
>>>> "%{Colubris-AVPair}" =~ /^ssid=(.*)$/i) {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         elsif ( (Colubris-AVPair) && 
>>>> "%{Colubris-AVPair}" =~ /^ssid=(.*)$/i)  -> FALSE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         elsif (Aruba-Essid-Name) {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         elsif (Aruba-Essid-Name)  -> 
>>>> FALSE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         elsif ( (Cisco-AVPair)  && 
>>>> "%{Cisco-AVPair}" =~ /^ssid=(.*)$/i) {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         elsif ( (Cisco-AVPair)  && 
>>>> "%{Cisco-AVPair}" =~ /^ssid=(.*)$/i)  -> FALSE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         [updated] = updated
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       } # if ((&Called-Station-Id) 
>>>> && (&Called-Station-Id =~ 
>>>> /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})(:(.+))?$/i))
>>>>   = updated
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       ... skipping else: Preceding 
>>>> "if" was taken
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     } # policy 
>>>> rewrite_called_station_id = updated
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     policy filter_username {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       if (&User-Name) {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       if (&User-Name)  -> TRUE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       if (&User-Name)  {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if (&User-Name =~ / /) {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if (&User-Name =~ / /)  -> 
>>>> FALSE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if (&User-Name =~ /@[^@]*@/ 
>>>> ) {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if (&User-Name =~ /@[^@]*@/ 
>>>> )  -> FALSE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if (&User-Name =~ /\.\./ ) {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if (&User-Name =~ /\.\./ )  
>>>> -> FALSE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if ((&User-Name =~ /@/) && 
>>>> (&User-Name !~ /@(.+)\.(.+)$/))  {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if ((&User-Name =~ /@/) && 
>>>> (&User-Name !~ /@(.+)\.(.+)$/))   -> FALSE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if (&User-Name =~ /\.$/)  {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if (&User-Name =~ /\.$/)   
>>>> -> FALSE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if (&User-Name =~ /@\./)  {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:         if (&User-Name =~ /@\./)   
>>>> -> FALSE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       } # if (&User-Name)  = updated
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     } # policy filter_username = 
>>>> updated
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     policy filter_password {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       if (&User-Password &&          
>>>> (&User-Password != "%{string:User-Password}")) {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:       if (&User-Password &&          
>>>> (&User-Password != "%{string:User-Password}"))  -> FALSE
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     } # policy filter_password = 
>>>> updated
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     [preprocess] = ok
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: suffix: Checking for suffix after "@"
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: suffix: No '@' in User-Name = 
>>>> "PFDOMAIN\testme", skipping NULL due to config.
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     [suffix] = noop
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: ntdomain: Checking for prefix before 
>>>> "\"
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: ntdomain: Looking up realm 
>>>> "PFDOMAIN" for User-Name = "PFDOMAIN\testme"
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: ntdomain: Found realm "pfdomain"
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: ntdomain: Adding Stripped-User-Name 
>>>> = "testme"
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: ntdomain: Adding Realm = "pfdomain"
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: ntdomain: Authentication realm is 
>>>> LOCAL
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     [ntdomain] = ok
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: eap: Peer sent EAP Response (code 2) 
>>>> ID 0 length 20
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: eap: EAP-Identity reply, returning 
>>>> 'ok' so we can short-circuit the rest of authorize
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     [eap] = ok
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   } # authorize = ok
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: Found Auth-Type = eap
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: # Executing group from file 
>>>> /usr/local/pf/raddb/sites-enabled/packetfence
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   authenticate {
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: eap: Peer sent packet with method 
>>>> EAP Identity (1)
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: eap: Calling submodule eap_peap to 
>>>> process data
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: eap_peap: Initiating new EAP-TLS 
>>>> session
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: eap_peap: [eaptls start] = request
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: eap: Sending EAP Request (code 1) ID 
>>>> 1 length 6
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: eap: EAP session adding &reply:State 
>>>> = 0x3e2077383e216e13
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:     [eap] = handled
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   } # authenticate = handled
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: Using Post-Auth-Type Challenge
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: Post-Auth-Type sub-section not 
>>>> found.  Ignoring.
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: # Executing group from file 
>>>> /usr/local/pf/raddb/sites-enabled/packetfence
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: Sent Access-Challenge Id 201 from 
>>>> 192.168.1.5:1812 to 192.168.1.12:42371 length 0
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   EAP-Message = 0x010100061920
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   Message-Authenticator = 
>>>> 0x00000000000000000000000000000000
>>>> (38) Wed Nov  1 21:13:13 2017: Debug:   State = 
>>>> 0x3e2077383e216e134e967a956fd013fe
>>>> (38) Wed Nov  1 21:13:13 2017: Debug: Finished request
>>>>
>>>> James Garcellano
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Check out the vibrant tech community on one of the world's most
>>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>>> _______________________________________________
>>>> PacketFence-users mailing list
>>>> PacketFence-users@...
>> James Garcellano
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> PacketFence-users mailing list
>> PacketFence-users@...



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
PacketFence-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/packetfence-users

Reply via email to