7.2 ネットワークの設定

ネットワークの設定
 ネットワーク上にはたくさんのコンピュータが存在し, それぞれに情報をやりとりしています. 情報をやりとりするには自分のコンピュータから相手にデータが届くような設定と, 相手から自分のコンピュータが認識できるような設定をしておかなければいけません.また, インターネット上ではソフトウェアのバグなどを利用してウィルスやクラックという外部から悪意のあるプログラムなどが侵入してくることもあります.
 このようにネットワークを利用するためにはいくつかの設定を利用する環境に合わせて設定をおこなう必要があります.
 ここでは主な設定ファイルについて説明します.

ネットワーク全般の設定
 ネットワーク全般に関しては "/etc/sysconfig/network" で設定を行います. /etc/sysconfig/network の中身は次のようになっています.

NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=
FORWARD_IPV4=yes	

 設定項目は次のとおり

NETWORKING これを yes にすることでネットワークのインターフェイスやネットワーク用のソフトウェアを初期化します. NETWORKING は必ず yes にしておきましょう.
HOSTNAME コンピュータの名前を設定します. ここで設定した名前がターミナル上のプロンプトに表示されます. 単にクライアントとして利用する場合は適当な名前でも構いませんがDNS などに名前を登録して公開する場合は管理者に確認してから名前をつける必要があります.
GATEWAY 固定の IP アドレスを利用するときなどに設定します.
FORWARD_IPV4 通常は必要ありませんがコンピュータをルータとして利用するときには yes にする必要があります.

名前解決の設定
 "/etc/hosts" ファイル.

127.0.0.1               localhost.localdomain localhost
192.168.0.1             name.domain name		

 ここでは名前の解決をします. 大規模なネットワークでは DNS(Domain Name Server) という名前と IP アドレスの対応を管理するためのサーバを利用しています. DNS ヘ登録することによって Web のホームページのアドレスなどの名前から設定されている IP アドレスの変換を行うようになっています. 一方, 小規模なネットワークなどでは必要なコンピュータの名前を "/etc/hosts" ファイルに IP アドレスと対応付けをして記述しておくことで名前が利用できます.
 記述方法は 1 行に 1 つの対応を書き,

  IP アドレス   name.domain  alias  
のように記述します. 上の例では IP アドレスが 192.168.0.1 のコンピュータを名前がname.domain でエイリアス名として name と設定しています.この設定によってこのコンピュータでは name という名前で 192.168.0.1 のコンピュータを参照することができます.

DNS の設定
 名前の解決の設定で説明したように大規模なネットワークでは DNS を利用して名前の解決をしています. "/etc/resolv.conf" では利用する DNS の IP アドレスを登録しておきます.

domain localdomain
search localdomain
nameserver 192.168.0.2		

 記述方法は次のとおり.

domain コンピュータが所属しているドメイン名
search ドメイン名を省略したときに自動的に補間されるドメイン名
nameserver 利用する DNS サーバの IP アドレス

 例では所属するドメイン名が localdomain, 名前解決のために補間するドメイン名がlocaldomain 名前解決に利用する DNS の IP アドレスが 192.168.0.2 という設定になっています.

アクセス制限の設定
 他のコンピュータからのアクセスの制限は "/etc/hosts.allow" と"/etc/hosts.deny" ファイルで設定を行います.設定の記述は 1 行毎に
  サービス名: IP アドレス  
を記述します.参照される順番は, ます /etc/hosts.allow が参照され, ここに記述がないものに関しては /etc/hosts.deny を参照してアクセスの許可・拒否が行われます.

 /etc/hosts.allow ではアクセスを許可するアドレスを設定します.

#
# hosts.allow   This file describes the names of the hosts which are
#               allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
proftpd: 192.168.1.102
sshd: 192.168.0.		

 この例では proftod というサービスに対して IP アドレスが 192.168.1.102のコンピュータからのアクセスを許可しています. また sshd というサービスに対しては IPアドレス 192.168.0. (192.168.0.1〜192.168.0.254) のコンピュータからのアクセスを許可しています.

  一方, /etc/hosts.deny ではアクセスを拒否するものを設定します.

#
# hosts.deny    This file describes the names of the hosts which are
#               *not* allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow.  In particular
# you should know that NFS uses portmap!
ALL: ALL		

 この例では, 全てのサービスに対する全てのコンピュータからのアクセスを拒否するようになっています.
 この 2つの設定によって /etc/hosts.allow で許可されたもの以外は拒否するという設定になっています.通常はこの例のように /etc/hosts.deny では全てのサービスのアクセスを拒否し, 必要なものだけを /etc/hosts.allow で記述するほうが安全になります.

ネットワークスーパーサーバの設定
 コンピュータに接続して情報をやりとりするためには接続する先に, 要求を受け入れるためのサービスが動いていなければなりません. Web などを閲覧できるのはデータを持っているサーバが他のコンピュータからの閲覧の要求に答えるためのサービスが動いているからです. しかし, サービスによっては稀にしか要求がないようなものもあります.ネットワークスーパーサーバとは頻繁にアクセスが来ないようなサービスに関して,要求があったときに該当するサービスを起動する仕組みです.これによって, 常時サービスを動作させておく必要がなくなりサーバの負荷が軽減されます.

 以前は inetd というネットワークスーパーサーバが利用されていましたが 最近ではxinetd というネットワークスーパサーバが利用されています. このネットワークスーパーサーバの設定は "/etc/xinetd.conf" で行います

#
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{
        instances               = 60
        loh_type                = SYSLOG authpriv
        loh_on_success          = HOST PID
        loh_on_failure          = HOST
}

includedir /etc/xinetd.d

 これは xinetd の利用を記述しているだけでサービスに対しての設定はディレクトリ/etc/xinetd.d に各サービス毎にファイルを作成して記述しています.

service ftp
{
        disable = no
        socket_type     = stream
        wait    = no
        nice    = 10
        user    = root
        server  = /usr/sbin/proftpd
        instances       = 4
        loh_on_success  += DURATION HOST USERID
        only_from = 192.168.0.1/255
}

 これは ftp についての設定ですが disable の欄を no とすることでこのサービスが利用できるようになっています. また only_from によって IP アドレスが 192.168.0.1〜192.168.0.255 のコンピュータからのアクセスのみ受け付けるようになっています.
 また no_access によって拒否する IP アドレスを指定することも可能です.

 サービスによっては xinetd の設定のみで /etc/hosts.allow と /etc/hosts.denyを参照しないものもあります.