RHELのISOイメージからfreeRADIUSをyumインストールする

# 概要
- インターネットに接続できない環境からfreeRADIUSをインストールする必要に迫られたので、  
備忘録として記録
- freeRADIUSについて調査するため、virtualboxの仮想環境に実装する

# 環境
- virtualbox 5.1.22
- Red Hat Enterprise Linux 7.6

# 環境構築
## yumリポジトリ設定ファイルを新規で作成

```
# vi /etc/yum.repos.d/rhel-dvd.repo
```

```vi:/etc/yum.repos.d/rhel-dvd.repo
[rhel-dvd]
name=Red Hat Enterprise Linux 7.6
baseurl=file:///mnt
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
```
- name - リポジトリ名
- baseurl - リポジトリのPATH
- gpgcheck - パッケージの署名を確認
- enabled - yum コマンド利用時にこのリポジトリを使用するかどうかを指定
- gpgkey - パッケージのGPG署名のPATHを記述

## virtualboxのストレージにRHELのISOイメージを設定
![iso設定.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275237/bbce9033-ceb4-0a54-6dcb-5a4121ea753a.jpeg)

## 設定したISOイメージをマウント

```
# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
```

## freeRADIUSのインストール

```
# yum --disablerepo=\* --enablerepo=rhel-dvd install freeradius
```
- --disablerepo=\\* - 全リポジトリを無効化
- --enablerepo=rhel-dvd - 今回作成した『rhel-dvd』のリポジトリを個別に有効化

鍵の取得に失敗した場合は、gpgkeyのパスが異なっているので修正する。
マウントしたISOイメージのgpgkeyを指定してもよい。

終了したらISOイメージをアンマウントする

```
# umount /mnt
```

## その他パッケージのインストール
今回はradiusの認証テストも行うため、*freeradius-utils*もインストールする。
これはISOイメージに含まれていないため、パッケージを入手し、`rpm`コマンドでインストールする。

freeRADIUSのバージョンを確認

```
# radiusd -v
radiusd: FreeRADIUS Version 3.0.13, for host x86_64-redhat-linux-gnu, built on Apr 18 2018 at 06:09:39
FreeRADIUS Version 3.0.13
Copyright (C) 1999-2017 The FreeRADIUS server project and contributors
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE
You may redistribute copies of FreeRADIUS under the terms of the
GNU General Public License
For more information about these matters, see the file named COPYRIGHT
```

対応するutilsをインストールする

```
# rpm -ivh /tmp/freeradius-utils-3.0.13-9.el7_5.x86_64.rpm
```

## freeRADIUSのテスト
ユーザーファイルにテストユーザーを追加して`Access-Accept`が返されることを確認する。

- テストユーザーの追加

```
# cd /etc/raddb
# vi mods-config/files/authorize
```
``` vi:mods-config/files/authorize
testing Cleartext-Password := "password"
#
#       Configuration file for the rlm_files module.
#       Please see rlm_files(5) manpage for more information.

***中略***
```

- デバッグモードでfreeRADIUS起動

```
# radiusd -X
***中略***
Ready to process requests
```

別のターミナルを立ち上げて自身に認証を行う

```
# radtest testing password 127.0.0.1 0 testing123
Sent Access-Request Id 134 from 0.0.0.0:38001 to 127.0.0.1:1812 length 77
        User-Name = "testing"
        User-Password = "password"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 0
        Message-Authenticator = 0x00
        Cleartext-Password = "password"
Received Access-Accept Id 134 from 127.0.0.1:1812 to 0.0.0.0:0 length 20
```

上記のように`Access-Accept`が返却されれば成功。

# 参考
[RHELのDVD-ROMをyumのリポジトリとして登録](http://ossfan.net/setup/yum-01.html)
[freeRADIUS - Getting Started - Initial Tests](https://wiki.freeradius.org/guide/Getting%20Started)
[CentOS(RHEL)7でDVD(CD-ROM)をリポジトリに追加してインストールディスクからyumを行う](https://orebibou.com/2015/02/centosrhel7%E3%81%A7dvdcd-rom%E3%82%92%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%A6%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%83%87/)