Freeradius 0.0.0.0 ポート 1812 へのポート バインディング エラー

Freeradius 0.0.0.0 ポート 1812 へのポート バインディング エラー

他の人が抱えていたのと同じ問題ですが、彼らに適用された手順が私のシナリオでは機能していないという違いがあります。順序を立ててみましょう:

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 検索に移動し、書き込まれた共有シークレットを確認してそれを使用します。

関連情報