Sign inSign up

tpdock/freeradius

By tpdock

•Updated over 8 years ago

FreeRADIUS 2.2.9 server based on Ubuntu 16.04 with MYSQL support

Image
17

500K+

tpdock/freeradius repository overview

⁠FreeRADIUS Build Status

FreeRADIUS 2.2.9 server based on Ubuntu 16.04 with MYSQL support https://hub.docker.com/_/ubuntu/⁠

Source: https://github.com/tpdock/freeradius⁠

Available configuration environments:

Environment NameDefault ValueDescriptionConfig File
RADIUS_LISTEN_IP127.0.0.1IP address on which to listenradiusd.conf
USERS_FILE${confdir}/usersLocation of the usersfilemodules/files
RADIUS_CLIENTSnoOption to define many radius clients in form secret1@ip1,secret2@ip2clients.conf
PROXY_ENABLEDfalseEnable proxy function if set to trueradiusd.conf
PROXY_DEFAULT_AUTH_HOST_PORTnoThe authentication proxy target configuration for DEFAULT realm in form host:portproxy.conf
PROXY_DEFAULT_ACC_HOST_PORTnoThe accounting proxy target configuration for DEFAULT realm in form host:portproxy.conf
PROXY_DEFAULT_SECRETnoThe shared secretproxy.conf
PROXY_DEFAULT_NOSTRIPnoDon't strip the realm if set to trueproxy.conf
PROXY_NULL_REALM_LOCALLYnoProxy the users without realm locally if set to trueproxy.conf
RADIUS_SQLnoEnable SQL configuration. To enable SQL set it to truedefault/inner-tunnel
RADIUS_DB_HOSTlocalhostDatabase hostsql.conf
RADIUS_DB_PORT3306Database portsql.conf
RADIUS_DB_NAMEradiusDatabase namesql.conf
RADIUS_DB_USERNAMEradiusDatabase loginsql.conf
RADIUS_DB_PASSWORDradpassDatabase passwordsql.conf

⁠To start the server using default configuration:

$ docker run -itd \
  --name freeradius \
  -e RADIUS_LISTEN_IP=* \
  -e [email protected] \
  -p 1812:1812/udp -p 1813:1813/udp \
  tpdock/freeradius

⁠To proxy all requests to some RADIUS home server:

$ docker run -itd \
  --name freeradius \
  -e RADIUS_LISTEN_IP=* \
  -e [email protected] \
  -p 1812:1812/udp -p 1813:1813/udp \
  -e ROXY_DEFAULT_AUTH_HOST_PORT=127.0.0.2:1812 \
  -e PROXY_DEFAULT_ACC_HOST_PORT=127.0.0.2:1813 \
  -e PROXY_DEFAULT_SECRET=secret \
  tpdock/freeradius

⁠To start FreeRADIUS with MYSQL

⁠Start and configure the MYSQL container freeradiusdb first:
$ docker run -itd \
--name=freeradiusdb \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=freeradius \
-e MYSQL_USER=freeradius \
-e MYSQL_PASSWORD=freeradius \
mysql:latest
$ docker run -itd \
  --name freeradius \
  --link freeradiusdb:mysql \
  -e RADIUS_LISTEN_IP=* \
  -e [email protected] \
  -p 1812:1812/udp -p 1813:1813/udp \
  -e RADIUS_SQL=true \
  -e RADIUS_DB_NAME=mysql \
  -e RADIUS_DB_NAME=freeradius \
  -e RADIUS_DB_USERNAME=freeradius \
  -e RADIUS_DB_PASSWORD=freeradius \
  tpdock/freeradius
⁠Prepare DB
docker exec -it freeradius mysql -ufreeradius -pfreeradius -hmysql -e "source /etc/freeradius/sql/mysql/schema.sql" freeradius
⁠Create some user test with password test:
docker exec -it freeradius mysql -ufreeradius -pfreeradius -hmysql -e "insert into radcheck (username, attribute, op, value) values ('test', 'Cleartext-Password', ':=', 'test');" freeradius
⁠Test it:

Container IPAddress could be found using:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' freeradius
radtest test test <IPAddress> 1812 secret

Tag summary

Content type

Image

Digest

Size

124.9 MB

Last updated

over 9 years ago

docker pull tpdock/freeradius