○ 最初の設定 4 Router

・CentOS 5.6 の初期設定をCUI環境で行います
・opensshを使い、2ndマシンのgnome-terminalから作業をします
・コピー&ペースト (ショートカットキー) で作業を短縮します
・firefox、gedit コピー ([Ctrl]+c) ペースト ([Ctrl]+v)
・gnome-terminal コピー ([Shift]+[Ctrl]+c) ペースト ([Shift]+[Ctrl]+v)
・文字間のスペースは、半角スペースまたはTabキーで入力します

・前もって必要なファイルをダウンロードしてください
・使用するエディタは個人の使い慣れたものを使用してください
・エディタのコマンドは略します
・Enterキーを省略します
・2ndマシンの操作は略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○インストール環境

:OS CentOS 5.6
:selinux disabled or permissive
:作業 /etc及び/home/sola/work
:言語 LANG=en_US.UTF-8
:ユーザー  rootで実行

○仮設定

:ドメイン 528p.com
:サーバ 名 venus
:ユーザ 名 sola
:クイアント01  mars



○rootでログインし、ユーザを作成します

login: root
password:← パスワードを入力
[root@venus ~]
# useradd sola
# passwd sola
New UNIX password:← パスワードを入力
Retype new UNIX password:← 再入力

○serviceの自動起動のチェック

[root@venus ~]
# ntsysv --level 3

・下記のデーモンをoffにします (自分の計画に合せて)
・HDDでない場合はsmartdも止めておく

apmd atd auditd autofs bluetooth cpuspeed
firstboot gpm hidd ip6tables iptables irqbalance iscsi iscsid
kudzu lvm2-monitor mdmonitor microcode_ctl netfs nfslock pcscd
portmap readahead_early rpcgssd rpcidmapd smartd yum-updatesd

○/etc/selinux/configの修正

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#    enforcing - SELinux security policy is enforced.
#    permissive - SELinux prints warnings instead of enforcing.
#    disabled - SELinux is fully disabled.
SELINUX=permissive
# SELINUXTYPE= type of policy in use. Possible values are:
#    targeted - Only targeted network daemons are protected.
#    strict - Full SELinux protection.
SELINUXTYPE=targeted

○/boot/grub/grub.confの修正

・ide=nodmaを削除(dma転送を有効にする)

・省略

title CentOS (2.6.18-238.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-238.el5 ro root=LABEL=/ hda=974,255,63
    initrd /initrd-2.6.18-238.el5.img

・省略


○再起動します

[root@venus ~]
# shutdown -r now

○アップデート用ファイルのアップロード

・scp(openssh)コマンドでファイルをアップロードします
・2ndマシンのworkディレクトリに必要なファイルをまとめておきます
・/home/sola/work (一般ファイル用)
・/home/sola/work/c56add (CentOS追加ファイル用)
・/home/sola/work/c56up (CentOSアップデートファイル用)
・/home/sola/work/c56up/kernel (kernelアップデートファイル用)

・2ndマシンから接続

[sola@mars ~]
$ scp -r work sola@192.168.0.1:.
sola@192.168.0.1's password:← パスワードを入力

○ssh (openssh) でログイン

・rootパスワードログインをします
・外部に公開する場合は、公開鍵認証に切り替えます

・2ndマシンから接続

[sola@mars ~]
$ ssh -2 root@192.168.0.1
root@192.168.0.1's password:← パスワードを入力

○RPM-GPG-KEYのインストール

[root@venus ~]
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

・インポートの確認

# rpm -qa | grep gpg-pubkey

○使用しないパッケージの削除 (自分の計画に合せて)

[root@venus ~]
# rpm -e NetworkManager NetworkManager-glib apmd \
bluez-gnome bluez-libs bluez-utils ccid coolkey \
dhclient dhcpv6-client dnsmasq eject fbset finger \
firstboot-tui ftp htmlview ibmasm ifd-egate iptstate \
irda-utils irqbalance krb5-workstation ksh lftp \
mdadm microcode_ctl mkbootdisk nfs-utils nfs-utils-lib \
pam_pkcs11 pcmciautils pcsc-lite pcsc-lite-libs pinfo \
pkinit-nss rdate rdist readahead redhat-lsb redhat-menus \
rsh specspo system-config-securitylevel-tui talk telnet \
vconfig wpa_supplicant yp-tools ypbind

○CentOS追加ファイルのインストール

パッケージの追加を参照
・専用ディレクトリを作り、rpmパッケージを置きます
・同名のパッケージがある場合はCPUに合わせます
・rpmパッケージ以外、ディレクトリに置かない
・例 /home/sola/work/c56add

[root@venus ~]
# cd /home/sola/work/c56add
[root@venus c56add]
# rpm -Uvh *.rpm

○CentOSのアップデート

・専用ディレクトリを作り、rpmパッケージを置きます
・同名のパッケージがある場合はCPUに合わせます
・rpmパッケージ以外、ディレクトリに置かない
・例 /home/sola/work/c56up
・インストール済のパッケージのみアップデートします

[root@venus c56add]
# cd /home/sola/work/c56up
[root@venus c56up]
# rpm -Fvh *.rpm

・kernelは-iオプションでインストールします

# cd kernel
[root@venus kernel]
# rpm -ivh kernel-2.6.18-238.19.1.el5.i686.rpm
# rpm -Fvh kernel-headers-2.6.18-238.19.1.el5.i386.rpm

・旧kernelの削除は?

# rpm -e kernel-2.6.18-238.el5

○/etc/ld.so.conf.dにconfファイルを追加します

・例 /etc/ld.so.conf.d/usrlocal.conf
・/usr/local/libを追記します

[root@venus kernel]
# cd /etc
[root@venus etc]
# echo /usr/local/lib >> /etc/ld.so.conf.d/usrlocal.conf
# ldconfig

○lvm cacheファイルの修正

・起動時にエラーがでる場合、"/dev/hdc"を削除します (そのままでも問題ない)

:/etc/lvm/cache/.cache

・省略

               "/dev/ramdisk",
               "/dev/hdc",
               "/dev/mapper/RT-Net02",

・省略


○suログインの制限

:wheelグループにユーザ (sola) を追加します

[root@venus etc]
# gpasswd -a sola wheel
# cat /etc/group | grep wheel

:/etc/pam.d/suファイルの修正 (変更追加分)

#auth sufficient pam_wheel.so trust use_uid

・上記を有効にするとwheelグループは[no Password]でsuになれるので注意

auth required pam_wheel.so use_uid

○起動スクリプトの修正

・起動時にraid関連(raid未使用時)でERRORがでる場合

:/etc/rc.d/rc.sysinit

・省略

# RAID setup
update_boot_stage RCraid
# [ -x /sbin/nash ] && echo "raidautorun /dev/md0" | nash --quiet
if [ -f /etc/mdadm.conf ]; then
 /sbin/mdadm -A -s
fi

・省略

    if ! strstr "$cmdline" nodmraid && [ -x /sbin/dmraid.static ]; then
        modprobe dm-mirror >/dev/null 2>&1
#       dmraidsets=$(LC_ALL=C /sbin/dmraid -s -c -i)
        dmraidsets="no raid disks"
        if [ "$dmraidsets" != "no raid disks" ]; then
            for dmname in $dmraidsets; do
                /sbin/dmraid.static -ay -i -p "$dmname" >/dev/null 2>&1
                /sbin/kpartx -a -p p "/dev/mapper/$dmname"

・省略


○ネットワークの修正

:/etc/sysconfig/network

・ipv6を無効にします (modprobe.confも参照)
・routerとして使用する場合、GATEWAYを設定しないこと

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=venus.528p.com

○at、batch 実行ユーザの制限

・"root"と"sola"にat、batchの実行を許可します
・at.allowが存在する場合 at.denyは無視されます

[root@venus etc]
# echo sola >> /etc/at.allow

○cron実行ユーザの制限

・"root"と"sola"にcronの実行を許可します
・cron.allowが存在する場合 cron.denyは無視されます

[root@venus etc]
# echo sola >> /etc/cron.allow

○マシンの名前解決

:/etc/hostsファイルを修正します

127.0.0.1    localhost.localdomain   localhost
192.168.0.1  venus.528p.com  venus

○libwrapによるアクセス制限の設定

・tcp_wrappersで制御されるものでhosts.allowの既述以外は全て拒否します

:/etc/hosts.allowファイルを編集します

ALL: 127.0.0.1
vsftpd: 192.168.0.
sendmail: 192.168.0.
sshd: ALL

:/etc/hosts.denyファイルを編集します

ALL: ALL

○仮想コンソールを減らす

:/etc/inittabファイルを修正します

・省略

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6

・省略


○ログインユーザ制限

:/etc/login.defsファイルを修正します

SU_WHEEL_ONLY    yes
・suの機能をWHEELグループに限定します

○モデュールの設定

:/etc/modprobe.conf ファイルを修正します

alias net-pf-10 off
・ipv6を無功にしています
alias ipv6 off

options ipv6 disable=1

alias block-major-2-* off
・floppyの認識を無功にしています
alias eth0 r8169
・自動認識されたLANカードの設定

○rootログインできる端末の制限

:/etc/securettyファイルを修正します

console
tty1
tty2

○/etc/sysctl.confを修正します

・exec-shieldの強化
・問題がある場合はOSのデフォルトの (1) にします

kernel.exec-shield = 2

・ICMPの嘘のエラーメッセージ応答を無視します

net.ipv4.icmp_ignore_bogus_error_responses = 1

・ICMPのブロードキャスト・メッセージに応答しないようにします

net.ipv4.icmp_echo_ignore_broadcasts = 1

・ICMPのリダイレクト要求を拒否します

net.ipv4.conf.all.accept_redirects = 0

・指定されたファイルから読み込んだ内容を sysctl 設定にロードします

[root@venus etc]
# sysctl -p

・現在利用できる全ての値を表示します

# sysctl -a

○ヘッダーファイルの修正

・pppのmakeで要求されるのでシンボリックリンクを作ります

# cd ~
[root@venus ~]
# ln -s /usr/include/pcap-bpf.h /usr/include/net/bpf.h

○ランレベル3自動起動を修正します (例)

[root@venus ~]
# ntsysv --level 3

・自動起動を設定するもの (自分の計画に合わせて)
・HDDでない場合はsmartdも止めておく

acpid anacron crond haldaemon mctrans messagebus network
rawdevices restorecond sendmail smartd sshd syslog

○selinuxのリラベルを実行しておきます

・selinuxが有効な場合

[root@venus ~]
# fixfiles relabel

○再起動します

[root@venus ~]
# shutdown -r now



○CFの書込回数制限への対応 (参考)

○/etc/fstabの修正

・CFディスクを使用している場合、アクセスタイムの書込をしない (noatime)
・この設定によってiノードのアクセス時間が更新されなくなるので注意
・動的に変化するディレクトリをtmpfs(メモリ上に作成される)に設定します
・tmpfsはデフォルトで物理メモリの半分まで使用します

・再起動するとtmpfsのデータが失われます、再起動の前にコピーしておきます

LABEL=/         /          ext2   defaults,noatime 1 1
LABEL=/boot     /boot      ext2   defaults,noatime 1 2
tmpfs           /dev/shm   tmpfs  defaults         0 0
devpts          /dev/pts   devpts gid=5,mode=620   0 0
sysfs           /sys       sysfs  defaults         0 0
proc            /proc      proc   defaults         0 0
LABEL=SWAP-hda2 swap       swap   defaults         0 0
tmpfs           /var/log   tmpfs  defaults         0 0
tmpfs           /var/cache tmpfs  defaults         0 0
tmpfs           /var/tmp   tmpfs  defaults         0 0
tmpfs           /tmp       tmpfs  defaults         0 0 

○/etc/rc.d/rc.local

・cronの実行やlogrotateの実行に必要なファイルやディレクトリの作成
・rc.localの最後に追記します

if [ ! -d /var/cache/man ]
then
mkdir /var/cache/man
fi

if [ ! -d /var/log/conman ]
then
mkdir /var/log/conman
fi

if [ ! -d /var/log/conman.old ]
then
mkdir /var/log/conman.old
fi

if [ ! -d /var/log/prelink ]
then
mkdir /var/log/prelink
fi

if [ ! -e /var/log/lastlog ]
then
touch /var/log/lastlog
fi

○/proc/sys/vm/drop_caches

・kernel-2.6.16以降で有効な、vm.drop_cachesに書き込みを行う
・クリーンなキャッシュ、dentry、inode をメモリ上から外し、メモリを解放する
・ダーティな (dirty) オブジェクトは解放されないので、最初に sync を実行しておく
・sync は書込を伴うので、free でメモリの使用状況を確認しながら行う

・[0] 初期値
・[1] ページキャッシュ解放
・[2] dentry、inode 解放
・[3] ページキャッシュ、dentry、inode 解放

[root@venus ~]
# sync
# echo 3 > /proc/sys/vm/drop_caches
# echo 0 > /proc/sys/vm/drop_caches

・または

# sync
# sysctl -w vm.drop_caches=3
# sysctl -w vm.drop_caches=0

・swapメモリのクリア

# swapoff -a
# swapon -a

○ Copyright(c) 528p.com All Rights Reserved.