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

    PPPoE host-uniq

    Scheduled Pinned Locked Moved General pfSense Questions
    17 Posts 3 Posters 3.7k Views
    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.
    • T
      trollshiro @stephenw10
      last edited by

      @stephenw10

      Hi Steve,
      thanks, I will give it a try in the WE. It seems my ISP is doing something non-standard so do you have any official documentation about host-uniq? Haven't found much except RFC 2516.

      Andrea

      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by stephenw10

        I don't think there is anything in the pfSense docs about it dircetly.

        The information in the two threads and the redmine feature request is probably all there is.

        It's not that complex though. You enter it in the gui as either hex dircetly or as ascii (limited to numbers and letters) and that value is prepended to the pppoe service value in mpd.conf like:

        set pppoe service "0x61616161|test"
        

        Resulting in:

        Frame 66: 67 bytes on wire (536 bits), 67 bytes captured (536 bits)
        Ethernet II, Src: ADIEngin_12:17:7c (00:08:a2:12:17:7c), Dst: silicom_0f:74:48 (90:ec:77:0f:74:48)
        PPP-over-Ethernet Discovery
            0001 .... = Version: 1
            .... 0001 = Type: 1
            Code: Active Discovery Offer (PADO) (0x07)
            Session ID: 0x0000
            Payload Length: 47
            PPPoE Tags
                AC-Name: test_box1.stevew.lan
                Service-Name: test
                Host-Uniq: 61616161
                AC-Cookie: c015738801f8ffff
        

        I expect to see something here but there's nothing.

        Edit: In fact this is documented here:
        https://www.freebsd.org/cgi/man.cgi?query=ng_pppoe#CONTROL%09MESSAGES

        Steve

        T 1 Reply Last reply Reply Quote 0
        • T
          trollshiro @stephenw10
          last edited by trollshiro

          @stephenw10

          Hi Steve,
          thanks for you reply.

          your explanation was enough, thank you, I need the documentation to argue with my ISP, in case.
          Anyway I was able to reproduce the string from my ISP but it's still not working, the only difference I can see between my dump and the one from ISP (and yours) is that the TAGS are sent in the reverse order. Service-name should be sent first I guess, could it be the reason why I got a timeout?

          set pppoe service "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|Test"
          
          Payload Length: 40
          PPPoE Tags
              Tag: Host-Uniq (0x0103)
              Tag Length: 28
              Host-Uniq: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
              Tag: Service-Name (0x0101)
              Tag Length: 4
              Service-Name: Test
          

          It seems I also found an issue with Tag length, if I add one byte to the host-uniq, two bytes are stripped from service-name. This does not affect me, since service-name is not required by my IPS, it's just to ley you know.

          set pppoe service "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|Test"
          

          Payload length decrease by 1

          Payload Length: 39
          PPPoE Tags
              Tag: Host-Uniq (0x0103)
              Tag Length: 29
              Host-Uniq: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
              Tag: Service-Name (0x0101)
              Tag Length: 2
              Service-Name: Te
          

          Andrea

          1 Reply Last reply Reply Quote 0
          • stephenw10S
            stephenw10 Netgate Administrator
            last edited by

            Hmm, 32B limit maybe?

            I can't imagine the tag order makes any difference. The server replies with a different order here.

            T 1 Reply Last reply Reply Quote 0
            • T
              trollshiro @stephenw10
              last edited by trollshiro

              @stephenw10

              Hi,
              I tried OpenWRT that send the packet in the same order of my ISP router, but I still have timeout. The ISP is obviously doing something nasty to prevent use of non-proprietary router, but packets from ISP and oWRT are identical from what I can see, do you have any suggestion?

              About the 32B limit, yes, I think it could be that, but Host-Uniq could be of any lenght as far as I can understand. But again, it's not an issue for me, just something weird that I found out.

              Thanks again for your patience

              Andrea

              1 Reply Last reply Reply Quote 0
              • stephenw10S
                stephenw10 Netgate Administrator
                last edited by

                Spoof the MAC address of the parent interface to match the ISP router?

                T 1 Reply Last reply Reply Quote 0
                • T
                  trollshiro @stephenw10
                  last edited by

                  @stephenw10

                  Already done, it was the first thing... (sigh)

                  1 Reply Last reply Reply Quote 0
                  • JKnottJ
                    JKnott @trollshiro
                    last edited by

                    @trollshiro said in PPPoE host-uniq:

                    My ISP use host-uniq, but if I fill the field in the GUI, wireshark show that values are sent in EBCDIC.

                    Actually, it's ASCII. aaaa = 61 ASCII and 81 EBCDIC.

                    BTW, I started my telecom career as a bench tech overhauling Teletype machines and worked with ASCII and Baudot codes daily. I still have the code card somewhere. There was one system I used to work on, for CN Rail, where the computer worked with ASCII, Baudot, EBCDIC and Hollerith codes, depending on which circuit or device it was talking to.

                    PfSense running on Qotom mini PC
                    i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
                    UniFi AC-Lite access point

                    I haven't lost my mind. It's around here...somewhere...

                    1 Reply Last reply Reply Quote 0
                    • T
                      trollshiro
                      last edited by

                      @stephenw10

                      After some debugging I found that the ISP router sent out PADI packets with a weird timing

                      11:24:53.046530	XX:XX:XX:XX:XX:XX		Broadcast		PPPoED	58	Active Discovery Initiation (PADI)
                      11:24:53.707597	XX:XX:XX:XX:XX:XX		Broadcast		PPPoED	58	Active Discovery Initiation (PADI)
                      11:24:54.707684	XX:XX:XX:XX:XX:XX		Broadcast		PPPoED	58	Active Discovery Initiation (PADI)
                      11:25:06.707842	XX:XX:XX:XX:XX:XX		Broadcast		PPPoED	58	Active Discovery Initiation (PADI)
                      

                      And it always start working after the the 4th packet is sent. I cannot see the PADO anyway, probably it's filtered by the ONT.

                      There is also a sort of counter in the corresponding host-uniq field.

                      Host-Uniq:XXXXXXXXXXXXaaaaaaaa01000000aaaaaaaa4621426f7820...
                      Host-Uniq:XXXXXXXXXXXXaaaaaaaa01000000aaaaaaaa4621426f7820...
                      Host-Uniq:XXXXXXXXXXXXaaaaaaaa01000000aaaaaaaa4621426f7820...
                      Host-Uniq:XXXXXXXXXXXXaaaaaaaa02000000aaaaaaaa4621426f7820...
                      

                      So I gave up, it's completely out of standard.
                      Do you think it's possibile to use the ISP router only for PPPoE authentication and pfsense as an actual router?

                      1 Reply Last reply Reply Quote 0
                      • stephenw10S
                        stephenw10 Netgate Administrator
                        last edited by

                        Possibly if it has some sort of bridging mode. I would not hold my breath though. 😉

                        Is that "counter" always the same? Have you tried just using the 4 packet string?

                        Steve

                        T 2 Replies Last reply Reply Quote 0
                        • T
                          trollshiro @stephenw10
                          last edited by

                          @stephenw10

                          It increase by one after 3 packets and then by another one, so it's something like this:

                          01000000 (0.5 sec)
                          01000000 (1 sec)
                          01000000 (12 sec)
                          02000000 (15 sec) -> here I got connectivity
                          03000000
                          03000000
                          03000000
                          04000000

                          So I tried to replicate that with a stupid shell script that called mpd5, sleep xx, kill, and do that again with a different mpd.conf file (with another string) but it lead nowhere (timing is not so accurate).

                          1 Reply Last reply Reply Quote 0
                          • T
                            trollshiro @stephenw10
                            last edited by

                            @stephenw10

                            Hi,
                            it's solved now.

                            After some fights with the IPS they changed some settings and I was able to connect directly from my PC (Windows, no MAC spoofing required) but not yet from PFsense. After some debug I found they accept only PAP and they drop the connection with any other protocol so I changed this line in mpd_wan.conf

                            set link accept chap pap eap
                            

                            to

                            set link accept pap
                            

                            Now it connects smoothly, thanks a lot for your help Hope this could be useful to someone else.

                            Note: my provider requires also that VLAN is setted to 835, I guess it has something to do with VPI-VCI

                            1 Reply Last reply Reply Quote 0
                            • stephenw10S
                              stephenw10 Netgate Administrator
                              last edited by

                              Still need to send the host-uniq value?

                              Steve

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                trollshiro @stephenw10
                                last edited by

                                @stephenw10

                                No, it's not needed anymore. The only difference with a standard config is PAP.

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