Mlppp hack for pfsense 2.0
-
Jimp:
There are some other, unrelated, PPPoE issues on 2.0 now, mainly with automatic connection/reconnection that I'm wondering if mpd5 might solve or improve. Have you seen any issues in your setup with links not reconnecting when they are disconnected?
Due to limitations in pfsense 2.0 (voip problems, ipsec problems), I ran it for a total of 72 hours (some reboots involved). During that time, mpd5 maintained the connection. I don't know if disconnections occurred or not, just that the connection was always working. the status_interfaces.php page's disconnect button doesn't work with my hack.
ermal:
i'll look at adding the patch to the 5.3 source for interface naming.overall i'm looking at making this work in 1.2.3-RC1 where NAT-T is supported and everything works well except DNS during failover - that is a nice feature in 2.0.
-
i patched and recompiled mpd 5.3 but the iface option doesn't work.
mpd-5.3 compile on freebsd
patch < patch (patch is from http://sourceforge.net/tracker/?func=detail&aid=2831674&group_id=14145&atid=314145)[root@mlppp /usr/ports/net/mpd5/src]# patch < patch Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |--- src/bund.c.orig 2009-08-03 21:25:30.000000000 +0200 |+++ src/bund.c 2009-08-03 21:44:10.000000000 +0200 -------------------------- Patching file bund.c using Plan A... Hunk #1 succeeded at 1676. Hunk #2 succeeded at 1726. Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |--- src/iface.c.orig 2009-08-03 20:09:32.000000000 +0200 |+++ src/iface.c 2009-08-03 21:33:50.000000000 +0200 -------------------------- Patching file iface.c using Plan A... Hunk #1 succeeded at 84. Hunk #2 succeeded at 157. Hunk #3 succeeded at 1347. Hunk #4 succeeded at 1961. Hunk #5 succeeded at 2050. Hunk #6 succeeded at 2081. Hunk #7 succeeded at 2113. Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |--- src/iface.h.orig 2009-08-03 21:23:42.000000000 +0200 |+++ src/iface.h 2009-08-03 21:24:28.000000000 +0200 -------------------------- Patching file iface.h using Plan A... Hunk #1 succeeded at 97. done [root@mlppp /usr/ports/net/mpd5/src]# make depend all install to rebuild the binary.
the compile was good. i'm using the binary it made but no iface option or purhaps the mpd config is wrong:
new mpd.conf:
startup:
default:
load pppoeclient
pppoeclient:
set iface name pppoe0
new -i pppoe0 pppoeclient pppoeclient
create bundle static B1
set iface route default
….. the rest is the same.mpd5 still works perfectly but i'm still left having to rename the interface. if i run mpd5 in the foreground so it outputs to console, it says set iface name isn't a command.
-
There are some patches in mpd4 for that, in the tools repo.
http://redmine.pfsense.org/repositories/browse/pfsense-tools/pfPorts/mpd4/files
-
Place the set iface name after the bundle create.
Otherwise it works for me.
I just added mpd5 to builds with that patch included. It is mpd5.5 the latest and greatest.
-
that worked ermal, the interface comes up named "pppoe0" now without intervention. thanks!
-
I do not think yo uneed this:
new -i pppoe0 pppoeclient pppoeclient
To integrate this into pfSense gui it is simple enough to just copy paste the vlan config pages.
interface_vlan.php and interface_vlan_edit.php from there on is just adding removing pppoe settings.
After you have those pages ok you just need to add the multilink pppoe type to the interfaces assign page and
copy the interface_pppoe_configure() in interfaces.inc to interface_multilink_configure() and add the neccessary settings.
It is not too much work once you get to it. -
i removed that line from the config and reconnected. seems fine.
i'll also work on those config pages you mentioned.
-
rsingh, I'm mlppp-enabled on teksavvy, and getting my second ADSL line Friday. I'm using 1.2.3-Release currently and would like to test what you've got. Does the procedure you posted at the dlsr forum work for you in 1.2.3 or do you have any recommended modifications?
edit: I tried your 2.0 instructions on 1.2.3 and got a missing library error when trying to run mpd5 in the shell. I'll try it on 2.0 as soon as I can get PFS to boot up.
-
I'm working on getting this functionality into the pfSense code base.
I need to know, do the two DSL lines have different usernames and passwords, or are they the same?Thanks,
GNB -
rsingh, I'm mlppp-enabled on teksavvy, and getting my second ADSL line Friday. I'm using 1.2.3-Release currently and would like to test what you've got. Does the procedure you posted at the dlsr forum work for you in 1.2.3 or do you have any recommended modifications?
edit: I tried your 2.0 instructions on 1.2.3 and got a missing library error when trying to run mpd5 in the shell. I'll try it on 2.0 as soon as I can get PFS to boot up.
these instructions will not work for 1.2.3. You need to recompile mpd5 in freebsd 7.1 (i think 1.2.3 uses this) and then copy all of the libraries from your 7.1 system to 1.2.3. I did this, i found it didn't work well and abandonned it.
-
I'm working on getting this functionality into the pfSense code base.
I need to know, do the two DSL lines have different usernames and passwords, or are they the same?Thanks,
GNBin my case, the usernames are the same. people on the ISP i'm on and many other canadian ISPs that run mlppp will have just one account but the provider allows that one account to log in twice for the purposes of mlppp. this may not be true for everyone though.
if this is to be implemented in the code base, it may be simpler to ask the user to edit the config file manually. the mss, mru, mrru, mtu settings i use in my conf file may not be optimal for everyone.
-
I need to know, do the two DSL lines have different usernames and passwords, or are they the same?
I don't know the answer for sure, but rsingh indicated at the top of this thread that he is on the same ISP as me, so I'm going to go with him and say they are the same.
-
My ISP is looking at implementing mlppp on their network in the near future as well and I would also be grateful for any work done to make this a simple thing to enable from the web interface.
Thanks for all the work that has gone into this so far. -
Anything new to report here? Some clarification would be good too: are you still working on mlppp functionality at this point, or is that a wrap and you're just packaging it now?
-
It's ready.
I'm now just making the existing PPPoE and PPtP code store the config data the same way the new code does it, and writing functions to upgrade existing config to the new data structures.
GB
-
I've got a 2-link mlppp connection at home right now, running on mlppp-enabled Tomato firmware. I'll be happy to test pfsense on the connection when you get to that point with it.
-
Here's a .tar file with updated files. The brave and skilled can test them out.
Instructions
1. Delete existing PPP, PPPoE, and PPtP configurations.
2. Unpack (tar -xzf mlppp.tgz.txt) the files in the attached archive into the proper directories on pfsense host. If you save the archive in your / directory and then extract it every file should end up in its proper place. If you're running nanobsd image, don't forget to do /etc/rc.conf_mount_rw first to make the file system writeable.
3. Create new PPP, PPPoE, and PPtP configurations in the GUI. (Use the "PPPs" tab to make advanced configurations for multilink.)Good Luck. Let me know how it goes.
Disclaimer: This is not committed yet. It may change later.Gabriel
-
Very cool. I'll have a look in the next couple days and post my experience here.
db
-
File I attached doesn't extract properly. PM your email address to me if you want to help test this stuff.
GB
-
Success here on the nano image. 8)
Some bugginess in the setup, which may be in the mlppp files, or it could just be the pfsense beta.