<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://revspace.nl/wiki/index.php?action=history&amp;feed=atom&amp;title=Spacenet%2FFreeRADIUS_configuration</id>
	<title>Spacenet/FreeRADIUS configuration - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://revspace.nl/wiki/index.php?action=history&amp;feed=atom&amp;title=Spacenet%2FFreeRADIUS_configuration"/>
	<link rel="alternate" type="text/html" href="https://revspace.nl/wiki/index.php?title=Spacenet/FreeRADIUS_configuration&amp;action=history"/>
	<updated>2026-05-13T06:06:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://revspace.nl/wiki/index.php?title=Spacenet/FreeRADIUS_configuration&amp;diff=32301&amp;oldid=prev</id>
		<title>Shiz: Fix IPv6 listening (and thus remote SpaceFed logins)</title>
		<link rel="alternate" type="text/html" href="https://revspace.nl/wiki/index.php?title=Spacenet/FreeRADIUS_configuration&amp;diff=32301&amp;oldid=prev"/>
		<updated>2024-04-10T20:53:08Z</updated>

		<summary type="html">&lt;p&gt;Fix IPv6 listening (and thus remote SpaceFed logins)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:53, 10 April 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l395&quot;&gt;Line 395:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 395:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# outer unencrypted server for PEAP/TTLS&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# outer unencrypted server for PEAP/TTLS&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;server default {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;server default {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	# both listen blocks are needed for every server!&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	# ipaddr = * is broken&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	# radius (1812)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	# radius (1812)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	listen {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	listen {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		type = auth&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		type = auth&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ipaddr &lt;/del&gt;= *&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ipv4addr &lt;/ins&gt;= *&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		port = 0  # use /etc/services&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		virtual_server = &quot;default&quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	listen {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		type = auth&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		ipv6addr = ::&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		port = 0  # use /etc/services&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		port = 0  # use /etc/services&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		virtual_server = &amp;quot;default&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		virtual_server = &amp;quot;default&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l405&quot;&gt;Line 405:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 414:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	listen {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	listen {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		type = acct&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		type = acct&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ipaddr &lt;/del&gt;= *&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ipv4addr &lt;/ins&gt;= *&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		port = 0  # use /etc/services&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	listen {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		type = acct&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		ipv6addr = ::&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		port = 0  # use /etc/services&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		port = 0  # use /etc/services&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l411&quot;&gt;Line 411:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 425:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	listen {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	listen {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		type = auth+acct&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		type = auth+acct&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ipaddr &lt;/del&gt;= *&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ipv4addr &lt;/ins&gt;= *&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		port = 2083&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		proto = tcp&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		tls = ${tls}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	listen {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		type = auth+acct&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		ipv6addr = ::&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		port = 2083&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		port = 2083&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		proto = tcp&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		proto = tcp&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		tls = ${tls}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		tls = ${tls}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	# auth flow: start&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	# auth flow: start&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Shiz</name></author>
	</entry>
	<entry>
		<id>https://revspace.nl/wiki/index.php?title=Spacenet/FreeRADIUS_configuration&amp;diff=32265&amp;oldid=prev</id>
		<title>Shiz: Add note about debugging to README</title>
		<link rel="alternate" type="text/html" href="https://revspace.nl/wiki/index.php?title=Spacenet/FreeRADIUS_configuration&amp;diff=32265&amp;oldid=prev"/>
		<updated>2024-04-07T09:56:42Z</updated>

		<summary type="html">&lt;p&gt;Add note about debugging to README&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:56, 7 April 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l59&quot;&gt;Line 59:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 59:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     - outer.conf            #   outer unencrypted tunnel, to determine where the request should be proxied towards&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     - outer.conf            #   outer unencrypted tunnel, to determine where the request should be proxied towards&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     - inner.revspace.conf   #   inner encrypted tunnel, for authenticating RevSpace participants&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     - inner.revspace.conf   #   inner encrypted tunnel, for authenticating RevSpace participants&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Debugging:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  As we use TLS, the usual recommended way to run FreeRADIUS in debug mode (`freeradius -X`) will not work.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  TLS on FreeRADIUS requires threads, and `-X` is a shorthand for `-sfxx -l stdout`; `-s` disables threading.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  Instead, use `-fxx -l stdout` when debugging.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Shiz</name></author>
	</entry>
	<entry>
		<id>https://revspace.nl/wiki/index.php?title=Spacenet/FreeRADIUS_configuration&amp;diff=32264&amp;oldid=prev</id>
		<title>Shiz: Initial configuration</title>
		<link rel="alternate" type="text/html" href="https://revspace.nl/wiki/index.php?title=Spacenet/FreeRADIUS_configuration&amp;diff=32264&amp;oldid=prev"/>
		<updated>2024-04-07T09:48:43Z</updated>

		<summary type="html">&lt;p&gt;Initial configuration&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The below configuration is used for SpaceNet at RevSpace, written for and tested with FreeRADIUS 3.2.1.&lt;br /&gt;
The paths are relative to the base configuration directory, e.g. &amp;lt;code&amp;gt;/etc/freeradius/3.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;code&amp;gt;README&amp;lt;/code&amp;gt;=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FreeRADIUS config - RevSpace edition&lt;br /&gt;
&lt;br /&gt;
Operating principle:&lt;br /&gt;
  We are federated with SpaceFED (https://spacefed.net/) to provide the &amp;#039;spacenet&amp;#039; network.&lt;br /&gt;
  Our participants can authenticate at any spacenet-compatible access point with their RevSpace LDAP credentials,&lt;br /&gt;
  and participants from other hackerspaces can authenticate through their own hackerspace via our access points.&lt;br /&gt;
  Usernames are formatted like &amp;lt;username&amp;gt;@&amp;lt;hackerspace.nl&amp;gt;, and the domain part is used to proxy the authentication&lt;br /&gt;
  to the correct remote RADIUS server through SpaceFED.&lt;br /&gt;
&lt;br /&gt;
  In order to prevent credential sniffing by the local RADIUS server,&lt;br /&gt;
  a tunnel from the client to the remote RADIUS server is setup by means of EAP-TTLS or PEAP,&lt;br /&gt;
  and an anonymous outer identity (usually anonymous@&amp;lt;domain&amp;gt;) is used instead to route the request.&lt;br /&gt;
&lt;br /&gt;
  We have three scenarios:&lt;br /&gt;
  - RevSpace participant authenticates at RevSpace spacenet:&lt;br /&gt;
    User -(802.1X)----------------&amp;gt; Local client (access point)&lt;br /&gt;
         -(RADIUS: lan.conf)------&amp;gt; Local server (outer.conf)&lt;br /&gt;
         -(EAP-TTLS or PEAP)------&amp;gt; Local server (inner.revspace.conf)&lt;br /&gt;
         -(PAP or EAP-GTC)--------&amp;gt; LDAP&lt;br /&gt;
  - RevSpace participant authenticates at other location:&lt;br /&gt;
    User -(802.1X)----------------&amp;gt; External client (access point)&lt;br /&gt;
         -(RADIUS)----------------&amp;gt; External server&lt;br /&gt;
         -(RADIUS: spacefed.conf)-&amp;gt; Local server (outer.conf)&lt;br /&gt;
         -(EAP-TTLS or PEAP)------&amp;gt; Local server (inner.revspace.conf)&lt;br /&gt;
         -(PAP or EAP-GTC)--------&amp;gt; LDAP&lt;br /&gt;
  - Spacenet participant authenticates at RevSpace spacenet:&lt;br /&gt;
    User -(802.1X)----------------&amp;gt; Local client (access point)&lt;br /&gt;
         -(RADIUS: lan.conf)------&amp;gt; Local server (outer.conf)&lt;br /&gt;
         -(RADIUS: spacefed.conf)-&amp;gt; External server&lt;br /&gt;
         -(EAP-TTLS or PEAP)------&amp;gt; External server&lt;br /&gt;
&lt;br /&gt;
Authentication:&lt;br /&gt;
  While we could skip EAP-TTLS or PEAP for local-local authentication, this would make user configuration&lt;br /&gt;
  inconsistent between being at RevSpace and at other hackerspaces, defeating the point.&lt;br /&gt;
  Thus, we *always* use EAP-TTLS or PEAP as the outer authentication layer.&lt;br /&gt;
  Since we do not store LDAP passwords in plain text or a weak hash,&lt;br /&gt;
  we need to receive the plaintext password inside the encrypted TLS tunnel to compare it.&lt;br /&gt;
  This limits us to one of the following plaintext password mechanisms as the inner layer:&lt;br /&gt;
  - PAP&lt;br /&gt;
  - EAP-GTC&lt;br /&gt;
&lt;br /&gt;
Configuration structure:&lt;br /&gt;
  - radiusd.conf            # main configuration file, generic settings and includes everything&lt;br /&gt;
  - modules.d/              # configuration for FreeRADIUS modules&lt;br /&gt;
    - realms.conf           #   ! realm /format/ configuration (user@realm)&lt;br /&gt;
    - eap.revspace.conf     #   ! EAP configuration (TLS certificates, mechanisms, ...)&lt;br /&gt;
    - ldap.revspace.conf    #   ! LDAP configuration (server, RADIUS server DN and password, filters, ...)&lt;br /&gt;
  - clients.d/              # configuration for RADIUS clients (entities like access points that talk to us to authenticate a user)&lt;br /&gt;
  - realms.d/               # configuration for RADIUS realms (the domain part, to figure out where to route authentication request)&lt;br /&gt;
    - default.conf          #   &amp;#039;must-define&amp;#039; realms LOCAL and NULL&lt;br /&gt;
    - revspace.conf         #   realms we handle, mostly empty configuration blocks to imply local processing&lt;br /&gt;
    - spacefed.conf         #   fallback realm, with instructions to proxy to SpaceFED&lt;br /&gt;
  - servers.d/              # configuration for RADIUS servers (that listen on ports and process authentication requests)&lt;br /&gt;
    - outer.conf            #   outer unencrypted tunnel, to determine where the request should be proxied towards&lt;br /&gt;
    - inner.revspace.conf   #   inner encrypted tunnel, for authenticating RevSpace participants&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;code&amp;gt;radiusd.conf&amp;lt;/code&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Paths&lt;br /&gt;
&lt;br /&gt;
prefix = /usr&lt;br /&gt;
exec_prefix = /usr&lt;br /&gt;
sysconfdir = /etc&lt;br /&gt;
localstatedir = /var&lt;br /&gt;
runstatedir = /run&lt;br /&gt;
sbindir = ${exec_prefix}/sbin&lt;br /&gt;
logdir = ${localstatedir}/log/freeradius&lt;br /&gt;
libdir = ${exec_prefix}/lib/freeradius&lt;br /&gt;
&lt;br /&gt;
raddbdir = ${sysconfdir}/freeradius/3.0&lt;br /&gt;
radacctdir = ${logdir}/radacct&lt;br /&gt;
&lt;br /&gt;
name = freeradius&lt;br /&gt;
confdir = ${raddbdir}&lt;br /&gt;
modconfdir = ${confdir}/modules.d&lt;br /&gt;
certdir = ${confdir}/pki&lt;br /&gt;
cadir   = ${confdir}/pki&lt;br /&gt;
run_dir = ${runstatedir}/${name}&lt;br /&gt;
db_dir = ${raddbdir}&lt;br /&gt;
checkrad = ${sbindir}/checkrad&lt;br /&gt;
&lt;br /&gt;
# Server&lt;br /&gt;
&lt;br /&gt;
pidfile = ${run_dir}/${name}.pid&lt;br /&gt;
&lt;br /&gt;
security {&lt;br /&gt;
	user = freerad&lt;br /&gt;
	group = freerad&lt;br /&gt;
	allow_core_dumps = no&lt;br /&gt;
	max_attributes = 200&lt;br /&gt;
	# reject immediately (no security delay)&lt;br /&gt;
	reject_delay = 0&lt;br /&gt;
	# respond to server status requests&lt;br /&gt;
	status_server = yes&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thread pool {&lt;br /&gt;
	start_servers = 5&lt;br /&gt;
	max_servers = 32&lt;br /&gt;
	min_spare_servers = 3&lt;br /&gt;
	max_spare_servers = 10&lt;br /&gt;
	# unlimited power... err, requests&lt;br /&gt;
	max_requests_per_server = 0&lt;br /&gt;
	auto_limit_acct = no&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
tls {&lt;br /&gt;
	certificate_file = &amp;quot;${certdir}/server.pem&amp;quot;&lt;br /&gt;
	private_key_file = &amp;quot;${certdir}/server.key&amp;quot;&lt;br /&gt;
	tls_min_version = &amp;quot;1.0&amp;quot;&lt;br /&gt;
	tls_max_version = &amp;quot;1.3&amp;quot;&lt;br /&gt;
	cipher_list = &amp;quot;DEFAULT@SECLEVEL=0&amp;quot;&lt;br /&gt;
	random_file = &amp;quot;/dev/urandom&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Requests&lt;br /&gt;
&lt;br /&gt;
max_request_time = 30&lt;br /&gt;
cleanup_delay = 5&lt;br /&gt;
max_requests = 16384&lt;br /&gt;
hostname_lookups = no&lt;br /&gt;
# SPACENET: required!&lt;br /&gt;
proxy_requests = yes&lt;br /&gt;
&lt;br /&gt;
# Logging&lt;br /&gt;
&lt;br /&gt;
log {&lt;br /&gt;
	destination = stderr&lt;br /&gt;
	colourise = yes&lt;br /&gt;
	# don&amp;#039;t log secrets, even in debug mode&lt;br /&gt;
	suppress_secrets = yes&lt;br /&gt;
&lt;br /&gt;
	## please set the fields below to &amp;#039;no&amp;#039;&lt;br /&gt;
	## when not debugging!&lt;br /&gt;
	# log authentication&lt;br /&gt;
	stripped_names = yes&lt;br /&gt;
	auth = no&lt;br /&gt;
	auth_accept = no&lt;br /&gt;
	auth_reject = no&lt;br /&gt;
	# log password attempts&lt;br /&gt;
	auth_badpass = no&lt;br /&gt;
	auth_goodpass = no&lt;br /&gt;
&lt;br /&gt;
	## debug configuration for above&lt;br /&gt;
	#auth = yes&lt;br /&gt;
	#stripped_names = no&lt;br /&gt;
	#auth_accept = yes&lt;br /&gt;
	#auth_reject = yes&lt;br /&gt;
	#auth_badpass = yes&lt;br /&gt;
	#auth_goodpass = no&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Modules&lt;br /&gt;
modules {&lt;br /&gt;
	$INCLUDE modules.d/&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Policy&lt;br /&gt;
policy {&lt;br /&gt;
	$INCLUDE policy.d/&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Clients&lt;br /&gt;
$INCLUDE clients.d/&lt;br /&gt;
# Realms&lt;br /&gt;
$INCLUDE realms.d/&lt;br /&gt;
# Servers&lt;br /&gt;
$INCLUDE servers.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;code&amp;gt;modules.d/&amp;lt;/code&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;eap.revspace.conf&amp;lt;/code&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eap eap.outer {&lt;br /&gt;
	default_eap_type = ttls&lt;br /&gt;
	timer_expire = 60&lt;br /&gt;
&lt;br /&gt;
	tls-config tls-config {&lt;br /&gt;
		certificate_file = ${tls.certificate_file}&lt;br /&gt;
		private_key_file = ${tls.private_key_file}&lt;br /&gt;
		tls_min_version = ${tls.tls_min_version}&lt;br /&gt;
		tls_max_version = ${tls.tls_max_version}&lt;br /&gt;
		cipher_list = ${tls.cipher_list}&lt;br /&gt;
		random_file = ${tls.random_file}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	ttls {&lt;br /&gt;
		tls = tls-config&lt;br /&gt;
		virtual_server = server.inner-revspace&lt;br /&gt;
		default_eap_type = &amp;quot;gtc&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	peap {&lt;br /&gt;
		tls = tls-config&lt;br /&gt;
		virtual_server = server.inner-revspace&lt;br /&gt;
		inner_eap_module = eap.inner-revspace&lt;br /&gt;
		default_eap_type = &amp;quot;gtc&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
eap eap.inner-revspace {&lt;br /&gt;
	default_eap_type = &amp;quot;gtc&amp;quot;&lt;br /&gt;
	timer_expire = 60&lt;br /&gt;
&lt;br /&gt;
	gtc {&lt;br /&gt;
		auth_type = &amp;quot;PAP&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;ldap.revspace.conf&amp;lt;/code&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ldap ldap.revspace {&lt;br /&gt;
	server = &amp;quot;ldaps://ldap2.space.revspace.nl&amp;quot;&lt;br /&gt;
	identity = &amp;quot;cn=freeradius,ou=services,dc=space,dc=revspace,dc=nl&amp;quot;&lt;br /&gt;
	password = &amp;quot;&amp;lt;EXPUNGED&amp;gt;&amp;quot;&lt;br /&gt;
	base_dn = &amp;quot;dc=space,dc=revspace,dc=nl&amp;quot;&lt;br /&gt;
	user_dn = &amp;quot;RevSpace-LDAP-UserDn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	tls {&lt;br /&gt;
		ca_path = &amp;quot;/etc/ssl/certs&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	user {&lt;br /&gt;
		base_dn = &amp;quot;ou=people,dc=space,dc=revspace,dc=nl&amp;quot;&lt;br /&gt;
		scope = &amp;quot;one&amp;quot;&lt;br /&gt;
		filter = &amp;quot;(uid=%{%{Stripped-User-Name}:-%{User-Name}})&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	group {&lt;br /&gt;
		base_dn = &amp;quot;ou=groups,dc=space,dc=revspace,dc=nl&amp;quot;&lt;br /&gt;
		scope = &amp;quot;one&amp;quot;&lt;br /&gt;
		filter = &amp;quot;&amp;quot;&lt;br /&gt;
		membership_filter = &amp;quot;(member=%{control:${..user_dn}})&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	options {&lt;br /&gt;
		dereference = &amp;quot;always&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	update {&lt;br /&gt;
		control:Password-With-Header += &amp;#039;userPassword&amp;#039;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	post-auth {&lt;br /&gt;
		update {}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	accounting {}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;realm.conf&amp;lt;/code&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# realm formats&lt;br /&gt;
&lt;br /&gt;
#  &amp;#039;user@realm&amp;#039;&lt;br /&gt;
realm realm.email {&lt;br /&gt;
	format = suffix&lt;br /&gt;
	delimiter = &amp;quot;@&amp;quot;&lt;br /&gt;
	ignore_null = yes&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#  &amp;#039;realm\user&amp;#039;&lt;br /&gt;
realm realm.ntdomain {&lt;br /&gt;
	format = prefix&lt;br /&gt;
	delimiter = &amp;quot;\\&amp;quot;&lt;br /&gt;
	ignore_null = yes&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;code&amp;gt;realms.d/&amp;lt;/code&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;default.conf&amp;lt;/code&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# these entries are needed, but we don&amp;#039;t do anything with them&lt;br /&gt;
realm LOCAL {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
realm NULL {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;revspace.conf&amp;lt;/code&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
realm revspace.nl {&lt;br /&gt;
	# nothing here implies local handling&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;spacefed.conf&amp;lt;/code&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
home_server nlnode1.spacefed.net {&lt;br /&gt;
	type = auth+acct&lt;br /&gt;
	ipv6addr = &amp;lt;REDACTED&amp;gt;&lt;br /&gt;
	port = 1812&lt;br /&gt;
	secret = &amp;quot;&amp;lt;EXPUNGED&amp;gt;&amp;quot;&lt;br /&gt;
	require_message_authenticator = yes&lt;br /&gt;
	response_window = 5&lt;br /&gt;
	zombie_period = 60&lt;br /&gt;
	revive_interval = 120&lt;br /&gt;
	status_check = status-server&lt;br /&gt;
	check_interval = 30&lt;br /&gt;
	num_answers_to_alive = 3&lt;br /&gt;
	coa {&lt;br /&gt;
		# initial retransmit interval (1..5)&lt;br /&gt;
		irt = 2&lt;br /&gt;
		# maximum retransmit timeout (1..30, 0 == no maximum)&lt;br /&gt;
		mrt = 16&lt;br /&gt;
		# maximum retransmit count (1..20, 0 == retransmit forever)&lt;br /&gt;
		mrc = 5&lt;br /&gt;
		# maximum retransmit duration (5..60)&lt;br /&gt;
		mrd = 30&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
home_server_pool spacefed-pool {&lt;br /&gt;
	type = &amp;quot;client-balance&amp;quot;&lt;br /&gt;
	home_server = nlnode1.spacefed.net&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
realm DEFAULT {&lt;br /&gt;
	nostrip&lt;br /&gt;
	auth_pool = spacefed-pool&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;code&amp;gt;clients.d/&amp;lt;/code&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;localhost.conf&amp;lt;/code&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# for debugging&lt;br /&gt;
client localhost {&lt;br /&gt;
	shortname = &amp;quot;localhost&amp;quot;&lt;br /&gt;
	ipaddr    = 127.0.0.1&lt;br /&gt;
	secret    = &amp;quot;&amp;lt;EXPUNGED&amp;gt;&amp;quot;&lt;br /&gt;
	require_message_authenticator = no&lt;br /&gt;
	nas_type  = &amp;quot;other&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;lan.conf&amp;lt;/code&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ethernet&lt;br /&gt;
client lan.poeswitch {&lt;br /&gt;
	ipaddr          = 10.42.42.12&lt;br /&gt;
	secret          = &amp;quot;&amp;lt;EXPUNGED&amp;gt;&amp;quot;&lt;br /&gt;
	shortname       = &amp;quot;poeswitch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
# Wi-Fi&lt;br /&gt;
client lan.foundrymc1000 {&lt;br /&gt;
	ipaddr          = 10.42.62.1&lt;br /&gt;
	secret          = &amp;quot;&amp;lt;EXPUNGED&amp;gt;&amp;quot;&lt;br /&gt;
	shortname       = &amp;quot;foundrymc1000&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
client lan.aruba {&lt;br /&gt;
	ipaddr          = 10.42.62.3&lt;br /&gt;
	secret          = &amp;quot;&amp;lt;EXPUNGED&amp;gt;&amp;quot;&lt;br /&gt;
	shortname       = &amp;quot;aruba radius proxy ip&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;spacefed.conf&amp;lt;/code&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
client spacefed.nlnode1v6 {&lt;br /&gt;
	ipaddr          = &amp;lt;REDACTED&amp;gt;&lt;br /&gt;
	secret          = &amp;quot;&amp;lt;EXPUNGED&amp;gt;&amp;quot;&lt;br /&gt;
	shortname       = nlnode1v6&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;code&amp;gt;servers.d/&amp;lt;/code&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;outer.conf&amp;lt;/code&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# outer unencrypted server for PEAP/TTLS&lt;br /&gt;
server default {&lt;br /&gt;
	# radius (1812)&lt;br /&gt;
	listen {&lt;br /&gt;
		type = auth&lt;br /&gt;
		ipaddr = *&lt;br /&gt;
		port = 0  # use /etc/services&lt;br /&gt;
		virtual_server = &amp;quot;default&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	# radius-acct (1813)&lt;br /&gt;
	listen {&lt;br /&gt;
		type = acct&lt;br /&gt;
		ipaddr = *&lt;br /&gt;
		port = 0  # use /etc/services&lt;br /&gt;
	}&lt;br /&gt;
	# radsec (2083)&lt;br /&gt;
	listen {&lt;br /&gt;
		type = auth+acct&lt;br /&gt;
		ipaddr = *&lt;br /&gt;
		port = 2083&lt;br /&gt;
		proto = tcp&lt;br /&gt;
&lt;br /&gt;
		tls = ${tls}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# auth flow: start&lt;br /&gt;
	authorize {&lt;br /&gt;
		preprocess&lt;br /&gt;
&lt;br /&gt;
		# this statement decides where the request should be proxied to,&lt;br /&gt;
		# through the `pre-proxy` &amp;amp; `post-proxy` flows, or if it should&lt;br /&gt;
		# be processed locally through the `authenticate` flow.&lt;br /&gt;
		realm.email&lt;br /&gt;
&lt;br /&gt;
		if (!&amp;amp;Realm) {&lt;br /&gt;
			update reply {&lt;br /&gt;
				Reply-Message := &amp;quot;Please specify a realm to authenticate with.&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
			reject&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		eap.outer&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	# auth flow: process local&lt;br /&gt;
	authenticate {&lt;br /&gt;
		eap.outer&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	# auth flow: process remote&lt;br /&gt;
	pre-proxy {&lt;br /&gt;
		# uncomment when we upgrade to FreeRADIUS 3.2.3/3.3+&lt;br /&gt;
		#eap.outer&lt;br /&gt;
	}&lt;br /&gt;
	post-proxy {&lt;br /&gt;
		eap.outer&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	# auth flow: end&lt;br /&gt;
	post-auth {&lt;br /&gt;
		eap.outer&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# acct flow: start&lt;br /&gt;
	preacct {&lt;br /&gt;
		preprocess&lt;br /&gt;
		acct_unique&lt;br /&gt;
		realm.email&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	# acct flow: local&lt;br /&gt;
	accounting {&lt;br /&gt;
		attr_filter.accounting_response&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;inner.revspace.conf&amp;lt;/code&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# inner encrypted server for EAP-TTLS/PEAP&lt;br /&gt;
server server.inner-revspace {&lt;br /&gt;
	# for debug purposes&lt;br /&gt;
	#listen {&lt;br /&gt;
	#	ipaddr = 127.0.0.1&lt;br /&gt;
	#	port = 18120&lt;br /&gt;
	#	type = auth&lt;br /&gt;
	#}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# auth flow: start&lt;br /&gt;
	authorize {&lt;br /&gt;
		# split and lookup user and password&lt;br /&gt;
		realm.email&lt;br /&gt;
		if (Realm != &amp;quot;revspace.nl&amp;quot;) {&lt;br /&gt;
			reject&lt;br /&gt;
		}&lt;br /&gt;
		ldap.revspace&lt;br /&gt;
&lt;br /&gt;
		# authentication methods&lt;br /&gt;
		eap.inner-revspace&lt;br /&gt;
		pap&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	# auth flow: process local&lt;br /&gt;
	authenticate {&lt;br /&gt;
		# lookup user and password&lt;br /&gt;
		ldap.revspace&lt;br /&gt;
&lt;br /&gt;
		# authentication methods&lt;br /&gt;
		eap.inner-revspace&lt;br /&gt;
		Auth-Type PAP {&lt;br /&gt;
			pap&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	# auth flow: end&lt;br /&gt;
	post-auth {&lt;br /&gt;
		Post-Auth-Type REJECT {&lt;br /&gt;
			attr_filter.access_reject&lt;br /&gt;
		}&lt;br /&gt;
		ldap.revspace&lt;br /&gt;
		eap.inner-revspace&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shiz</name></author>
	</entry>
</feed>