投稿

9月28日(月)3、4コマ目

今日のテスト systemdに確認テストを行いました。 問1 Unit起動順に関する問題。 Unit起動順は以下の2項目があります。 項目 説明 before 指定ユニットの 前 に起動。 例 BEFORE=A B このユニットは ユニットA、Bの前に起動する 言い換えれば、ユニットA、Bはこのユニットのあとに起動する after 指定ユニットの 後 に起動。 例 AFTER=A B このユニットは ユニットA、Bの後に起動する 言い換えれば、ユニットA、Bはこのユニットのまえに起動する 問題はUnit定義ファイルから、Unit起動後に起動するUnitを調べる問題。よって、beforeで指定されたUnitが対象。 だが、beforeは未指定なので、答えはなし。 問2 ユニットhttpd.serviceが自動起動するか確認するためのコマンド。 systemctl is-enabled httpd.service 問3 ユニットfirewalld.serviceを自動起動するように設定するためのコマンド。 systemctl enable firewalld.service 問4 systemdでマシンをシャットダウン。 起動しているターゲットの変更を行うことで、GUI付きマルチユーザーモード(graphical.target)からCUIマルチユーザーモード(multi-user.target)やシングルユーザーモード(rescue.target)に変更することができる。 systemctl isolate poweroff.target 問5 ユニットdovecot.serviceに対して、 systemctl en...

9月14日(月)3、4コマ目

イメージ
 今日、やったこと systemd版「一人でやってみよう」解説 今日のホワイトボード その1 ユニット定義ファイルの有無確認 ユニット定義ファイルは以下にある。 パス 特徴 /usr/lib/systemd/system/ユニット名 OSがあらかじめ用意してあるユニット。 基本的にこのファイルは変更しない。 /etc/systemd/system/ユニット名 デフォルトから変更する場合や新規作成時はここに作成。 図 その1 ユニット定義ファイルの有無確認 その2 ユニットが自動起動になっているか? 自動起動にすると、OS起動時にsystemdによってプロセスが起動される。 図 その2 ユニットは自動起動になっているか? その3 ユニットは起動中? プロセスは起動中か? systemdはプロセス起動後もプロセスをチェックしている。 図 その3 ユニットは起動中? その4 依存関係 起動順序と似ているが、依存関係によって起動するユニットが決定される。 依存関係はユニット定義ファイルの「 Wants 」、「 Requires 」で指定する。 図 ユニット間の依存関係 その5 起動順序 まさにユニットの起動順序。 起動順序のユニット定義ファイルで設定する。 項目は「 After 」、「 Before 」。 図 ユニットの起動順序 その6 ユニット新規作成 ユニットを新規作成するには、ユニット定義ファイルを作成する。 ユニット定義ファイルへのパスはその1を参照。 ユニット定義ファイルの中身は 起動するコマンドの指定(ExecStart) 起動順序(After、Before) 依存関係(Wants、Requires) ターゲットへの組み込み(WantedBy、RequiredBy) はおさえておいてください。 その7、8はすっとばして その9 自動起動させるには   systemctl enable ユニット名 を実行する。 実行すると、 ユニット定義ファイルのWantedByまたはRequiredByに指定したターゲットに組み込まれ、ターゲット起動時に一緒に起動される。 ター...

9月9日(水)4コマ目

イメージ
 今日、やったこと systemdの「自分でやってみよう」 今日のホワイトボード ユニットの依存関係、起動順序の設定 起動順序は説明をしてなかったので、補足しました。 図 ユニットの依存関係、起動順序 依存関係も起動順序も一見、ユニットの起動順序のように見えてわかりづらいです。 依存関係で起動すべきユニット が決まります。 起動順序は文字どおり、そのユニットたちの起動順序を指定します。 なお、 起動順序は前起動ユニット、後起動ユニットのいづれかで設定すればOK です。 たとえば、A、Bと2つのユニットがあり、起動順序はA=>Bの順にしたいとします。 ユニットAで  Before=B と定義すれば、ユニットBで  After=A と定義する必要はありません。 逆も同じで ユニットBで  After=A と定義すれば、ユニットAで  Before=B と定義する必要はありません。 次回は「自分でやってみよう」の解説とテストです。

9月7日(月)3、4コマ目

イメージ
 今日、やったこと firewallのテストの解説 systemd 今日のホワイトボード firewallのテスト解説 問1 インタフェースにゾーンを適用 インタフェースにゾーンを適用する=>コネクションの設定 よって、nmcliコマンドでコネクションの設定(設定項目はconnection.zone)を行う。 しかしながら、firewall-cmdコマンドでも同じことができる。 図 問1 インタフェースにゾーンを適用 問2 ゾーンに許可サービスを追加、削除+設定ファイル再読み込み ポイントは許可サービスの追加、削除を行う際に--permanentオプションをつけたかです。 --permanentオプションを つける と 設定ファイルを変更 稼働中のF/Wには反映されない --permanentオプションを つけない と 設定ファイルは変更なし 稼働中のF/Wに即反映される の違いがあります。 また、firewall-cmd --reloadを行うと、設定ファイルの再読み込みを行います。 図 許可サービスの追加、削除+設定再読み込み 問3 許可サービスの追加、設定ファイルのパス 許可サービスの追加時に--permanentオプションの有無で設定ファイルや稼働中のF/Wへの影響は問2のとおり。 設定ファイルは2か所にある。それぞれ役割が異なるため注意!! 図 許可サービスの追加、2か所の設定ファイルの違い 問4 ゾーン新規作成、許可サービスを設定ファイルに追加 くどいけど、許可サービスを設定ファイルに書き込むなら、--permanentオプションが必要。 ...

8月31日(月)3、4コマ目

イメージ
 今日、やったこと firewalldのテスト systemd 今日のホワイトボード LinuxマシンをWebサーバーにする ネットワークの設定等は実施済みの前提だと、やることは、  /usr/sbin/httpd を起動するだけ。 しかしながら、人力で毎回/usr/sbin/httpdと入力するのはあほらしい。 できたら、 しかるべきタイミングで自動的に/usr/sbin/httpdを実行する 仕組みが欲しい。 図 LinuxマシンをWebサーバーにする 解決策は systemd 。 systemdとは 昔のLinuxにあった、initの生まれ変わり。 initもsystemdも OS起動時に各種プロセスを順に起動する 。 図 initとsystemdの違い ユニット (いまいちよくわからんが)systemdの管理対象(プロセスを立ち上げる)の最小単位。 図 ユニット systemdとsystemctlコマンド お互いの関係およびユニットの設定ファイルの関係は下図のとおり。 図 systemdとsystemctl、設定ファイルの関係 systemdでプロセス起動・停止・再起動 起動・停止したいプロセスのユニットから起動・停止ができる。 〇起動  systemctl start ユニット名 〇停止  systemctl stop ユニット名 〇再起動  systemctl restart ユニット名 図 プロセス起動・停止 図 プロセス再起動(ユニットの状況確認) systemdでプロセスの確認 起動・停止したユニットの状態確認からプロセスの状態が確認できる。 〇ユニットの稼働状況確認  systemctl status ユニット名 〇プロセスが起動中か確認  systemctl is-active ユニット名 〇プロセスが自動起動するか確認  systemctl is-enabled ユニット名 図 (ユニット再起動)、ユニットの状況確認 図 プロセスは稼働中?プロセスは自動起動する? systemdでプロセスを自動起動 OS起動時にsystemdがプロセスを起動する、起動しないを設定できる。 〇自動起動する  systemctl enable ユニット名 〇自動起動しない  systemctl disable ユニット名 図 プロセスをOS起動時に起動す...

8月24日(月)3、4コマ目

イメージ
 今日、やったこと 一人でやってみよう「firewall編」の解説 今日のホワイトボード Linux上で稼働するfirewalldの操作・設定はfirewall-cmdコマンドを使います。 前回各自で確認してもらった”1人でやってみよう「firewalld編」”の解説を行いました。 その1 全ゾーンの確認および各ゾーンで許可されているサービス出力 図 ゾーンおよび許可サービス確認 その2 現在アクティブなゾーンの確認 図 アクティブなゾーン確認 その3 許可サービスをゾーンに(一時的に)追加、確認 まずは許可サービスの追加。 一時的に追加したいので、--permanentオプションはなし。 図 (一時的に)許可サービスを追加 図 許可サービスの確認 --permanentオプションのあり・なしでの設定ファイル、firewalldの動作が異なるため、まとめた。 その4 設定ファイル確認 2か所にある設定ファイル。それぞれの役割を把握すること。 図 2か所の設定ファイルの違い その5 設定ファイル再読み込み 以下を実行する。  firewall-cmd --reload その6 許可サービスをゾーンに(恒久的に)追加、確認 恒久的に追加するには、設定ファイルを変更する必要あり。 よって、--permanentオプション付きでfirewall-cmdコマンドを実行する。 図 (恒久的に)許可サービスの追加 その7 設定ファイル確認 --permanentオプション付きで許可サービスを追加すると、設定ファイルが変更される。 ただし、/usr/lib/firewalld/zonesディレクトリ以下のファイルは変更されない。 /usr/lib/firewalld/zones以下のゾーン別設定ファイルから対象ゾーンの設定ファイルを/etc/firewalld/zones以下にコピーし、設定を行う。 その8 設定ファイル再読み込み 設定ファイルを再読み込みは以下を実行。  firewall-cmd --reload 設定ファイルを再読み込み後、許可サービスの追加は反映される。 その9 ゾーン新規作成 以下の流れで行う。 図 ゾーン新規作成のながれ その10 設定ファイルの確認 ゾーン「AllowOnlyHttp」のために新たに作成される設定ファイルは /etc/firewa...

8月17日(月)3、4コマ目

イメージ
 今日、やったこと ファイアウォール 今日のホワイトボード 結構、おさらいをしてしまった。 ファイアウォールとは 今更ですが、送受信するパケットをあらかじめ決められたルールに従って、通過・破棄等を行う。ルールに使う情報はパケット中のIPヘッダやTCP・UDPヘッダ内の情報。 図 ファイアウォールの動作 図 フィルタリングルール まずはネットワーク設定 コネクション新規作成を行い、Webサーバーを起動。 図 コネクション新規作成 図 Webサーバー起動、自マシンからアクセスして確認 Webサーバーへアクセスして確認 自分サーバーへのアクセスはOKだが、他人サーバーへのアクセスはNG。 ファイアウォールで破棄されているから。 図 他人マシンからのアクセスはNG=>F/Wで破棄されている ファイアウォールの確認、設定 firewall-cmdコマンドを使う。オプションが多いので注意。 図 firewall-cmdコマンド① 図 firewall-cmdコマンド② ゾーンの設定ファイル 2か所にある。それぞれ役割があるので注意! 図 2か所に分かれるゾーン設定ファイル ゾーンの変更 インタフェース単位で設定できる。 図 ゾーンの変更 ゾーンの新規作成 ①ゾーン設定ファイルをつくって、②ゾーン設定ファイル編集 でOK。 図 ①ゾーン設定ファイルを作成 図 ②ゾーン設定ファイルを変更 次回は、「ファイアウォール、1人でやってみよう」の解説を行います。 テストは次々回予定です。