徒然なる日々を送るソフトウェアデベロッパーの記録(2)

技術上思ったことや感じたことを気ままに記録していくブログです。さくらから移設しました。

インターネットを介すと radius の戻りパケットが配送されない

標記の問題点を解決するため、本末転倒だが TCP トンネルを張ってTCPUDPカプセル化
して送受信することにした。多数のクライアントがつなぐと MSG-ID 等を独自管理する必要が
あるが、とりあえずつなぎに来るクライアントは1台と想定して実装。MAも再計算しないですむし。

RADIUS Check, RADIUS Accounting の他に MAC アドレス登録を自動化する python
スクリプトを用意する。TCP トンネル自体は C 言語で記述した。(サービスイン時は TLS 化する予定)
CoA (Change of Authority)コマンドの発信も可能だが、NASの情報・ポートを区別する
NAS の情報がよくわからないため、機能しないようになっている。
MACアドレス登録データは独自のJSONフォーマットとした。

メール認証機能が必要ということなので、プライベートネットワーク側で credential を作成し、
サーバ側に転送して sendmail で配信させる予定。
f:id:minosys:20151117005307p:plain
今のところ、期待された動作をしている。

ちなみに UQ WiMax2 を使用した場合、トンネルが1つ張りっ放しになるのだが、特にネットワーク
から強制的に切断されるということもなく、NAT 機能が提供され続けるようだ。
IPv4 アドレスはひっ迫しているので、いつまでこの仕様が有効か分からないないが。