OUR SITES NetworkRADIUS FreeRADIUS
#	Sample virtual server for internally proxied requests.

You will want to edit this to your local needs. We suggest copying the text from the "default" file here, and then editing the text. That way, any changes to the "default" file will not affect this virtual server, and vice-versa.

When this virtual server receives the request, the original attributes can be accessed as "outer.request", "outer.control", etc. See "man unlang" for more details.

This example virtual server will listen on alternate ports and perform basic authentication and accounting. Consult the default file for information on the syntax and available options.

server virtual.example.com {

In v4, all "server" sections MUST start with a "namespace" parameter. This tells the server which protocol is being used. Consult the sites-available/default for more information and documentation.

	namespace = radius

Define our listeners and the types of application packets we expect.

	listen {
		type = Access-Request

		transport = udp

		udp {
			ipaddr = *
			port = 11812
		}
	}

Our listener for Accounting

	listen {
		type = Accounting-Request

		transport = udp

		udp {
			ipaddr = *
			port = 11813
		}
	}

Now we define our policy framework for how this virtual server will handle various application packets. Consult the default file for information on the syntax and available options.

	recv Access-Request {

insert policies here

In this example we simply validate locally

		filter_username

		auth_log

		files

		pap
	}

	send Access-Accept {

insert policies here

	}

	recv Accounting-Request {

insert policies here

Ensure that we have a semi-unique identifier for every request, and many NAS boxes are broken.

		acct_unique

Read the 'acct_users' file

		files
	}

	send Accounting-Response {

Create a 'detail’ed log of the packets. Note that accounting requests which are proxied are also logged in the detail file.

		detail

Filter attributes from the accounting response.

		attr_filter.accounting_response

	}

Allow for PAP in our example

	authenticate pap {
		pap
	}

etc.

}

Default Configuration