各種設定ファイル


Red Hat Linux 7.1J の /etc ディレクトリには、様々な設定ファイルがあります。
ここでは、このうちネットワーク関係の設定ファイルについて簡単に説明します。

・/etc/hosts
このファイルは、ホスト名とIPアドレスの対比表です。
インターネットにおける名前解決の最も基本となるファイルですが、自宅サーバを構築する場合にはBINDの設定も行うでしょうから、このファイルには最低限必要な内容のみとします。
当サーバでの設定内容は次のとおりです。
(1) 127.0.0.1     localhost.localdomain  localhost
(2) 192.168.0.11  ms1.gw.e-ryoichi.net   ms1
すなわち、(1)ループバックネットワークにおけるIPアドレス、ホスト名、エイリアスと(2)サーバマシン自身のIPアドレス、ホスト名、エイリアスです。
(注)(1)、(2)等の番号は、設定ファイルに記述しません。

・/etc/resolv.conf
これは、リゾルバのための設定ファイルです。
リゾルバとは、DNSサービスにおけるクライアントであり、アプリケーションからの名前解決に関する問い合わせをネームサーバへ送信し、ネームサーバからの回答をアプリケーションへ返信します。
当サーバでは、次の設定を行っています。
(1) search gw.e-ryoichi.net cl.e-ryoichi.net
(2) nameserver 192.168.0.11

(3) nameserver 192.168.0.12
(4) nameserver 211.129.12.43
(1)の「search」で始まる行は、名前解決を支持されたホスト名に付加するドメイン名を指定しています。
つまり、ドメイン名を省略してホスト名だけで名前解決を支持すると、ここに記載されているドメイン名を付加して名前解決を行うということです。
ですから、極端に言えばこの行は無くてもよい、ということです。(~_~;)

(2)〜(4)までが、実際に名前解決を行うDNSサーバのIPアドレスです。
当サーバでは、メインマシンの「192.168.0.11」、バックアップマシンの「192.168.0.12」、そして、プロバイダのOCNのDNSサーバ「211.129.12.43」のIPアドレスを記述しています。

・/etc/host.conf
これは、名前解決する場合の順番を指定するファイルです。
特に独自の設定をするものでなく、ほとんどインストールのままで使います。
一応、設定内容を記載しておきます。
(1) order hosts,bind
(2) multi on
(1)のorder で始まる行で名前解決する順番を指定しています。
ここでは、「hosts」、すなわち /etc/hosts で最初に名前解決を行い、見つからなければ「bind」、すなわちDNSサーバである「BIND」に問い合わせすることを指定しています。
(2)は、同一のホストに複数のIPアドレスが割り当てられている場合、その全てを返す指定です。
これとは反対に、「off」を指定すれば、最初に見つかったアドレスだけを返します。

実は、当サーバでは(2)の設定は行っていませんが、特に不自由はしていません。(~_~;)

・/etc/sysconfig/network
このファイルがネットワーク関連の基本設定ファイルといっていいでしょう。
しかし、その設定内容は非常にシンプルなものです。
それでは、早速設定内容を見てみましょう。
(1) NETWORKING=yes
(2) HOSTNAME=ms1.gw.e-ryoichi.net

(3) GATEWAY=192.168.0.1
(1)の「NETWORKING」は、そのホストマシンでネットワークを使用するかどうかを指定します。
サーバを構築する場合、当然「yes」を指定し、「no」を指定することはありません。
(2)の「HOSTNAME」は、そのマシンのホスト名を指定します。
ここで指定されたホスト名が、/etc/rc.d/rc.sysinit 内において hostname コマンドへの引数となります。
(3)の「GATEWAY」で、そのマシンのデフォルトゲートウェイのIPアドレスを指定します。
デフォルトゲートウェイとは、IPパケットをルーティングしたり送信したりする場合に、宛先となるネットワークの情報がルーティングテーブル中にないものを送り出す「出入り口」のことです。

・/etc/sysctl.conf
このファイルはカーネルパラメータの取得や動的な更新を行うプログラムである「sysctl」の設定ファイルです。
このファイルで特に重要な設定は、「net.ipv4.ip_forward = 1」とすることです。
デフォルトの設定では、この値は「0」となっていますが、「1」にしておかないとIPフォワーディングが有効になりません。
当サーバの設定内容は次のとおりです。
(1) # Disables packet forwarding
(2) #re 2001.07.25 default value is 0
(3) net.ipv4.ip_forward = 1
(4) # Enables source route verification
(5) net.ipv4.conf.all.rp_filter = 1
(6) # Disables the magic-sysrq key
(7) kernel.sysrq = 0
(2)は、私が追加したコメント行です。。
修正した年月日と簡単な説明を加え、後に修正の履歴がわかるようにしています。
(3)が、この欄の最初に記述したポイントの行です。
(5)はソースアドレス認証(Source Address Verification)を有効にするための設定で、IP偽装(いわゆるスプーフィング)に対する防御策の一つです。
(7)はいわゆるMagic-sysrqキーを無効にする設定です。
Magic-sysrqキー(神秘のSysRQキー)とは、カーネルは生きいるようだが、shellからのコマンドが効かないときに、あるキーを押してカーネルにリクエストを送ることができるキーのことです。
詳しくは、http://www3.big.or.jp/~sian/linux/tips/sysrq.html とか ttp://www.linux.or.jp/JF/JFdocs/kernel-docs-2.2/sysrq.txt.html 等を参照してください。

・/etc/sysconfig/network-scripts/ifcfg-eth0 (eth1)
これがネットワークインターフェースカード(NIC)の設定ファイルです。
当サーバでは、NICを2枚使用していますので、「eth0」と「eth1」の2つの設定ファイルがあります。
図解すると、こんな感じです。(~_~;)

そして、「eth0」のNICに対する設定ファイルは次のとおりです。
(1) DEVICE=eth0
(2) BOOTPROTO=static
(3) BROADCAST=192.168.0.255
(4) IPADDR=192.168.0.11
(5) NETMASK=255.255.255.0
(6) NETWORK=192.168.0.0
(7) ONBOOT=yes

また、「eth1」のNICに対する設定ファイルは、ほとんど上記の内容と同じですが、次のとおりです。
(1) DEVICE=eth1
(2) BOOTPROTO=static
(3) BROADCAST=192.168.1.255
(4) IPADDR=192.168.1.11
(5) NETMASK=255.255.255.0
(6) NETWORK=192.168.1.0
(7) ONBOOT=yes

特に説明しなくても、なんとなくわかるかと思いますが、一応説明しておきます。(~_~;)
(1)はネットワークインターフェースに対するデバイスの物理名を指定します。
(2)はネットワークインターフェースに対する起動方法を指定します。
指定値と起動方法は次のとおりです。
指定値 起動方法
static IPアドレスなどの指定値を用いて起動する。デフォルト。
bootp BOOTPを用いて設定を行う。
dhcp DHCPを用いて設定を行う。
(3)はブロードキャストアドレスの指定です
そして、(4)がこのネットワークインターフェースのIPアドレスです。(なんか、すごくあたり前のような気が。。。)
(5)はネットマスク、(6)はネットワークアドレス、そして(7)がブート時にこのネットワークインターフェースを起動するかどうかの設定です。
だいぶ、端折りましたが。(~_~;)

まぁ、だいたい以上がネットワーク関係の設定ファイルになるかと思います。
参考になりましたでしょうか。
/etc には、この他に多くの設定ファイルがありますが、それらについては具体的なソフトウェア等と結びつけて記述していくことにします。

back HOME