NEW Package: freeRADIUS 2.x
-
do You have any other materials about freeradius and AD without samba?
I cannot find anything else and trully I am tired of doing same thing again and again and don't have chance to get it working properly :/ -
do You have any other materials about freeradius and AD without samba?
I cannot find anything else and trully I am tired of doing same thing again and again and don't have chance to get it working properly :/I am sorry. I don't have any how-tos or tutorial and I do not have access to any AD :(
But correct me if I am wrong: You got it working with PAP ?
If yes, can you please write down what you have configured - I would like to add it to the pfsense docs so this could be a basis for someone else who wants to try this - or for further if freeradius adds better support for connecting to an AD. -
First I am sorry. I didn't see that you updated your post ;-)
First it is good that Plain-MAC-Auth is working
Second:
Disable Plain-MAC-Auth and put this in "FreeRADIUS -> Users tab"
Username: 00-02-a5-4e-df-67
Password: (The shared secret from Captive Portal below the point "Enable MAC authorization)
Delete the entry in "FreeRADIUS -> MACs" with this MAC address: 00-02-a5-4e-df-67Then it should work.
I confirm this works.:) Nice~~
Uuuhh..hmm..I am out of ideas why this is happening. But to make it clear "rlm_radutmp" is containing all clients which are authorized. This is the file which checks for "Simultaneous-Use". You increased the "Simultaneous-Use" - that is what I had told you, too. Check again that there is not a double entry in "MACs" and "Users" with this MAC address: 00-02-a5-4e-df-67.
I am sure there is only one MAC for one record. I also tried to remove all the record and just put server's MAC to list. The result is the same– only host can access the Internet, vm machine can't.
I have an idea for this issue, because my host server and VM_debian are actually using one physical network card (VM is directly bridged on host). FreeRadius recognize there are two clients using the same MAC to get passed? Of course, this is only my guess.
But if this is correct, 'simultaneous connections' should solve the problem if I set the value as '2'.. :(
I google with the error log, very little information...I read about this behaviour on some forum posts. It has something to do with that CP is only changing bandwidth for users which authenticate new. It doesn't change this for existing connections.
When I tested this at home I found out that you have to enable "Bandwidth Limits" on CP first. You can enter a value but if you set a setting on FreeRADIUS then the value of the CP will be overwritten (that's what we want). And then I am not sure if there is the same bug in this function as with "amount of traffic". The traffic which goes through CP is for example 1MB but accounting will tell RADIUS that there are 6MB. Not sure if this affects Bandwidth Limits in any way, too.
So I am sorry but I could not tell you where the problem for Bandwidth Limits is. Need to test this more and find out which checkboxes on CP I need to enable and which services needs to be restartet.I did a quick test on your point. Basically the 'Bandwidth Limits' in CP works.
For FreeRadius's bandwidth limits, it does not always override the setting in CP. Usually CP's setting will override FreeRadius.I am afraid I have little time today and these testings may not complete.
In next a couple of days, I can't access my PF box so I will not do any more testing… But I would like to continue this topic later.
Thanks && have a nice day:)
-
As far as I know in VMware Workstation you are able to change the MAC address of every interface. So you could try to change/check if all interfaces have different MACs.
To make sure that freeradius does not have old entries, delete the file:
rm /var/log/radutmp
Bandwidth Limits:
I think I cannot do anything against this. freeRADIUS is sending the correct attributes and CP recognizes these attributes but the problem seems to be deeper in the CP code (QoS) and so on. ( I had a very short conversation on mailing-lists about that with ermal).We will see :)
-
Updates pkg v1.5.5:
-
Added/Fixed: We are now able to use the "Amount of Download/Upload/Time" limits as intended. There are some problems between CP and "rlm_acct_unique module in freeradius. I added an option in "FreeRADIUS -> Settings" to disable this module. Then the counter work as they should."
-
Updated: FreeRADIUS documentation (counters)
-
-
As far as I know in VMware Workstation you are able to change the MAC address of every interface. So you could try to change/check if all interfaces have different MACs.
To make sure that freeradius does not have old entries, delete the file:
rm /var/log/radutmp
We will see :)
There are two kinds of network connection method in VM : Bridged, NAT and host only.
I am now using Bridged on host and VM_Debian. Their MACs are:
Host : 00-02-a5-4e-df-67
VM_Debian:00-0c-29-ee-88-30
The host's MAC is also the physical MAC.
I found the FreeRaius can only accept one client. It will always be the lastest one who refresh the network settings.
In windows it'sipconfig/renew
In Debian it's
/etc/init.d/networking restart
I changed the debian's MAC to be the same as host, but no lucky.
Tried to put Debian's MAC to pass list, no lucky…I am running out of idea for this issue... I have the feeling this should be the problem of FreeRadius not CP.
I am ready to post this question to FreeRadius Mail list...This is the only free support method I found for FreeRadius...
(I may need to mention this topic in the mail. Will that bring you any inconvenience?)About bandwidth, I think I may try to do it in Firewall. But just thinking about it....
BTW: I tried to configure the PF in remote, it seems to be as good as local..
-
You can post your question where you want and you can point to this thread if you want. I do not have a problem with that.
But I do not think that RADIUS is the problem. The RADIUS is only doing what the NAS (CP) is telling.The problem could be perhaps the NAS Port sent in the Access-Request. If both Access-Request do have the same attribute-values.
Try radiusd in debug mode (radiusd -X) and compare the Access-Request when connection with one and then with the other VM. -
You can post your question where you want and you can point to this thread if you want. I do not have a problem with that.
But I do not think that RADIUS is the problem. The RADIUS is only doing what the NAS (CP) is telling.I think you are right. It's not the problem of FreeRadius. I change the auth method to local database. The error is the same. I am sorry I was wrong.
Even I sent mail to FreeRadius list, they don't think it's about VM and it should be something about PF.The problem could be perhaps the NAS Port sent in the Access-Request. If both Access-Request do have the same attribute-values.
Try radiusd in debug mode (radiusd -X) and compare the Access-Request when connection with one and then with the other VM.In fact, I can't control who between VM and host will login successful first. Once it was working with refresh the network interface but I just tried several times. It doesn't work.
I am going to post this question in CP and hope there is some solution for this..
Many thanks for your help!
-
hi,
i have a problem, i have pfsense that have:
LAN card(172.16.0.1) with DHCP turned on(172.16.3.1-172.16.6.250), where PC-s are connected.
WAN conenction, configurated as pppoe(dynamic IP)
from packadges there are:
squid
lightsquid
ntop
freeradius2i did everything by this video:
http://www.youtube.com/watch?v=B6Hjxd1Af-sin freeradius2:
for Client IP Address i put my LAN card address(172.16.0.1)
for Client IP Address (for port 1812,1813) i put also my LAN card addressin captive portal:
Primary RADIUS server IP address i put 172.16.0.1
RADIUS NAS IP attribute also 172.16.0.1but every time when i tried to authentificate by username and password i gave, authentification
page appears again. -
hi,
i have a problem, i have pfsense that have:
LAN card(172.16.0.1) with DHCP turned on(172.16.3.1-172.16.6.250), where PC-s are connected.
WAN conenction, configurated as pppoe(dynamic IP)
from packadges there are:
squid
lightsquid
ntop
freeradius2i did everything by this video:
http://www.youtube.com/watch?v=B6Hjxd1Af-sin freeradius2:
for Client IP Address i put my LAN card address(172.16.0.1)
for Client IP Address (for port 1812,1813) i put also my LAN card addressin captive portal:
Primary RADIUS server IP address i put 172.16.0.1
RADIUS NAS IP attribute also 172.16.0.1but every time when i tried to authentificate by username and password i gave, authentification
page appears again.Hi,
that is no problem of freeradius.
Check System Logs and make sure that thre is "Login OK" for the username. Then authentication from CP user is working.The redirection problm is another one - as far as i know. Try this:
Configure DHCP on LAN interface.
DNS Server is pfsense LAN interface (172.16.0.1). The client must use this DNS as first DNS.If this doesn't work search the forum for captivportal and redirection
-
Auth with EAP (TLS + TTLS) with dynamic VLAN
I wonder if this is the case for configure a specific VLAN to a specific IP that would be passed from freeradius for a NAS with a encryted conection using AES.
Is there any test?
-
Auth with EAP (TLS + TTLS) with dynamic VLAN
(…)I think you found this in the pfsense docs, right ?
It means that a Client which is connected with EAP-TLS or EAP-TTLS will be put in a specific VLAN which RADIUS tells it.
VLAN attributes can be sent from FreeRADIUS - that is working - but when using TLS or TTLS than we need to send the reply attribute tunneled. This can be configured via "FreeRADIUS -> EAP" on GUI.
In general this should work - but I could not test this till now.Dynamic VLAN assignment for the NAS does mean that the NAS gets the VLAN attributes from the RADIUS server and than changes the state of the port on NAS. This must be supported by the NAS.
I hope this is what you asked !?
-
Thank you.
I set up a test environment. -
Updates pkg v1.5.6:
-
Fixed: typos in description (interfaces, users, macs)
-
Fixed: syntax error in additional check-items (users,macs)
-
Added: GUI TLS support for LDAP
-
-
in freeradius2,
can i form groups and add users into groups and create groups rules? :D
and how to bind user to mac address? -
in freeradius2,
can i form groups and add users into groups and create groups rules? :D
This isn't possible from GUI at the moment. And I don't know if groups can be build without any SQL database. In SQL you can create a group and put users into this group.
Then you can add the following as "Additional RADIUS Attributes on the TOP of this entry":
DEFAULT Group == "disabled", Auth-Type := Reject
DEFAULT Group == "disabled": matches all users in the group "disabled"
Auth-Type := Reject: sets auth-type to reject and so rejects all users in this group.
You can work with:Fall-Through = yes
If other attributes should be assigned like VLAN and so on. But this isn't easy to handle from GUI so it would be perhaps easier to configure all attributes for every user.
http://wiki.freeradius.org/FAQ#How+do+I+deny+access+to+a+specific+user%2C+or+group+of+users%3F
-
coming back to AD with PAP
for me it is only one thing to change against webgui:
/usr/local/etc/raddb/sites-enabled/default:authenticate
{
Auth-Type LDAP {
ldap
}
} -
coming back to AD with PAP
for me it is only one thing to change against webgui:
/usr/local/etc/raddb/sites-enabled/default:authenticate
{
Auth-Type LDAP {
ldap
}
}I am not familar with AD or LDAP so perhaps it is possible for you to give the example - using the pfsense web GUI (Screenshot) or something else how you configured it for your domain :P
So that we know what you filled out for "Base DN" and so on ::)PS: Which samba package do we need ? Which version ? Link to freebsd ftp ?
I am thinking about to make a possibility to install samba and configure it this was but not installing samba by default when installing freeradius2 package. -
Hi Nachtfalke,
I am using the pfSense on an embedded device (ALIX board).
After system boot the file system (/) is mounted as read only.
When starting the freeradius server it reports following error mesages:Jan 26 20:38:50 radiusd[53305]: /usr/local/etc/raddb/modules/counter[71]: Instantiation failed for module "daily"
Jan 26 20:38:50 radiusd[53305]: /usr/local/etc/raddb/modules/counter[71]: Instantiation failed for module "daily"
Jan 26 20:38:50 radiusd[53305]: rlm_counter: Failed to open file /usr/local/etc/raddb/db.daily: Read-only file system
Jan 26 20:38:50 radiusd[53305]: rlm_counter: Failed to open file /usr/local/etc/raddb/db.daily: Read-only file systemDo you think it is possible to locate these file within the /var/.. or /tmp/… folder.
These folders are RAM drives (/dev/md[0|1]) which are mounted as read-write after system boot.
Could you be so kind to locate also other runtime/temporal files in these folders?Thanks a lot & best wishes
Hermel -
Hi Nachtfalke,
I am using the pfSense on an embedded device (ALIX board).
After system boot the file system (/) is mounted as read only.
When starting the freeradius server it reports following error mesages:Jan 26 20:38:50 radiusd[53305]: /usr/local/etc/raddb/modules/counter[71]: Instantiation failed for module "daily"
Jan 26 20:38:50 radiusd[53305]: /usr/local/etc/raddb/modules/counter[71]: Instantiation failed for module "daily"
Jan 26 20:38:50 radiusd[53305]: rlm_counter: Failed to open file /usr/local/etc/raddb/db.daily: Read-only file system
Jan 26 20:38:50 radiusd[53305]: rlm_counter: Failed to open file /usr/local/etc/raddb/db.daily: Read-only file systemDo you think it is possible to locate these file within the /var/.. or /tmp/… folder.
These folders are RAM drives (/dev/md[0|1]) which are mounted as read-write after system boot.
Could you be so kind to locate also other runtime/temporal files in these folders?Thanks a lot & best wishes
HermelHi Hermel,
I am not using an embedded device. Do you know if it is possible to installe pfsense embedded in a VM ?
If there is a way to virtualize this than I could spent some time on doing and testing this. Don't know how much work this will be.The "db.daily" is a database and needs to be persistent after a reboot.
You can test and edit freeradius.inc starting at line 2544 - 2674:
/usr/local/pkg/freeradius.inc
original:
counter daily { filename = \${raddbdir}/db.daily key = User-Name count-attribute = Acct-Session-Time reset = daily counter-name = Daily-Session-Time check-name = Max-Daily-Session reply-name = Session-Timeout cache-size = 5000 } counter weekly { filename = \${raddbdir}/db.weekly key = User-Name count-attribute = Acct-Session-Time reset = weekly counter-name = Weekly-Session-Time check-name = Max-Weekly-Session reply-name = Session-Timeout cache-size = 5000 } counter monthly { filename = \${raddbdir}/db.monthly key = User-Name count-attribute = Acct-Session-Time reset = monthly counter-name = Monthly-Session-Time check-name = Max-Monthly-Session reply-name = Session-Timeout cache-size = 5000 } counter forever { filename = \${raddbdir}/db.forever key = User-Name count-attribute = Acct-Session-Time reset = never counter-name = Forever-Session-Time check-name = Max-Forever-Session reply-name = Session-Timeout cache-size = 5000 } counter maxdailyupload { filename = \${raddbdir}/db.maxdailyupload key = User-Name count-attribute = Acct-Input-Octets reset = daily counter-name = Daily-Input-Octets check-name = Max-Daily-Input reply-name = Acct-Input-Octets cache-size = 5000 } counter maxdailydownload { filename = \${raddbdir}/db.maxdailydownload key = User-Name count-attribute = Acct-Output-Octets reset = daily counter-name = Daily-Output-Octets check-name = Max-Daily-Output reply-name = Acct-Output-Octets cache-size = 5000 } counter maxweeklyupload { filename = \${raddbdir}/db.maxweeklyupload key = User-Name count-attribute = Acct-Input-Octets reset = weekly counter-name = Weekly-Input-Octets check-name = Max-Weekly-Input reply-name = Acct-Input-Octets cache-size = 5000 } counter maxweeklydownload { filename = \${raddbdir}/db.maxweeklydownload key = User-Name count-attribute = Acct-Output-Octets reset = weekly counter-name = Weekly-Output-Octets check-name = Max-Weekly-Output reply-name = Acct-Output-Octets cache-size = 5000 } counter maxmonthlyupload { filename = \${raddbdir}/db.maxmonthlyupload key = User-Name count-attribute = Acct-Input-Octets reset = monthly counter-name = Monthly-Input-Octets check-name = Max-Monthly-Input reply-name = Acct-Input-Octets cache-size = 5000 } counter maxmonthlydownload { filename = \${raddbdir}/db.maxmonthlydownload key = User-Name count-attribute = Acct-Output-Octets reset = monthly counter-name = Monthly-Output-Octets check-name = Max-Monthly-Output reply-name = Acct-Output-Octets cache-size = 5000 } counter maxupload { filename = \${raddbdir}/db.maxforeverupload key = User-Name count-attribute = Acct-Input-Octets reset = never counter-name = Forever-Input-Octets check-name = Max-Forever-Input reply-name = Acct-Input-Octets cache-size = 5000 } counter maxdownload { filename = \${raddbdir}/db.maxforeverdownload key = User-Name count-attribute = Acct-Output-Octets reset = never counter-name = Forever-Output-Octets check-name = Max-Forever-Output reply-name = Acct-Output-Octets cache-size = 5000 }
this will save the db.daily and the other dbs in /tmp
counter daily { filename = /tmp/db.daily key = User-Name count-attribute = Acct-Session-Time reset = daily counter-name = Daily-Session-Time check-name = Max-Daily-Session reply-name = Session-Timeout cache-size = 5000 } counter weekly { filename = /tmp/db.weekly key = User-Name count-attribute = Acct-Session-Time reset = weekly counter-name = Weekly-Session-Time check-name = Max-Weekly-Session reply-name = Session-Timeout cache-size = 5000 } counter monthly { filename = /tmp/db.monthly key = User-Name count-attribute = Acct-Session-Time reset = monthly counter-name = Monthly-Session-Time check-name = Max-Monthly-Session reply-name = Session-Timeout cache-size = 5000 } counter forever { filename = /tmp/db.forever key = User-Name count-attribute = Acct-Session-Time reset = never counter-name = Forever-Session-Time check-name = Max-Forever-Session reply-name = Session-Timeout cache-size = 5000 } counter maxdailyupload { filename = /tmp/db.maxdailyupload key = User-Name count-attribute = Acct-Input-Octets reset = daily counter-name = Daily-Input-Octets check-name = Max-Daily-Input reply-name = Acct-Input-Octets cache-size = 5000 } counter maxdailydownload { filename = /tmp/db.maxdailydownload key = User-Name count-attribute = Acct-Output-Octets reset = daily counter-name = Daily-Output-Octets check-name = Max-Daily-Output reply-name = Acct-Output-Octets cache-size = 5000 } counter maxweeklyupload { filename = /tmp/db.maxweeklyupload key = User-Name count-attribute = Acct-Input-Octets reset = weekly counter-name = Weekly-Input-Octets check-name = Max-Weekly-Input reply-name = Acct-Input-Octets cache-size = 5000 } counter maxweeklydownload { filename = /tmp/db.maxweeklydownload key = User-Name count-attribute = Acct-Output-Octets reset = weekly counter-name = Weekly-Output-Octets check-name = Max-Weekly-Output reply-name = Acct-Output-Octets cache-size = 5000 } counter maxmonthlyupload { filename = /tmp/db.maxmonthlyupload key = User-Name count-attribute = Acct-Input-Octets reset = monthly counter-name = Monthly-Input-Octets check-name = Max-Monthly-Input reply-name = Acct-Input-Octets cache-size = 5000 } counter maxmonthlydownload { filename = /tmp/db.maxmonthlydownload key = User-Name count-attribute = Acct-Output-Octets reset = monthly counter-name = Monthly-Output-Octets check-name = Max-Monthly-Output reply-name = Acct-Output-Octets cache-size = 5000 } counter maxupload { filename = /tmp/db.maxforeverupload key = User-Name count-attribute = Acct-Input-Octets reset = never counter-name = Forever-Input-Octets check-name = Max-Forever-Input reply-name = Acct-Input-Octets cache-size = 5000 } counter maxdownload { filename = /tmp/db.maxforeverdownload key = User-Name count-attribute = Acct-Output-Octets reset = never counter-name = Forever-Output-Octets check-name = Max-Forever-Output reply-name = Acct-Output-Octets cache-size = 5000 }
Give it a try.