The logs point to TLS. The Radius server is running, the network is fine, but clients cannot connect. This is where correct Radius TLS configuration matters.
Radius uses TLS for secure communication between the client and the authentication server. Without proper configuration, you get handshake errors, certificate rejections, or silent timeouts. The setup requires alignment between server certificates, CA trust stores, and the TLS policy in the Radius configuration file.
Start with the certificates. Generate a server certificate signed by a trusted CA. Store it in the /etc/raddb/certs directory or your equivalent path. The certificate must match the server’s hostname exactly, or TLS will fail. The private key must be readable only by the Radius process.
Edit the radiusd.conf or mods-enabled/eap module config to include the following:
tls {
cert_file = /etc/raddb/certs/server.pem
private_key_file = /etc/raddb/certs/server.key
ca_file = /etc/raddb/certs/ca.pem
dh_file = /etc/raddb/certs/dh
cipher_list = "HIGH"
}
Keep cipher_list strict and avoid weak protocols. Always use a strong DH param file.