2014年9月14日日曜日

Linuxサーバを作る ②


前回、OSのインストールが終わり、いよいよ設定です。
まず作業がしやすいように接続環境を整えましょう。

ネットワークの設定


6系からネットワーク周りの設定はNetworkManagerでの管理が推奨されています。
でもGUIでゴニョゴニョしたりしなければいけなかったり、まだまだサーバとしてはどうなの?
という所があります。

ここではべたに設定ファイルを直接編集して設定を行っていきます。

NICの設定


環境によりますが、ここはサーバ目的なので固定IPを設定していきます。
まだここではターミナル接続です。

minimalでインストールすればNetworkManagerはインストールされませんが、
標準でインストールした場合、インストールされている場合があるので、まず停止します。
# service NetworkManager stop
そして、今後ももちろんファイル編集でネットワーク設定を行うため、万が一ファイルがNetworkManagerで管理されないよう、
NIC側でも無効化しておきます。
# vi /etc/sysconfig/network-scripts/ifcfcg-eth0
NM_CONTROLLED=no
インストール時にネットワーク設定を行った場合は設定されていますが、
スキップした場合、インターフェースはデフォルトで無効化されてるため有効化します。
# vi /etc/sysconfig/network-scripts/ifcfcg-eth0
ONBOOT=yes
サーバのIP情報を固定で設定。
# vi /etc/sysconfig/network-scripts/ifcfcg-eth0
BOOTPROTO=none
IPADDR=192.168.154.11
PREFIX=24
少し前ではサブネットマスクで記述していましたが、最近はPREFIXでの記述が推奨されています。
また、デフォルトゲートウェイで利用するNICには下記設定を追記。
# vi /etc/sysconfig/network-scripts/ifcfcg-eth0
DEFOROUTE=yes
またNICのハードウェアアドレスやUUIDの記述がありますが、実際にはこのファイルでは管理されておらず、
仮想環境を利用している場合、邪魔になることもあるのでコメントアウトしておきましょう。
# vi /etc/sysconfig/network-scripts/ifcfcg-eth0
#HWADDR=*************************
#UUID=************************
設定を反映。
# service network restart
インターフェース eth0 を終了中:                            [  OK  ]
ループバックインターフェースを終了中                       [  OK  ]
ループバックインターフェイスを呼び込み中                   [  OK  ]
インターフェース eth0 を活性化中:
eth0 のIP情報を検出中... 完了。
                                                           [  OK  ]
設定値の確認。
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:BE:42:5C
          inet addr:192.168.247.128  Bcast:192.168.247.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:febe:425c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:294 errors:0 dropped:0 overruns:0 frame:0
          TX packets:67 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:48336 (47.2 KiB)  TX bytes:10963 (10.7 KiB)
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:272 (272.0 b)  TX bytes:272 (272.0 b)
"eth0"が有効化され、きちんと設定されています。

これでリモート接続ができる環境になりましたね。
次からSSH接続して作業を行っていきます。

ネットワーク周りの設定


redhat/CentOSであれば、自動起動でSSHは起動していますので、
この時点ではSSHでrootユーザーからも接続が可能です。
しかし、同じネットワーク帯なら接続できますが、デフォルトでiptablesも設定されているため、
上手く接続できない場合は一旦停止しておきましょう。
※作業サーバが公開されていない事が大前提です。FWの外側、外部からアクセスできる環境にサーバがある場合、不用意には無効化してはいけません。
# service iptables off

ホスト名の確認。
インストール時に設定してホスト名になっていますか?
# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=devos-01
設定したホスト名に特にDNS設定を行わない、完全修飾ドメインで無いのであればhostsに登録します。
# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.247.128  devos-01
DNSサーバの設定。
キャッシュDNSサーバを設定します。
内部にキャッシュDNSがあればそこを、無ければGoogleのキャッシュDNSサーバとかでいいんじゃないですかね。
# vim /etc/resolv.conf
nameserver 192.168.247.2

NetworkManagerを利用している場合、NICにDNSサーバの情報を記載します。
NICにPEERDNSの記述がnoで設定してある場合、NICの設定が優先されます。

固定IPを設定する場合APIPAを無効化しましょう。
# vim /etc/sysconfig/network
NOZEROCONF=yes
IPv6の無効化。
今後はどうなんでしょうね?
サービスやネットワークで利用しないのであれば無効化しておきましょう。
# vim /etc/sysconfig/network
IPV6INIT=no
NETWORKING_IPV6=no
IPV4_FAILRE_FATAL=yes
# vim /etc/modprobe.d/dist-ipv6.conf
options ipv6 disable=1

ネットワークを再起動して、設定を反映させましょう。
modprobeの設定は再起動しないとですが、ネットワークの設定変更後にすぐ再起動は少し怖いですからね.
# service network restart

ちなみに、IPアドレスを変更しないでネットワークを再起動した場合、下記のようなメッセージが出る場合あります。
インターフェース eth0 を活性化中:  Determining if ip address 10.96.146.152 is already in use for device eth0...
NIC設定を反映させる際、スクリプトは設定されたIPアドレスが使用可能かどうか、
arpingコマンドによりチェックを行なう処理が入っているらしい。

echo $"Determining if ip address ${ipaddr[$idx]} is already in use for device ${REALDEVICE}..."
      if ! /sbin/arping -q -c 2 -w 3 -D -I ${REALDEVICE} ${ipaddr[$idx]} ; then
            net_log $"Error, some other host already uses address ${ipaddr[$idx]}."
            exit 1
      fi

そのため、IPを変えたりせずに再起動を行なうと、arpキャッシュ自体はあるので、
すでに使用済みですよ!というメッセージが表示される事になる。
NIC設定ファイルにarpチェックを行なわないよう、下記記述を追加する事もできます
ARPCHECK=no

SELinuxの無効化


私もSELinux無効化派です。
余計な管理やミドルウェアの動きを妨げる可能性があるので、無効化しましょう。
# vim /etc/selinux/config
SELINUX=disabled

設定を反映させるため、一回サーバを再起動しましょう。

再起動後設定が反映されているか確認しましょう。
# getenforce
Disabled
# modprobe -c |grep ipv6
options ipv6 disable=1
---
よっしゃー!次は標準パッケージを少しカスタマイズしていきましょう。



プロのための Linuxシステム構築・運用技術 (Software Design plus)
中井 悦司
技術評論社
売り上げランキング: 101,118

0 コメント:

コメントを投稿