KATOエンジニヤリング開発日誌

「アウトプット無きエンジニアにインプットもチャンスも無い」の精神で書いています

Linuxサーバー構築基礎セミナー実践 ネットワーク設定編

初期設定を行ったLinuxのネットワーク設定を行っていきます。

※前回記事はこちら

www.kato-eng.info

ネットワークインターフェース管理の設定

CentOS6.2ではネットワークインターフェースの管理をNetworkManagerサービスが行っています。NetworkManagerは高機能ではあるがサーバーでの使用には向いていないようなのでNetworkManagerを停止し、従来から利用されているnetworkサービスでネットワークインターフェースの管理を行うように変更します。

NetworkManagerサービスの停止

NetworkManagerサービスを停止し、Linux起動時にサービスが自動起動しないように設定します。

# chkconfig NetworkManager off
# chkconfig --list NetworkManager
NetworkManager  0:off   1:off   2:off   3:off   4:off   5:off   6:off
# /etc/init.d/NetworkManager stop
NetworkManager デーモンを停止中:                           [ OK ]

networkサービスの有効化と起動

Linux起動時にnetworkサービスが自動起動するように設定し、現在停止しているnetworkサービスをスクリプトで起動します。

# chkconfig network on
# chkconfig --list network
NetworkManager  0:off   1:off   2:on   3:on   4:on   5:on   6:off
# /etc/init.d/network start
ループバックインターフェイスを呼び込み中                   [ OK ]
インターフェース eth0 を活性化中:                          [ OK ]

ネットワークアダプタを活性化したときに「RTNETLINK answers: File exists」といった警告文がでますがネットワーク接続に問題はないのでここでは無視します。

ネットワークインターフェースの確認

インストールしたLinuxが正常にネットワークに接続できるかを設定から確認します。

f:id:masayuki_kato:20170708140711p:plain

# ifconfig eth0
# ifconfig lo

上記コマンドで1番目のEthernetのネットワークインターフェースである「eth0」と、仮想的なループバックインターフェースの情報が見れます。

  • ネットワークインターフェース
    • LANケーブルを接続して外部のマシンとの間でデータのやり取りをするための物理的なインターフェースのこと
  • ループバックインターフェース
    • マシン内部で自身とのみデータをやり取りするための仮想的なインターフェースのこと

ネットワークインターフェース設定ファイルの確認

ループバックインターフェース「lo」の設定ファイルとネットワークインターフェース「eth0」の設定ファイルを参照します。

  • ループバックインターフェース設定ファイルのPATH
    • /etc/sysconfig/network-scripts/ifcfg-lo
    • どのマシンでも同じ設定内容となる
  • ネットワークインターフェース設定ファイルのPATH
    • /etc/sysconfig/network-scripts/ifcfg-eth0
    • マシン毎に設定内容が異なる設定ファイル

f:id:masayuki_kato:20170708141841p:plain

# cat /etc/sysconfig/network-scripts/ifcfg-lo
# cat /etc/sysconfig/network-scripts/ifcfg-eth0

主な設定項目と設定内容は下記表を参照。

項目 内容 設定例
DEVICE ネットワークインターフェース名 eth0
IPADDR インターフェースのIPアドレス 192.168.1.10
NETMASK 所属ネットワークを区切るためのサブネットマスク 255.0.0.0
NETWORK 所属ネットワークを指定するネットワークアドレス 127.0.0.0
ONBOOT 起動時にネットワークインターフェースを有効とするか否か yes…有効
no…無効
BOOTPROTO 他機器から設定を受け取るプロトコル none…利用しない
dhcp…DHCPを利用
BOOTP…BOOTPを利用

また、ネットワークインターフェース設定ファイル以外にもRed Hat系のディストリビューションではネットワークの基本設定ファイルである「/etc/sysconfig/network」も存在するのでそちらも確認する。

# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=host0.jp
GATEWAY=192.168.1.1

もし、 上記設定と異なる場合や設定ファイル自体が存在しない場合には、設定ファイルを修正・作成する必要があります。ファイルの修正・作成後は設定した内容をネットワークインターフェースに反映させるため、「/etc/sysconfig/network」スクリプトをオプション付きで実行します。

オプション 内容
start サービスを開始
stop サービスを停止
restart サービスを再起動
(サービスを停止してから開始)
status サービス状況を表示

ネットワークインターフェースの動作確認

ネットワークインターフェースが機能しているかはpingコマンドで確認できます。pingコマンドの送信元と送信先は下記の図を参考に「講師用 -> 受講者A」や「受講者A -> 講師用」「受講者B -> 受講者A」などのようにあらゆる方向から確認します。

f:id:masayuki_kato:20170702132633j:plain

現時点では講師用のLinuxしか作成していないので、ホストマシンとして利用しているMacのターミナルからpingコマンドを送信して講師用Linuxへの疎通確認をとります。

f:id:masayuki_kato:20170708144359p:plain

hostsファイルの編集

「/etc/hosts」ファイルにネットワークインターフェース(eth0)のIPアドレスと対応する名前の定義を追加します。講師用マシンの場合には「受講者A」と「受講者B」の定義を、受講者Aマシンの場合には「講師用」と「受講者B」の定義といった具合で記載します。

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost4 localhost4.localdomain4

初期設定のhostsファイルは上記のようになっているので「vi」でファイルを開いて下記内容を追加します。

※講師用のマシンの場合

192.168.1.101 host1.alpha.jp host1
192.168.1.102 host2.beta.jp host2

編集が完了したらhostsファイルで指定したホスト名と別名でping疎通できるか確認します。これをホストマシンで確認しようとなると、ホストマシンのhostsファイルを編集する必要があるので、受講者Aと受講者BのLinuxマシンを作成次第確認します。

# ping host0
# ping host1
# ping host2

各環境で上記コマンドでping疎通できるかを確認します。

サービスのポート番号を確認

どのようなネットワークサービスが起動しているかを確認します。

f:id:masayuki_kato:20170708215519p:plain

# netstat -at

netstat -at コマンドを実行すると現在のTCP通信の状態を全て表示します。

f:id:masayuki_kato:20170708215700p:plain

# lsof -i

lsof -i コマンドを実行すると現在開かれている全てのポートを表示します。

Webサーバーの動作確認

Webサーバーを動かしてネットワークインターフェースが動作しているのかを確認しておきます。

必要なパッケージの確認

# rpm -q httpd
httpd-2.2.15-15.el6.centos.x86_64

上記コマンドを実行して「httpd-○○○」のような出力がされず、「パッケージ httpd はインストールされていません。」と出力されたらパッケージのインストールが必要です。

Webサーバーを起動

パッケージが導入されているのを確認したら、WebサービスであるApacheを開始します。

# /etc/init.d/httpd start

f:id:masayuki_kato:20170708220845p:plain

次にApacheの動作確認のためにホストマシン上のWebブラウザからIPアドレスを指定してアクセスしてみます。

※講師用のマシンのIPアドレスの「http://192.168.1.10/」をブラウザ上から入力する。

f:id:masayuki_kato:20170708221144p:plain

これで講師用のマシンの環境設定が完了しました。同様の操作「受講者用A」「受講者用B」のマシンを作成すれば全ての準備は完了です。

次回からはDNSサーバー構築を行っていきます。