LoginSignup
15
19

More than 5 years have passed since last update.

LPICレベル2 技術解説無料セミナー

Posted at

開催日程:2014年2月23日(日) 13:30-16:30
主催:LPI-JAPAN

新出題範囲になったLPICレベル2(Ver4.0)受験に向け、実機を使ったデモを交えながら重要なポイントや技術的にわかりにくい点に焦点を当てて解説します。


LPICレベル2の概要

  • 小規模から中規模のネットワークシステムを管理できること
  • Linux・UNIX・Windowsが混在する小規模なネットワークの設計・運用・補修ができ、安定かつ安全な稼働を維持し、トラブルシューティングができること
  • アシスタントを管理できること
  • 自動化および購入に関して管理者に助言ができること
  • 2014年1月1日よりVer4の新試験範囲が提供されている

レベル2試験の概要

  • 201試験のポイント
    • サーバのスケーリング、メンテナンス、そしてトラブルシューティングに焦点を当てている
  • 202試験のポイント
    • 主要なネットワークサービスの他に、システムとネットワークのセキュリティにも焦点を当てている
  • レベル1の試験範囲もかなり出題されている
    • 復習が必要
    • レベル1より深い内容が問われる

トラブルシューティングは章がなくなったが、他の出題範囲(起動の仕組みなど)に含まれるようになり、出題もされている。

主題200 キャパシティプランニング

  • 200.1 リソースの使用率の測定とトラブルシューティング 6(重要度:非常に高い)
  • 200.2 将来のリソース需要を予測する 2
    • collectdを使用してITインフラの使用を監視する
    • Negios、MRTG、Cactiといった監視ツールを知っている

「知っている」レベルなので知識レベルでOK。実際の使い方までは突っ込まれないのではないか。。。

vmstatコマンドの見方

vmstatコマンドでどこに負荷がかかっているのか出力結果からわかればよい

項目 意味
r 実行待ちプロセス数
b 割り込み不可能なプロセス数
swpd スワップサイズ
free 空きメモリ
buff バッファメモリ
cache キャッシュメモリ
si スワップイン
so スワップアウト
bi 受け取ったブロック
bo 送られたブロック
in 1秒あたりの割り込み
cs 1秒あたりのコンテキストスイッチ
us ユーザー時間
sy システム時間
id アイドル時間
wa 入力待ち時間
st ゲストOSがCPUが割り当ててもらえなかった時間

リソース利用率の把握

コマンドでどのような情報が読み取れるのかを覚えておく

コマンド 機能
top システムリソースの使用状況やプロセスの実行状態
iostat CPUの利用状況とディスクの入出力
sar ディスク関連、ネットワーク関連、メモリとスワップ関連の情報
sysstatパッケージに含まれる
free メモリの使用率

主題201:Linuxカーネル

  • 201.1 カーネルの構成要素 2
  • 201.2 Linuxカーネルのコンパイル 3
  • 201.3 カーネル実行時における管理とトラブルシューティング 4

Active Kernel releases

  • カーネルの情報およびソースダウンロード先
  • カーネルのバージョン
バージョン名 意味
Prepatch メインラインカーネルプレスリリース版
Mainline メインラインツリー。全ての新機能が導入される
Stable メインラインカーネルが開放された後、それを「安定」とする
Longterm 「長期保守」のカーネルリリース。重要なバグが修正される

カーネルの再構築

  • gccが必要
  • ディストリビューションによって置き場所は異なる。
  • 以前のカーネルのセッティングを引き継ぐ場合はcp /boot/config-2.8.**** ./.config後にmake menuconfigなどする
  • あとはコンパイルしてインストール
$make bzimage
$make modules_install
$make install

カーネルパラメータ

例えばルータとして利用したい場合。

  • カーネルパラメータの調整→カーネルの動作をチューニング
    • パケットの転送を有効にする(ルータ機能)
    • echo 1 > /proc/sys/net/ipv4/ip_forward
  • sysctlコマンド
    • sysctl -w net.ipv4.ip_forward=1
  • 設定方法
    • 再起動後も有効にするためには/etc/sysctl.confに記述する
    • net.ipv4.ip_forward=1

主題202:システムの再起動

/etc/initなどはレベル2でも出るのでレベル1の復習をしておくこと

  • 202.1 Sys V-initシステムの起動をカスタマイズする 3
  • 202.2 システムのリカバリ 4
  • 202.3 その他のブートローダ
    • SYSLINUX、ISOLINUX、PXELINUX

起動スクリプト

ランレベルごとに/etc/rc[0-6].d/以下の起動スクリプトが存在する
実際のスクリプトは/etc/init.d/にあるスクリプトのシンボリックリンクである。
S85httpdなどというようなファイル名になっているが以下の意味がある。

  • S ランレベルのときサービスがスタート
  • K ランレベルの時サービスが終了
  • 数字 小さい数字から順に実行される。

サービスの制御

chkconfigコマンドで自動的にスクリプトを作成する

  • 現状のサービスを制御
    • /etc/init.d/
    • /etc/init.d/httpd start
  • 次回起動時のサービスを制御(CentOS)
    • chkconfig httpd on #Linux起動時に起動
    • chkconfig --list httpd #起動確認

デフォルトでは通常[2-5]になる。
ディストリビューションによって起動方法は異なるの注意

主題203

  • 203.1 Linuxファイルシステムを操作する 4
  • 203.2 Linuxファイルシステムの保守 3
    • SMARTデバイスの監視
    • Btrfsを知っている
  • 203.3 ファイルシステムを作成してオプションを構成する 2

スワップ領域の利用

スワップ領域を後から増やす方法

$dd if=/dev/zero of=/tmp/swapfile bs=1M count=10
$mkswap /tmp/swapfile
$swapon /tmp/swapfile
$swapon -s #スワップ領域の確認

/dev/zeroは特殊ファイル

オートマウント

  • オートマウントとは?
    • 指定したディレクトリにアクセスすると、自動的にマウントする。
  • 設定ファイル
    • /etc/auto.master
    • マップファイル(/etc/auto.sda5)
  • オートマウントの実行
  • /etc/init.d/autofs start(auto.masterを変更したらautomountデーモンを再起動する)
  • 確認: /mnt/auto/sda5に移動する
/etc/auto.master
/mnt/auto /etc/auto.sda5 
#マウントベース マップファイルのパス
/etc/auto.sda5
sda5   -fstype=ext3,rw :/dev/sda5 
#マウントベースの下に置かれるディレクトリ マウントオプション デバイスファイル名

主題204:高度なストレージ管理

  • 204.1 RAIDを構成する 3
  • 204.2 記憶装置へのアクセス方法を調整する 2
    • iSCSIのツールとユーティリティ
  • 204.3 論理ボリュームマネージャ 3

パーティションタイプの設定

$ fdisk /dev/sdb
コマンド(mでヘルプ):t
領域番号(1-4):1  
16進数コード(L コマンドでコードリスト表示): fd (8e: LVM, fe:RAID)   

コマンド (mでヘルプ):p パーティション確認

論理ボリュームマネージャ(LVM)

ボリューム(PV) ボリュームグループ(VG) 論理ボリューム(LV)
sdc1
sdc2
vg01 lv01

LVMの構成

$pvcreate /dev/sdc1 /dev/sdc2 #物理ボリューム作成
$vgcreate vg01 /dev/sdc1 /dev/sdc2 #ボリュームグループ差kスエイ
$lvcreate -L 200M -n lv01 vg01 #論理ボリューム作成
$mkfs -t ext3 /dev/vg01/lv01 #ファイルシステム作成
$mount -t ext3 /dev/vg01/lv01 /mnt #マウント
  • 論理ボリュームの確認 lvdisplay /dev/vg01/lv01

RAID

ソフトウェアRAID(LinuxがRAIDを管理)

RAIDの構成

$mdadm -C /dev/md0 --level=1 --raid-devices=2 --spare-devices 1 /dev/sdb1 /dev/sdb2 /dev/sdb3 #RAIDを作成 RAIDアレイmd0
$cat /poc/mdstat #RAIDアレイを確認
$mdadm --query /dev/md0 #RAIDアレイmd0の状態を確認

主題205:ネットワーク構成

  • 205.1 基本的なネットワーク構成 3
  • 205.2 高度なネットワーク構成 4
  • 205.3 ネットワークの問題を解決する 4

tcpdumpの実行例

tcpdump icmpなど

主題206:システムの保守

  • 206.1 ソースからプログラムをmakeしてインストールする 2
  • 206.2 バックアップ操作 3
  • 206.3 システム関連の問題をユーザに通知する 1

ソースからインストール

$tar xzvf httpd-2.2.26.tar.gz
$cd httpd-2.2.26
$./configure #インストール環境の調査、Makefileの生成
$make #コンパイル
$make install #インストール

ユーザへの通知

  • ユーザへの通知
  • /etc/issue ログイン前にシステム情報やメッセージを表示
  • /etc/motd ログイン後にメッセージを表示
  • wall ログイン中のユーザへの通知

202試験

  • WebサーバがApacheだけでなく、Nginxが追加された。
  • LDAPクライアントではなく、LDAPサーバとしての知識が必要になった。

主題207:ドメインネームサーバ

  • 207.1 DNSサーバの基本的な設定 3
  • 207.2 DNSゾーンの作成と保守 3
  • 207.3 DNSサーバを保護する 2

DNSの基本

  • 名前解決の種類   * 正引き:ホスト名→IPアドレス   * 逆引き:IPアドレス→ホスト名
  • BIND ver9
    • DNSサーバのアプリケーション
  • ゾーン
    • DNSサーバが管理する名前空間の範囲
  • FQDN(Full Qualified Domain Name:完全修飾ドメイン名)  
    • ホスト名+ドメイン名の形式で表す
  • インストール
    • yum install bind bind-chroot

BINDの設定ファイル

  • /etc/named.conf #管理するゾーン、BINDの基本設定などを記述
  • /var/named #ソースファイルの置き場所
  • exapmle.net.zone #正引き設定
  • 133.168.192.in-addr.arpa #逆引き設定
  • その他、ループバック用ファイル、ルートDNSサーバ用ファイルが必要

named.confの設定例

  • /etc/namedの基本設定と管理するゾーンを記述
  • 設定例:
named.conf
options {
      directory "/var/named"; #ゾーンファイルのディレクトリ
};
zone "example.net" { #管理するゾーン
      type master;
      file "example.net.zone"; #正引きゾーンファイルの名前
};
zone "130.168.192.in-addr.arpa" {
      type master;
      file "133.168.192.in-addr.arpa"; #逆引きゾーンファイルの名前
};

ゾーンファイル(正引き)

設定例:

/var/named/example.net.zone
TTL 86400
@         IN     SOA    centos.example.net root.example.net. (
ゾーン名                 2014022301 # シリアル値
                        86400
                        21600      スレーブサーバに対する設定
                        864000     設定を変更した場合は値を変更しないとスレーブサーバへ通知されない。
                        86400 )
          IN     NS     centos.example.net. #DNSサーバ
          IN     MX   10  mail.example.net. #プリファレンス値とメールサーバ
centos    IN     A      192.168.130.128 #ホストのIPアドレスを指定
www       IN     CNAME  centos.example.net #別名

ゾーンファイル(逆引き)

設定例:

/var/named/133.168.192.in-addr.arpa
TTL 86400
@         IN     SOA    centos.example.net root.example.net. (
ゾーン名                 2014022301 # シリアル値
                        86400
                        21600
                        864000
                        86400 )
          IN     NS     centos.example.net. #DNSサーバーバ
128       IN     CNAME  centos.example.net. #逆引き設定
#↑128.130.168.192.in-addr.arpaとなる

digコマンドで正しく設定されているか確認する。

TSIG

  • dnssec-keygenで鍵を生成
    • dnssec-keygen -a HMAC-MD5 -b 512 -n HOST example.net
    • 生成した鍵により、スレーブサーバを認証

主題208: Webサービス

  • 208.1 Apacheの基本的な設定 4
  • 208.2 HTTPS向けのApacheの設定 3
  • 208.3 キャッシュプロキシとしてのAquidの実装 2
  • 208.4 WebサーバおよびリバースプロキシのしてのNginxの実装 2

Apache httpd

  • Webサーバ用アプリケーション
  • 設定ファイル
  • `/etc/httpd/httpd.conf
  • 「ディレクティブ名 値」という形で設定

UserDir

  • ユーザーごとにページ公開領域を設定できる
/etc/httpd/httpd.conf
<ifModules mod_usermod.c>
  UserDir public_html
<ifModule>  

ディレクトリごとの設定情報

  • .htaccessというファイルに設定を記述し、ディレクトリごとに設定を上書きすることができる。
  • 設定可能な範囲はAllowOverrideで許可されている範囲
/etc/httpd/httpd.conf
<Directory /home/*/public_html/>
AllowOverride AuthConfig indexes
</Directory>
AccessFileName .htaccess
/home/*/public_html/.htaccess
DirectoryIndex index.html index.htm
Authtype Basic
AuthName "Enter Password"
AuthUserFile /etc/httpd/conf/.htpasswd
Require vaild-user

HTTPSの設定

  • opensslを利用する
    • 事前の設定
    • 公開鍵と暗号鍵を作成
    • 証明書発行要求書を認証局(CA)へ送る
    • 認証局からサーバ証明書を受け取る
    • サーバ証明書をWebサーバに設定する
  • SSlのモジュールをインストールしておく
    • yum install mod_ssl

SSLの設定

  • /etc/httpf/conf.d/ssl/confに設定

Squid

  • Webプロキシ・キャッシュサーバ
  • 設定ファイル:/etc/squid/squid.conf
  • http_accessディレクティブで許可されていないと接続できない
    • aclディレクティブで接続元アドレスなどを指定
  • squidの起動
    • /etc/init.d/squid start

Nginxの設定

  • Webサーバとして動作させる場合
  • 設定ファイル:/etc/nginx/nginx.conf(パッケージからインストール)
  • リバースプロキシとして動作させる場合
  • 設定ファイルは同じ

主題209:ファイル共有

  • 209.1 Sambaサーバの設定 5
  • 209.2 NFSサーバの設定 3

Samba

  • Windowsネットワークにおけるファイルサーバ機能を提供
  • サービス
  • smbd nmbd winbind
  • 設定ファイル
  • /etc/samba/smb.conf/
    • smb.confの構文にミスがないか確認→ testparm
  • Sambaユーザの追加
    • pdbedit -a centuser
  • smbclientで接続を確認する
    • smbclient -U centuse//samba3/public //netbios名/公開ディレクトリ

Sambaの設定例

NFS

  • UNIX/Linuxネットワークにおけるファイルサーバ機能を提供
  • インストール
    • yum install nfs-utils nfs-utils-lib portmap
  • サービス
    • portmap nfsd moutd
  • 起動方法
    • /etc/init.d/portmap start 必ずportmapから起動する。クライアントもportmapを起動
    • /etc/init.d/nfs start
  • 設定ファイル
    • /etc/exports
  • ユーザー管理
    • クライアント側でログインしたUIDを利用

NFSの設定と接続

/etc/exportsに記載する

/share 192.168.130.0/255.255.255.0(rw)
公開するディレクトリ 公開するクライアントのネットワーク
  • クライアントからの接続
    • mount -t nfs centos:/share /mnt/nfs/share

主題210:ネットワーククライアントの管理

  • 210.1 DHCPの設定 2
  • 210.2 PAM認証 3
  • 210.3 LDAPクライアントの利用方法 2
  • 210.4 OpenLDAPサーバの設定 4

DHCPサーバ

  • 設定ファイル: /etc/dhcpd.conf
    • ファイルは/usr/share/doc/dhcp*/dhcp.conf.sampleをコピーして使用する
  • 固定IPを割り当てることも可能
  • DHCPサーバの起動
    • /etc/init.d/dhcpd start

PAM

  • PAM(Pluggable Authentication Modules)
  • 各アプリケーションに認証機能を提供
  • /etc/pam.d/ディレクトリに各種アプリケーション用の設定ファイルが用意されている。

各種プロトコルからPAMライブラリを介してユーザ情報と認証する。

PAMの設定例

  • 設定例:/etc/pam.d/su
auth     sufficient    pam_rootk.so #順番に実行していく
auth     required      pam_wheel.so use_id
auth     include       system-auth
#モジュールタイプ コントロール モジュールのパス 引数
  • コントロール
  • sufficient:モジュールの実行に成功すると、上位でrequiredが全て成功であれば認証成功
  • required:モジュールの実行に失敗したら、同じタイプのモジュールの実行が全て完了した時点で認証を拒否

上記の設定は以下の様な設定になる

  • rootユーザは認証なしでsuできる
  • wheelグループに所属するユーザはsuでrootになる時認証する。 その他のユーザはrootになるのを認証が拒否
  • wheelユーザだけがsystem-authが認証する。

LDAP

  • 標準仕様のディレクトリサービス
  • 識別名(DN: Distinguished Name)
  • 例: dn: cn=Suzuki Ichiro, ou=People, dc=example, dc=net
  • 相対識別名(RDN: Rlative Distinguished Name
  • 例: cn=Suzuki Ichiro
  • 設定ファイル:/etc/openldap/slapd.conf

dc:ドメイン要素 cn:組織名 cn:一般名

LDIF形式とエントリの追加

  • LDIF(LDAP Data Interchange Format)形式:
sample.ldif
dn: cn=Takahashi Jiro, ou=People, dc=example,dn=net
objectClass: Person
cn: Takahashi Jiro
sn: Takahashi
telephoneNumber: +81 3 1234 5678
  • エントリの追加
    • ldapadd -x -D 'cn=Manager, dc=exapmle, dc=net' -W -f sample.ldif

LDAPのコマンド

クライアントコマンド 機能 管理コマンド 機能
ldapadd エントリの追加 slapadd エントリの追加
ldapsearch エントリの検索 slapcat データをLDIF形式で出力
ldapmodify エントリの変更 sllappasswd パスワード値を生成
ldapdelete エントリの削除 slalpindex インデックスの再構築
ldappasswd エントリのパスワード変更 slaptest slapd.confを構文テスト

主題211:電子メールサービス

  • 211.1 電子メールサーバの使用 4
  • 211.2 ローカルの電子メール配信を管理する 2
  • 211.3 リモートの電子メール配信を管理する 2

メールシステム

  • MTA(Mail Transfer Agent):メールの転送【Sendmail,Postfix,qmail】
  • MDA(Mail Delivary Agent):【Procmail】
  • MUA(Mail User Agent):【mailコマンド】
  • MRA(Mail Retrieval Agent):【dovecot, courrier IMAP】

sendmailの占める割合は少なく、postfixの問題の割合が高くなった。
procmailの問題など。

postfix

  • sendmailとの互換性を意識しながら、sendmail,qmailの長所を採用して作られたMTA
  • 主な設定ファイル
    • /etc/postfix/main.cf
    • /etc/postfix/master.cf
  • 関連ディレクトリ
    • メールスプール
      • /var/spool/mail(メールボックス形式。1ユーザにつき1ファイル)
      • ~/Maildir(メールディレクトリ形式。1通につき1ファイル)
    • メールキュー
      • /var/spool/postfix(postfix)

postfixの設定

  • 設定例:
/etc/postfix/man.cf
myhostname = centos.example.net
mydomain = example.net #自分で追記する必要があり。
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetwork = 192.168.130.0/24, 127.0.0.0/8
home_mailbox = Maildir/
mailbox_command = /usr/bin/procmail

procmail

  • 定義したレシピに従い、メール配送を行うMDA
  • レシピファイル
  • ~/procmailrc ユーザごとに設定
  • /etc/procmairc システム全体に設定

主題212:システムのセキュリティ

  • 212.1 ルータを構成する 3
  • 212.2 FTPサーバの保護 3
  • 212.3 セキュアシェル(ssh) 4
  • 212.4 セキュリティ業務 3
  • 212.5 OpenVPN 2

FTPサーバの保護

  • vsftpdの設定
    • /etc/vsftpd/vsftpd.conf
  • 起動
    • /etc/init.d/vsftpd start

OpenVPN

  • 通信するホスト間を暗号化して、セキュアな通信を実現
  • デフォオルトのポート番号:1194
  • サーバ用設定ファイル
    • /etc/openvpn/server.conf
  • クライアント用設定ファイル
    • /etc/openvpn/client.conf

LDAPなどはレベル3の範囲も一読しておく必要があり。

15
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
19