- Clone this repository
- Docker or Linux system
- Router capable of supporting radius
- Docs use Asus RT-RX88U
https://hub.docker.com/r/freeradius/freeradius-server
- Build an image with the provided configuration
- Get the certificates out of the image
- Spin up a container running the radius server in debug mode on localhost
- Spin up a stock radius container and use
radtest
to exercise your configuration - Put your machine onto the wireless router
- Configure the router
- Configure the robot to use the passphrase or certs
- Validate the app can connect to the robot with only WiFi
- Repeat 7 and 8
docker build -t my-radius-image -f Dockerfile .
docker create --name dummy my-radius-image
docker cp dummy:/etc/raddb/certs/client.pem .
docker cp dummy:/etc/raddb/certs/client.key .
docker rm -f dummy
docker run --rm --name my-radius -t -p 1812-1813:1812-1813/udp my-radius-image -X
In another terminal to test your setup
docker run -it -p 1812:1812 freeradius/freeradius-server:latest /bin/bash
## issue this testing command into the terminal
radtest "testing" "password" host.docker.internal 1812 testing123
# should see success and see the radius server log the interaction
exit
- disconnect from WiFi on your computer
- connect to the router with ethernet cable
- configure the router (see manufacturer's instructions on how to connect to their administration tool)
- Use the assigned ip address for your machine as the ip address of the "server"
- use port 1812
- In the app go to Devices > Robot Settings > Networking
- Use EAP-TTLS with MD5 Authentication type to connect
- Connect successfully
- unplug usb cable and validate the connection (lights on and off)
Same steps as above BUT use different connection method
- Reconnect USB (wait, this takes a minute)
- In the app go to Devices > Robot Settings > Networking
- Use EAP-TTLS with TLS
- On the dropdown for the required files choose
Add new...
- Select the
client.pem
andclient.key
files - Note that the password of
whatever
is set in the /etc/raddb/certs/ca.cnf
https://wiki.freeradius.org/guide/Getting-Started
http://deployingradius.com/documents/configuration/eap.html
sudo -s
apt update
apt install -y freeradius
cp clients.conf /etc/freeradius/3.0/clients.conf
cp users /etc/freeradius/3.0/users
make -C /etc/freeradius/3.0/certs
freeradius -X
sudo lsof -iUDP -P -n | egrep -v '(127|::1)' | grep freeradiu
radtest "testing" "password" localhost 1812 testing123