In the users file (mine is in /etc/freeradius) there are a bunch of defaults set and since we are using sql to feed the attributes, we do not need those defaults. They just stomp on us.
Here are a few of them, but I commented out all of them.
#DEFAULT Service-Type == Framed-User
# Framed-IP-Address = 255.255.255.254,
# Framed-MTU = 576,
# Service-Type = Framed-User,
# Fall-Through = Yes
#DEFAULT Framed-Protocol == PPP
# Framed-Protocol = PPP,
# Framed-Compression = Van-Jacobson-TCP-IP
The top one, if uncommented, would give you an ip from a pool and would not allow a static ip.
If you are using PPPoE and want a static user, here is what an entry should look like in a flat file (though useless with the above default turned on
All of these attributes can be added in your sql radreply table with the associated user in order to get a static assigned by database (except the Auth-Type=System).
There are many more attribute options, but that is the basic to get a static IP.
So if you want to see it in a database, it should look something like this
ID UserName Attribute op Value
1 Bart Service-Type == Framed-User
2 Bart Framed-Protocol = PPP
3 Bart Framed-IP-Address = 220.127.116.11
4 Bart Framed-IP-Netmast = 255.255.255.255
5 Bart Framed-MTU = 1492