今回の実験では、Linuxカーネルではなく、BSDカーネルをベースとしたOSを使用する。
このディストリビューションを使う理由としては、2013年8月のOSC京都にて、Debian JP Projectの話を聞き、興味を持ったからである。
kFreeBSD版はテクノロジプレビューであるため、本式にサーバを運用する上では使うべきではないが、今回はLinuxとBSDの違いを知るためにBSD版を使用することにした。
Debianにはインストーラがあり、比較的容易に導入することができる。とはいえ、合計4回インストールをやり直した。
情報環境実験の資料の通りにHDDのパーティションを区切ったところ、ブートローダ「GRUB」のインストールに失敗してしまった。
よって、単一のパーティションと、6.3GBのスワップ領域を作成してインストールを行った。
なお、この方法はシステムの更新の際に大事なデータが巻き込まれる可能性もあるため、管理上は適切でないと考えられる。
各種ソフトウェアのインストール
Debianでは、インストール時にサーバの用途を指定することで、大方の環境を整えた状態で始められる。
しかしながら、エディタがVimではなくViだったり、コンパイラが入っていなかったりするため、足りないパッケージは自分でインストールしなければならない。
インストールしたものは以下である。
- gcc 4.7
- vim-nox 7.3
- zsh 4.3
- ruby 2.0
- no-ip Dynamic Update Client 2.1.9
注) FreeBSDでは、ライセンスの関係からgccの置き換えが進んでいるようである。
IPアドレスが変わっても対処できるよう、外部のDNSサービスを利用している。
テキスト編集環境を構築
自宅のMacProに接続し、各種設定ファイルを転送した。
普段はZ-Shellを使用しているが、”uname”の値が”Darwin”か”Linux”かで処理を分岐していたため、そのままではFreeBSDカーネルで動作しなかった。
この問題に関しては、”Darwin”かそうでないか、と修正することで対応した。
sshポートの設定とパケットフィルタ設定
SSHはデフォルトでは22番ポートを使用するが、これでは外部に公開した際に格好の攻撃対象となってしまう。
実際には学内で運用しているし、自宅でたてるとしてもルータの下に繋ぐことになるのであまり問題にはならないが、ポート番号の変更を行った。
また、必要なポート以外を閉じるための設定をした。
Linuxであれば”iptables”で設定を行うところだが、今回のOSはBSDベースであるので、”pf(Packet Filter)”を使用して設定を書くこととなった。
今回の実験で使用するのは、SSH、Web、Sambaであるので、Pingを除くそれ以外の受信接続を遮断するように設定した。
この日は、10:30から0:10まで作業を行った。