## Stap 1:Installeer Freeradius Server
Op RHEL 8:
```
sudo yum installeer freeradius freeradius-utils -y
```
Op RHEL 7 en CentOS:
```
sudo yum installeer freeradius freeradius-utils -y
sudo yum installeer freeradius-postgresql -y
```
Stap 2:PostgreSQL-database configureren
Op CentOS/RHEL 7:
Voordat u met de configuratie begint, moet u ervoor zorgen dat de PostgreSQL-databaseserver correct is geïnstalleerd en geïnitialiseerd. Hier ziet u hoe u het kunt doen:
```
sudo yum installeer postgresql-server
```
Als u de database al heeft geconfigureerd, kunt u deze stap overslaan.
PostgreSQL-gebruiker instellen en rechten verlenen
Maak een nieuwe gebruiker in PostgreSQL met de naam 'radius'.
```
sudo -u postgres bash
maak een gebruikersradius aan
```
Wijs vervolgens de juiste machtigingen toe aan de nieuw gemaakte gebruiker met de naam 'radius'.
```
psql -U postgres
WIJZIG GEBRUIKERSradius MET WACHTWOORD 'radius';
```
Maak vervolgens de database die door FreeRADIUS moet worden gebruikt.
```
CREËER DATABASE straal;
VERLEEN ALLE PRIVILEGES OP DATABASE radius NAAR radius;
\Q
```
Update de databaseconfiguratie
Bewerk het bestand op "/etc/freeradius/sql/main/authorize."
```
sudo vi /etc/freeradius/sql/main/authorize
```
Zoek de regels die beginnen met "driver =". Wijzig ze in de volgende regels:
```
stuurprogramma =pgsql
connectString =host=localhost port=5432 dbname=radius user=radius wachtwoord=radius
```
Op RHEL 8:
Deze nieuwste FreeRADIUS-versie is standaard geconfigureerd om SQLite te gebruiken. Volg daarom de onderstaande stappen om het te configureren om in plaats daarvan PostgreSQL te gebruiken.
Schakel eerst PostgreSQL-ondersteuning in het configuratiebestand in.
```
sudo vi /etc/raddb/mods-enabled/sql
```
Zoek de volgende regel:
```
sql {
```
en verwijder de opmerking (indien aanwezig) en verander deze in:
```
sql {
stuurprogramma =pgsql
}
```
Vervang vervolgens het standaardstuurprogramma voor authenticatie en accounting door het PostgreSQL-stuurprogramma. Vervang de volgende regels:
```
autoriseren {
bestuurder =dummy
}
boekhouding {
bestuurder =dummy
}
```
Met het volgende:
```
autoriseren {
stuurprogramma =pgsql
}
boekhouding {
stuurprogramma =pgsql
}
```
Werk in de sectie met de naam 'sql' de parameters bij door de hostnaam, poort en referenties van de database op te geven.
```
[sql]
host =lokalehost
poort =5432
gebruiker =straal
wachtwoord =straal
database =straal
```
Wijzig ten slotte het standaardstuurprogramma in het beleid "autoriseren" in PostgreSQL. Wijzig de volgende regel:
```
sql {
bestuurder =dummy
}
```
Naar het volgende:
```
sql {
stuurprogramma =pgsql
}
```
Start Freeradius opnieuw op als daarom wordt gevraagd.
```
sudo systemctl herstart freeradius
```
Stap 3:Configureer de Freeradius-server
Het standaard FreeRADIUS-configuratiebestand is over het algemeen voldoende. Het wordt echter aanbevolen dat u de instellingen bekijkt en de nodige aanpassingen aanbrengt op basis van uw specifieke vereisten.
Stap 4:Freeradius inschakelen en starten
Voer de volgende opdrachten uit om de Freeradius-service in te schakelen en te starten.
Op RHEL 8:
```
sudo systemctl schakelt freeradius in
sudo systemctl start freeradius
```
Op RHEL 7 en CentOS:
```
sudo systemctl schakel radiusd in
sudo systemctl start radiusd
```
Stap 5:Test of de Freeradius-server actief is
Voer deze opdracht in om te verifiëren dat de service actief is:
```
sudo netstat -ltup | grep straal
```
Als resultaat zou je zoiets als het volgende moeten zien:
```
tcp6 0 0 :::5080 :::* LUISTEREN 20550/radiusd
udp6 0 0 :::1812 :::* LUISTER 20550/radiusd
tcp 0 0 0.0.0.0:1812 0.0.0.0:* LUISTER 20550/straal
```
Deze uitvoer geeft aan dat de Freeradius-server op poorten 1812/UDP en 1812/TCP draait.
Stap 6:Maak verbinding met de Freeradius-server
Om te testen of u succesvol kunt verifiëren via Freeradius, installeert u de FreeRADIUS-client op dezelfde machine.
Op RHEL 8:
```
sudo yum installeer freeradius-client -y
```
Op RHEL 7 en CentOS:
```
sudo yum installeer freeradius-client -y
```
Als u probeert een voorbeeldscript uit te voeren, wordt de verbinding met de server getest. Zorg ervoor dat u "gebruikersnaam" en "wachtwoord" vervangt door de werkelijke waarden.
```
#!/bin/bash
Freeradius-clientconfiguratiebestand:
echo -e 'client freeradius {\nserver 127.0.0.1\npoort 1812\ngeheime testen123\n}\n'> ~/.freeradius/freeradius.conf
Voorbeeld authenticatiescript:
echo -e '#!/bin/bash\n\nusername="$2"\npassword="$3"\n\n/usr/bin/radtest $gebruikersnaam $password -s ~/.freeradius/freeradius.conf'> ~/freeradius-client.sh
Verleen de toestemming "uitvoeren" aan het script:
chmod +x ~/freeradius-client.sh
Test de verbinding:
~/freeradius-client.sh gebruikersnaam en wachtwoord van de client
```
Als het script iets retourneert als "Gebruikersnaam ='gebruikersnaam', Auth-Type =Wachtwoord", dan is de verbinding met de Freeradius-server succesvol en is de installatie voltooid. |