Open9

仕事:Radiusサーバー(freeradius)管理

nikuniku

freeradiusのdockerコンテナ?(用語に自信なし)を起動して、色々操作してみて、freeradiusに関する理解を深めたい

nikuniku

dockerをaptを使ってインストールするためにdockerの公式GPG keyを /etc/apt/keyringsに配置する

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
nikuniku

dockerをaptを使ってインストールするためにaptリポジトリの情報を/etc/apt/sources.list.dに配置する

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
nikuniku

aptを使ってdockerをインストールする

 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
nikuniku

sudoとかしなくてもdockerが実行できるようにdockerグループを追加して(もともとあるならいらない)、ユーザーにdockerグループを追加する

sudo groupadd docker
sudo usermod -aG docker <ユーザー名>

その後再起動
以上でdockerが使えるようになった

Dockerのインストール  【end】

nikuniku

freeradiusのDockerイメージをインストール 【start】

https://hub.docker.com/r/freeradius/freeradius-server/
を参考にfreeradiusを実行可能なDockerイメージをインストールする。

docker run --rm --name my-radius -d freeradius/freeradius-server

これで、freeradiusが実行可能なDocker イメージがインストールされ、かつコンテナが実行される。

以下、自分の勝手な思い込み知識
※docker runはコンテナ起動コマンド
※--rm オプションはコンテナ終了時にコンテナ削除
※--name オプションはコンテナに名前をつける
※ -d オプションはデタッチ(バックグラウンドで動作させる)

※コンテナ=プロセスであるためdocker ps -aで停止時のコンテナ含めて一覧表示できるので確認するため覚えておくこと

一応、コンテナを止めておく

docker stop my-radius

freeradiusのDockerイメージをインストール 【end】

nikuniku

freeradiusのDockerコンテナをデバッグモードで起動

docker run --rm --name my-radius -t -p 1812:1813/udp freeradius/freeradius-server -X
コマンドの意味

-t オプションは疑似ターミナル(pseudo-TTY)を割当
-p <ホストのポート>:<コンテナのポート> オプションは、自分自身=ホストのポートとDocker上のコンテナのポートを対応させる