This Raidus Server is writtten by Python, and is used to Authentication, Authorization, Accounting for WLAN user or PPPoE user. Test authorization through supplicant on Windows10, Android 4.4.4 and iOS 13.
Support authenticate method:
Support Dynamic Authorization Extensions:
- Disconnect Messages
- Change-of-Authorization (CoA) Messages
git submodule update --init --recursive # pull
-
Setup mysql
start mysql:
docker-compose -f docker-compose.yml up mysql
init mysql database and table data with mysql_insert.sql
-
For authenticate
Build the docker image
docker-compose build auth
Run the docker container
docker-compose up auth
-
For accouting
similiar with authenticate, but reaplce
auth
withacct
cd third_party/hostapd-2.10/hostapd/
cat README.md
cd third_party/wpa_supplicant-2.5/wpa_supplicant/
cat README.md
cd third_party/freeradius-3.0.21/
cat README.md
enter into authenticate container: docker-compose exec auth bash
run simulator in container:
radclient -D /app/tools/simulator/etc/dictionary -d /app/etc/dictionary 127.0.0.1:1812 auth 'testing123' < /app/tools/simulator/radius_test/auth/chap.conf
enter into authenticate container: docker-compose exec auth bash
run simulator in container:
radclient -D /app/tools/simulator/etc/dictionary -d /app/etc/dictionary 127.0.0.1:1812 auth 'testing123' < /app/tools/simulator/radius_test/auth/pap.conf
-
docker-compose up -d auth_test
, listen on port 2812 -
Access Controller route traffic to 2812
add USE_GTC=1
in .env and restart docker container
enter into authenticate container: docker-compose exec auth bash
run simulator in container:
./eapol_test -c /app/tools/simulator/eap_test/eapol_test.conf.peapv1.gtc -a 127.0.0.1 -p 1812 -s testing123 -r 0 -N 30:s:FF-FF-FF-FF-FF-FF -N 32:s:AC
remove USE_GTC=0
in .env and restart docker container
enter into authenticate container: docker-compose exec auth bash
run simulator in container:
./eapol_test -c /app/tools/simulator/eap_test/eapol_test.conf.peapv1.mschapv2 -a 127.0.0.1 -p 1812 -s testing123 -r 0 -N 30:s:FF-FF-FF-FF-FF-FF -N 32:s:AC
enter into accounting container: docker-compose exec acct bash
run simulator in container:
./radclient -D /app/tools/simulator/etc/dictionary -d /app/etc/dictionary 127.0.0.1:1813 acct 'testing123' < /app/tools/simulator/radius_test/acct/i.conf
./radclient -D /app/tools/simulator/etc/dictionary -d /app/etc/dictionary 127.0.0.1:1813 acct 'testing123' < /app/tools/simulator/radius_test/acct/u.conf
./radclient -D /app/tools/simulator/etc/dictionary -d /app/etc/dictionary 127.0.0.1:1813 acct 'testing123' < /app/tools/simulator/radius_test/acct/t.conf
enter into accounting container: docker-compose exec dae bash
run simulator in container:
./radclient -D /app/tools/simulator/etc/dictionary -d /app/etc/dictionary 127.0.0.1:3799 disconnect 'testing123' < /app/tools/simulator/radius_test/dae/disconnect.conf
gdb /root/.pyenv/shims/python -c core.1
ENTRYPOINT="tail -f /dev/null" docker-compose up -d auth_test
apt-get install gdb
./bin/gdb.sh # gdb python3
(gdb) run /app/src/processor/auth_processor.py
# wait for segfault ##
(gdb) backtrace
# stack trace of the c code