NEW Package: freeRADIUS 2.x
-
Updates: pkg v1.3.4
-
freeradius2 is working on pfsense 2.0.1 (i386 and amd64)
-
added GUI to create certificates (CA, Server, Client) for EAP-TLS
-
extended "view config" tab to view certificate files
-
-
Updates: pkg 1.3.5
-
Added some info about dis-/advantages of pfsense cert-manager compared to freeradius-cert editor. pfsense cert-manager should be the first manager to use!
-
freeradius server is starting with certs and keys (different typs) from pfsense built-in manager but this needs more testing with clients and real NAS
-
Some small typo fixes in freeradiuseapconf.xml with double entry
-
Added some checks and renamings on client cert building script (Thanks to marcelloc)
-
-
Updates: pkg v1.3.6
- Added ability to choose between the freeradius cert manager or the pfsense built-in cert manager. (Thank you very much jimp and sullrich)
-
Updates: pkg v1.3.7
-
Corrected starting parameters of variables for "Settings"
-
Enabled logging and logging to syslog is now default
-
DH and RANDOM file will be created new when changing to "pfsense cert-manager". So not everybody will use the same files delivered with the freeradius package.
-
Adding Custom-Options on TOP and BOTTOM of all other user options
-
New variables and structur of the "users"-file creation. It was neccessary to add additional custom options on TOP and BOTTOM. User entries from older freeradius2 versions are NOT compatible. You need to add them again. Sorry.
-
Username can now contain whitespaces
-
Added Copyright
-
Added new features to dis-/enable SQL (Instantiate, authorize, accounting, session, post-auth) - we still need to build freeradius2 package with additional modules.
-
-
Updates: pkg v1.3.8
-
fixed empty password after installation in default cert (eap)
-
fixed typo in description (eap)
-
small change in <custom_php_install_commands>order in freeradius.xml</custom_php_install_commands>
-
Added radiusd.conf to "view config" tab
-
fixed "include sql.conf" in (sql/radiusd)
-
Added some comments in freeradius.inc
-
-
If its not much work to implement, beside user authentication, it would be nice to also support mac authentication. (http://wiki.freeradius.org/Mac-Auth)
Nice work so far!
-
If its not much work to implement, beside user authentication, it would be nice to also support mac authentication. (http://wiki.freeradius.org/Mac-Auth)
Nice work so far!
This should work by default as far as I know for now. The CISCO SG300-28 switch for example is sending the MAC address in username and password, all small letters without whitespace.
So you take a look on the user's guide and check the format the MAC address is sent.If the PCs MAC address is for example:
00:11:AA:BC:DE:FFThan the username and password in freeradius users should be:
0011aabcdeffThe users file should look like this afterwards:
"0011aabcdeff" Cleartext-Password := "0011aabcdeff" Simultaneous-Use := 1
Please post back if you could try this and if it is working or not.
I am on vacation until 09 january 2012 and do not have the chance to test this all on a real switch and environment.
This is on my "todo" list - to check all features I added just from How-To's in real ;-)–-- edit ----
This is from the CISCO users guide:The authentication methods can be:
• 802.1x—The switch supports the authentication mechanism as described in
the standard to authenticate and authorize 802.1x supplicants.• MAC-based—The switch can be configured to use this mode to
authenticate and authorized devices that do not support 802.1x. The switch
emulates the supplicant role on behalf of the non 802.1x capable devices,
and uses the MAC address of the devices as the username and password
when communicating with the RADIUS servers. MAC addresses for
username and password must be entered in lower case and with no
delimiting characters (for example: aaccbb55ccff). To use MAC-based
authentication at a port: -
Updates: pkg v1.3.9
-
small changes in if/else syntax (freeradius.inc)
-
deleted uneccessary <custom_php_resync_config_command>entries (freeradiuscerts.xml)</custom_php_resync_config_command>
-
fixed some typos in description and titel (eap, view config)
-
cosmetic fix: changed order of columns (users)
-
added XMLRPC Sync for syncing "users" and "NAS / clients" with other hosts. No other parts of freeradius2 config will be synced. The XMLRPC code I use isn't optimized for syncing so much parts like I use them in my package. Syncing more parts will increase the reload time after any change because there are so much dependencies and reloads neccessary.
Special thanks goes to: marcelloc :D
Thank you for allowing me to use the pfblocker-xmlrpc code :) -
-
Updates: pkg v1.4.0
-
improved first start of freeradius service after package installation
-
fixed double restart of freeradius service (sql)
-
added some additional output in syslog when creating certs with freeRADIUS Cert-Manager (certs)
-
added some additional output in syslog when changing TO pfSense Cert-Manager (eap)
-
added some comments in freeradius.inc for better understanding
-
-
Updates: pkg v1.4.1
-
enabled: module "attr_filter" in "pre-proxy" and "post-proxy" section
-
enabled: module "counter" (daily, weekly, monthly, forever) in "authorize" and "accounting" section
-
enabled: module "checkval" in "authorize" section
-
enabled: "with_ntdomain_hack = yes" in module "realm", module "mschap" and virtual-server "default"
-
enabled: use of more than one realm at one time in module "realm"
-
fixed: "users" file. we need to handel "check-items" different from "reply-items" (users)
-
added: support for Microsoft Statement-of-Health (SoH), which is a form of network access protection present in Windows XP SP3, Vista and 7. Enabled virtual-server "soh". (eap)
-
-
Updates: pkg v1.4.2
-
Added/Modified: Additional custom options for CHECK-ITEMs and REPLY-ITEMs (users)
-
fixed: typos in descriptions (users,settings,clients)
There is now a wiki about freeradius2 in the pfSense docs. You are welcome to contribute!
http://doc.pfsense.org/index.php/FreeRADIUS_2.x_package -
-
I saw some features not compiled for it like:
-
ActiveDirectory
-
LDAP
-
SQL
Do you need help on trying to compile it and find a <build_options>for pkg_config ?</build_options>
-
-
I saw some features not compiled for it like:
-
ActiveDirectory
-
LDAP
-
SQL
Do you need help on trying to compile it and find a <build_options>for pkg_config ?</build_options>
Hi,
yes there are features which are not compiled yet. I posted on dev-mailinglist last year with the build options I need.
Take a look here:
http://lists.pfsense.org/pipermail/dev/2011-December/000100.htmlWITH_KERBEROS=yes (I need this for ActiveDirectory I think + samba) WITH_LDAP=yes WITH_MYSQL=yes WITH PGSQL=yes WITH_EXPERIMENTAL=yes WITH_PERL=yes (on by default) WITH_PYTHON=yes (on by default) WITHOUT_USER=yes (I do not want to chroot and so this feature makes no sense)
I talked with mdima and he pointed me to the ports and the available build options I posted on dev-list.
If you could help it would be great, of course :-)
-
-
there is a field in pkg_info for compile options:
. . . <build_port_path>/usr/ports/mail/postfix</build_port_path> <build_options>WITH_PCRE=true WITH_SPF=true WITH_SASL2=true WITH_TLS=true</build_options>
The best way before editing pkg_config is:
-
build a virtual machine with freebsd 8.1
-
update freebsd to get current version using freebsd-update
-
fetch ports with portsnap fetch && portsnap extract
-
build freeradius with selected options
-
make freeradius and dependecies packages
-
install this package on pfsense(lab)
-
If nothing is break after that, include <build_options>to pkg_config</build_options>
Not that simple but not that hard. ;)
I'll compile freeradius with these options and feedback.
-
-
What should I place in:
<depends_on_package_base_url></depends_on_package_base_url>
I builded freeradius2 from ports with my actual PC-BSD 8.2 but just installed it on PC-BSD vm.
What is the command for:
make freeradius and dependecies packages
so that I can copy the package to pfsense and install/extract it there?And for "pkg_config.8.xml.amd64" and "pkg_config.8.xml" I though I would be the best if I temporarily create a second entry - but I first have to do the steps before :D
PS: Building with custom build options - is this done by someone of the pfsense team or automaticly by the system ?
Thanks for your help! :D
-
What should I place in:
<depends_on_package_base_url></depends_on_package_base_url>
the url folder that packages are, generally files.pfsense.org/path_to_packages
I builded freeradius2 from ports with my actual PC-BSD 8.2 but just installed it on PC-BSD vm.
What is the command for:It will break some dependencies on freebsd 8.1
make freeradius and dependecies packages
so that I can copy the package to pfsense and install/extract it there?make package is the cmd you call on freeradius port folder to make package ;)
And for "pkg_config.8.xml.amd64" and "pkg_config.8.xml" I though I would be the best if I temporarily create a second entry - but I first have to do the steps before :D
sure. :D
PS: Building with custom build options - is this done by someone of the pfsense team or automaticly by the system ?
Yes, Ermal has a every day build script for packages, take a look on build date of packages in files.pfsense.org.
It's really nice, I got close but stopped in read xml build options and dependencies options to schedule it via cron.
I did not included experimental buid option as it enables all experimental modules including oracle, what would be not so good to compile
still building on x64 and for now dependencies are:
-
gmddb
-
krb5
-
tetex
att,
Marcello Coutinho
-
-
Ok,
I will go to bed now. It's 1am.I will download PC-BSD 8.1 which I know is easy to install and then try to create my first package :D
I catched this information…I hope it will be correct ;-)
ports/devel/autoconf/ ports/devel/autoconf-wrapper/ ports/databases/gdbm/ ports/devel/gettext/ ports/devel/gmake/ ports/converters/libiconv/ ports/devel/libltdl/ ports/devel/libtool/ ports/devel/m4/ ports/lang/perl5.12/ ports/lang/python27/ <build_options>WITH_KERBEROS = yes WITH_LDAP = yes WITH_MYSQL = yes WITH_PGSQL = yes WITH_PERL = yes WITH_PYTHON = yes</build_options>
Bye!
-
ports/devel/autoconf/ ports/devel/autoconf-wrapper/ ports/databases/gdbm/ ports/devel/gettext/ ports/devel/gmake/ ports/converters/libiconv/ ports/devel/libltdl/ ports/devel/libtool/ ports/devel/m4/ ports/lang/perl5.12/ ports/lang/python27/
These are basic config dependencies,
I'm checking what dependencies includes ghostscripts and X11 which is not good for a firewall.EDIT
I've changed kerberos dependencies do a much less dependencies from heimdal-1.4_1 then krb5
heimdal-1.4_1
Requires: autoconf-2.68, autoconf-wrapper-20101119, gettext-0.18.1.1, libiconv-1.13.1_1, libtool-2.4_1, m4-1.4.16,1, perl-5.12.4_3, pkg-config-0.25_1
krb5-1.9.2_1
Requires: cups-client-1.5.0, cups-image-1.5.0, dvipsk-tetex-5.95a_5, expat-2.0.1_2, font-amsfonts-3.02_1, fontconfig-2.8.0_1,1, freetype2-2.4.7, gd-2.0.35_7,1, gettext-0.18.1.1, ghostscript9-9.02_4, gmake-3.82, gsfonts-8.11_5, jasper-1.900.1_10, jbig2dec-0.11, jbigkit-1.6, jpeg-8_3, kbproto-1.0.5, libICE-1.0.7,1, libSM-1.2.0,1, libX11-1.4.4,1, libXau-1.0.6, libXaw-1.0.8,1, libXdmcp-1.1.0, libXext-1.3.0_1,1, libXmu-1.1.0,1, libXp-1.0.1,1, libXpm-3.5.9, libXt-1.0.9, libiconv-1.13.1_1, libpthread-stubs-0.3_3, libtool-2.4_1, libwww-5.4.0_4, libxcb-1.7, m4-1.4.16,1, perl-5.12.4_3, pkg-config-0.25_1, png-1.4.8, printproto-1.0.5, t1lib-5.1.2_1,1, teTeX-base-3.0_22, teTeX-texmf-3.0_8, tex-texmflocal-1.9, texi2html-1.82,1, texinfo-4.13.20110529_1, tiff-4.0.0_3, xextproto-7.2.0, xproto-7.0.22
-
No success :(
freeradius2 with heimdal-1.4_1 returns erros while compiling
gmake[6]: Entering directory `/usr/ports/net/freeradius2/work/freeradius-server-2.1.12/src/modules/rlm_krb5' /usr/local/bin/libtool --mode=compile cc -O2 -pipe -I/usr/local/include -L/usr/local/lib -DLDAP_DEPRECATED -fno-strict-aliasing -Wall -D_GNU_SOURCE -pthread -DNDEBUG -I/usr/ports/net/freeradius2/work/freeradius-server-2.1.12/src -DHEIMDAL_KRB5 -I/usr/local/include -I/usr/include/et -DKRB5_DEPRECATED -c rlm_krb5.c libtool: compile: cc -O2 -pipe -I/usr/local/include -L/usr/local/lib -DLDAP_DEPRECATED -fno-strict-aliasing -Wall -D_GNU_SOURCE -pthread -DNDEBUG -I/usr/ports/net/freeradius2/work/freeradius-server-2.1.12/src -DHEIMDAL_KRB5 -I/usr/local/include -I/usr/include/et -DKRB5_DEPRECATED -c rlm_krb5.c -fPIC -DPIC -o .libs/rlm_krb5.o In file included from /usr/local/include/krb5.h:846, from rlm_krb5.c:32: /usr/local/include/krb5-protos.h:41: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:49: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:402: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:486: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:634: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:843: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:908: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1007: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1281: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1289: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1297: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1305: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1313: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1321: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1329: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1337: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1600: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1608: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1616: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1624: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1632: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1640: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1648: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1656: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1741: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1844: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1854: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1874: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1919: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1952: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1975: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:1983: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2083: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2127: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2142: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2157: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2169: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2181: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2223: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2229: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2607: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2615: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2622: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:2629: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:3144: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:3178: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:3183: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:3734: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:4091: error: expected identifier or '(' before numeric constant /usr/local/include/krb5-protos.h:4378: error: expected identifier or '(' before numeric constant gmake[6]: *** [rlm_krb5.lo] Error 1 gmake[6]: Leaving directory `/usr/ports/net/freeradius2/work/freeradius-server-2.1.12/src/modules/rlm_krb5' gmake[5]: *** [rlm_krb5] Error 2 gmake[5]: Leaving directory `/usr/ports/net/freeradius2/work/freeradius-server-2.1.12/src/modules' gmake[4]: *** [all] Error 2 gmake[4]: Leaving directory `/usr/ports/net/freeradius2/work/freeradius-server-2.1.12/src/modules' gmake[3]: *** [modules] Error 2 gmake[3]: Leaving directory `/usr/ports/net/freeradius2/work/freeradius-server-2.1.12/src' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/usr/ports/net/freeradius2/work/freeradius-server-2.1.12/src' gmake[1]: *** [src] Error 2 gmake[1]: Leaving directory `/usr/ports/net/freeradius2/work/freeradius-server-2.1.12' gmake: *** [all] Error 2 *** Error code 1 Stop in /usr/ports/net/freeradius2. *** Error code 1
I'll try again tomorrow.
-
well, with krb5 compiled without thousand of deps ???
can you try this package features on lab with x64 pfsense?
x64
pkg_add -r http://e-sac.siteseguro.ws/packages/amd64/8/All/freeradius-2.1.12.tbz