
CentOS 7でサーバー構築するなら押さえておくべき2つの管理機能
CentOS 7で導入された2つの管理機能
サーバー用途としてCentOS 7をインストールして設定を進めていくうちに、それまで積み上げてきた知識や経験だけでは、サーバーとしてリリースできないと思ったことがありました。
理由は、CentOS 7からsystemdとFirewalldが導入されたことにあります。
ApacheやPostgreSQLをソースからインストールし、スクリプトを使って起動しようとしても起動しない。
ファイアウォールの設定が反映されないと思えばiptablesからFirewalldに置き換わっている。
あの時は流石に焦りました。フリーランスの立場としては失注は死活問題ですからね。自分の勉強不足を痛感したところです。
さて、ここではCentOS 7で導入された2つの管理機能について少し触れておきたいと思います。
systemd
Linuxの起動プロセスを担ってきたSystem V init。
今後も使い続けるか、それともSystem V initの問題点を解消し効率を向上することを目的に開発されたsystemdを導入するのか、各ディストリビューションで議論が進められていました。
System V initは起動速度が遅いということもあり、CentOS 6ではUpstartに変更されています。
Upstartはサービスを非同期で実行することができるので、起動速度はSystem V initよりも速くなる。
しかもSystem V initとの互換性もあるので、いまさらsysemdを導入する必要がどこにあろうか?
と思うところもありますが、主なLinuxディストリビューションでも既にsystemdが導入されています。
時流に乗った方が良さそう。いえ、乗っていなければヤバイ。
Firewalld
iptablesは、TCP/IPの仕組みやiptablesコマンドの複雑なオプションを理解していなければ設定ができない。
また、IPv4とIPv6のルールを別々に管理しなければならないなど、少し敷居が高い部分があります。
Firewalldはiptablesの敷居の高さを下げること以外に、以下のような特徴があります。
- firewalldデーモンが常駐し、カーネルのNetfilterサブシステムに登録されている情報を総合的に管理する
- ヘルパーモジュールとパケットフィルタリングルールを一括して管理することができる
- 簡単に通信の許可/禁止を設定できる
- 通信を停止せずにルールの修正を行うことができる
- 一時的なルールの設定と、永続的なルールの設定を使い分けられる
- 一定時間だけのルールを設定することもできる
- IPv4とIPv6の2つのプロトコルに対して、通常は自動的に同じルールを生成して適用する
Firewalldは、従来のiptablesサービスと比べ様々なメリットがありますが、ファイアウォールの設定方法が大きく変わりました。
Firewalldもsystemdと同様にしっかり押さえておく必要があります。
まとめ
Linuxを使うようになって20年近く。
用途はサーバーOSとして使っておりまして、RedHat系だろうがDebian系、はたまたSlackware系でもイケまっせというのが売りでした。
が… 経験年数なんて何のアドバンテージにもならないことの表れ。
やはり初心を忘れることなく学び続けることが大切です。
危うく「どれも触れまへん」というクリティカルな事態になるところでした。
systemdとFirewalldを短時間で攻略できる書籍
特にsystemdについては他のディストリビューションも導入しているので、しっかり勉強しておきましょう。
この本を読むことで各サービスの適切な起動方法とSystem V initからの進化に気付くことができるはずです。
この記事へのコメントはありません。