
他の人が抱えていたのと同じ問題ですが、彼らに適用された手順が私のシナリオでは機能していないという違いがあります。順序を立ててみましょう:
RasPi 上の Freeradius
ネットスタット:
root@raspberrypi:~# netstat -unpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:59830 0.0.0.0:* 3574/freeradius
udp 0 0 127.0.0.1:18120 0.0.0.0:* 3574/freeradius
udp 0 0 0.0.0.0:1812 0.0.0.0:* 3574/freeradius
udp 0 0 0.0.0.0:1813 0.0.0.0:* 3574/freeradius
udp 0 0 0.0.0.0:1814 0.0.0.0:* 3574/freeradius
freeradius-xでデバッグする
Failed binding to authentication address * port 1812: Address already in use
/etc/freeradius/radiusd.conf[240]: Error binding to port for 0.0.0.0 port 1812
root@raspberrypi:~# ps aux | grep free
freerad 3574 0.0 1.3 54088 6032 ? Ssl 16:32 0:00 /usr/sbin/freeradius
root 3610 0.0 0.4 3548 1832 pts/0 S+ 16:35 0:00 grep free
そのプロセスを強制終了すると、freeradiusデバッグから取得できます
... adding new socket proxy address * port 50820
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
Listening on proxy address * port 1814
Ready to process requests.
しかし、サービスが実行されていないため、radtest "John Doe" hello 127.0.0.1 0 テストは機能しません。何か提案はありますか?
答え1
サーバーをデバッグ モードで実行するか (デバッグ ログがコンソールに表示されるかファイルに書き込まれる)、ユーティリティとして実行することができます。
デバッグモードで実行中:
freeradius -X
次のようにすると、デバッグ ログがファイルに出力され、バックグラウンドにプッシュされます。
freeradius -x -l /home/user/debug_logs &
ユーティリティとして実行します。
/etc/init.d/freeradius start
デバッグを実行できず、ポート バインディング エラーが表示されていた理由は、すでに実行されていたためです (ps コマンドと netstat コマンドで確認できます)。
さて、あなたの質問の下のコメントについてですが:
エラーには必要なことがほぼ記載されており、コメントには radtest のデバッグが投稿されています。
無効なメッセージ認証子です。(共有シークレットが正しくありません。)
使用される共有秘密は「テスト" は正しくありません。localhost NAS のデフォルトの共有シークレットは testing123 です。そのため、次のコマンドを実行してみます。
radtest "John Doe" hello 127.0.0.1:18120 0 testing123
これも機能しない場合は、ローカルホスト NAS から clients.conf 検索に移動し、書き込まれた共有シークレットを確認してそれを使用します。